Java Reference
In-Depth Information
Java 2, Enterprise Edition (J2EE)
Overview
The advent of J2EE marked an important evolutionary shift in Java, a shift from treating the language as a series
of APIs to representing it as a development framework. Conceptually, that's exactly what J2EE is—an
architectural framework used to create enterprise applications.
Since the release of JDK 1.1, distributed programming technologies have been a special strength for Java. Sockets,
JDBC, RMI, CORBA—all have offered programmers ways to develop multitier distributed applications.
With the introduction of J2EE, however, the application of these technologies underwent a dramatic
metamorphosis. J2EE went beyond providing APIs for a single form of distributed communication; it defined an
entire model intended to support distributed architectures.
As its name implies, J2EE is substantially more than a single technology. As an “edition,” J2EE represents a
collection of Java technologies that can be used together to implement an architectural model. In this case, the
model is intended to support the development and deployment of large-scale distributed applications.
Core J2EE Concepts
This section covers the core J2EE concepts, after which specific J2EE technologies will be covered.
J2EE Tiers
Fundamentally, the J2EE model is based on four logical units, or tiers, for an enterprise application:
Client tier - Provides a user interface. The client tier can be written in Java, or it can be designed using some
other programming language. In J2EE, the client tier usually communicates with the Web tier using HTTP. In
some J2EE applications, the client tier interacts directly with the EJB or database tiers.
Web tier - Represented by a Web browser or standalone client application, provides enterprise functionality to
an end user. The web tier hosts the Web application, which provides application functionality to clients in the
form of a related set of HTTP-transported content. This is typically scripted documents using technologies like
HTML or XML.
EJB tier (or application server tier) - Acts as host to the object-oriented business model, representing the
application in terms of a related set of objects relating to the problem domain.
The database, or persistence, tier (also known as the Enterprise Information Service tier) - Represents all
enterprise resources for the application, such as databases, legacy applications, or collaborating enterprise
systems.
Of the four tiers, the ones most strongly associated with Java technology are the web tier and application server
tier. Although the other two tiers of the system can potentially leverage Java technology, there is an implicit
assumption that the web server and application server use Java technology if they're part of a J2EE solution.
Core Technical Concepts
Central to the J2EE model are three related technical concepts: components, containers, and connectors. The
component is the basic program unit in J2EE. J2EE advocates the creation of enterprise architectures as a set of
collaborating Java components. There are a few motivations for this:
Components tend to make enterprise systems more flexible and extensible - All other things being equal, it is
much easier to modify a system composed of a set of components than to modify a monolithic architecture.
Components can be standardized - It is easier to enforce a standard coding convention for a specific kind of
component than for a monolithic application, code library, or framework. Doing this makes it easier to develop
components that can plug into other systems, frameworks, and application models. This opens the door for reuse
of parts of an enterprise architecture.
Components can be service-based - We tend to describe applications in terms of what they can do for us.
Moving to object-oriented development, it is natural to refine behavioral characteristics into a set of services to be
 
Search WWH ::




Custom Search