J2EE Interview Questions
Question: What is J2EE?Answer: J2EE Stands for Java 2 Enterprise Edition. J2EE is an environment for developing and deploying enterprise applications. J2EE specification is defined by Sun Microsystems Inc. The J2EE platform is one of the best platform for the development and deployment of enterprise applications. The J2EE platform is consists of a set of services, application programming interfaces (APIs), and protocols, which provides the functionality necessary for developing multi-tiered, web-based applications. You can download the J2EE SDK and development tools from http://java.sun.com/.
Question: What
do you understand by a J2EE module?
Answer: A J2EE module is a software unit that consists of one or more J2EE components of the same container type
along with one deployment descriptor of that type. J2EE specification
defines four types of modules:
a) EJB
b) Web
c) application client and
d) resource adapter
In the J2EE applications modules can be deployed as stand-alone units. Modules
can also be assembled into J2EE applications.
Question: Tell
me something about J2EE component?
Answer: J2EE component is a
self-contained functional software unit supported by a container
and configurable at deployment time. The J2EE specification defines the
following J2EE components:
- Application
clients and applets
are components that run on the client.
- Java servlet and JavaServer Pages (JSP)
technology components are Web
components that run on the server.
- Enterprise JavaBeans (EJB) components (enterprise
beans) are business components that run on the server. J2EE components are written in the Java
programming language and are compiled in the same way as any program
in the language. The difference between J2EE components and "standard" Java classes is that J2EE components are
assembled into a J2EE application, verified to be well formed and in
compliance with the J2EE specification, and deployed to production,
where they are run and managed by the J2EE server or client
container.
- Source: J2EE v1.4 Glossary
- Source: J2EE v1.4 Glossary
Answer: A web module may contain:
a) JSP files
b) Java classes
c) gif and html files and
d) web component deployment descriptors
Question:
Differentiate between .ear, .jar and .war files.
Answer: These files are simply zipped file using java jar tool. These
files are created for different purposes. Here is the description of these
files:
.jar files: These files are with the .jar extenstion. The .jar files
contains the libraries, resources and accessories files like property files.
.war files: These files are with the .war extension. The war file
contains the web application that can be deployed on the any servlet/jsp
container. The .war file contains jsp, html, javascript and other files for
necessary for the development of web applications.
.ear files: The .ear file contains the EJB modules of the
application.
Question:
What is the difference between Session Bean and Entity Bean?
Answer:
Session Bean: Session is one of the EJBs and it represents a single client inside the Application Server. Stateless session is easy to develop and its efficient. As compare to entity beans session beans require few server resources.
A session bean is similar to an interactive session and is not shared; it can have only one client, in the same way that an interactive session can have only one user. A session bean is not persistent and it is destroyed once the session terminates.
Entity Bean: An entity bean represents persistent global data from the
database. Entity beans data are stored into database.
Question: Why
J2EE is suitable for the development distributed multi-tiered enterprise
applications?
Answer: The J2EE platform consists of multi-tiered distributed application model.
J2EE applications allows the developers to design and implement the business
logic into components according to business requirement. J2EE architecture
allows the development of multi-tired applications and the developed
applications can be installed on different machines depending on the tier in the
multi-tiered J2EE environment . The J2EE application parts are:
a) Client-tier components run on the client machine.
b) Web-tier components run on the J2EE server.
c) Business-tier components run on the J2EE server and the
d) Enterprise information system (EIS)-tier software runs on the EIS servers
Question: Why do
understand by a container?
Answer: Normally, thin-client multi-tiered applications are hard to write because they involve many lines of intricate code to handle transaction and state management, multithreading, resource pooling, and other complex low-level details. The component-based and platform-independent J2EE architecture makes J2EE applications easy to write because business logic is organized into reusable components. In addition, the J2EE server provides
underlying services in the form of a container for every component type. Because you do not have to develop these services yourself, you are free to concentrate on solving the business problem at
hand (Source: http://java.sun.com/j2ee/1.3/docs/tutorial/doc/Overview4.html
).
In short containers are the interface between a component and the low-level platform specific functionality that supports the component.
The application like Web, enterprise bean, or application client component
must be assembled and deployed on the J2EE container before executing.
Question: What
are the services provided by a container?
Answer: The services provided by container are as follows:
a) Transaction management for the bean
b) Security for the bean
c) Persistence of the bean
d) Remote access to the bean
e) Lifecycle management of the bean
f) Database-connection pooling
g) Instance pooling for the bean
Question: What
are types of J2EE clients?
Answer: J2EE clients are the software that access the services
components installed on the J2EE container. Following are the J2EE clients:
a) Applets
b) Java-Web Start clients
c) Wireless clients
d) Web applications