| < Day Day Up > |
|
The Java 2 platform Enterprise Edition (J2EE) specification is the standard and the approach for developing, assembling, deploying, running and managing multi-tier server-centric enterprise applications. It defines a set of coordinated specifications that applies to all aspects of architecture and developing large-scale applications. In general, J2EE encourages the adoption of a multiple-tier architecture and a strict separation between business logic and the presentation tier.
The standard architecture defined by the J2EE specification is composed of the following elements:
Standard application model for developing multi-tier applications
Standard platform for hosting applications
Compatibility Test Suite (CTS) for verifying that J2EE platform products comply with the J2EE platform standard
Reference implementation providing an operational definition of the J2EE platform
The J2EE platform specification describes the run-time environment for a J2EE application. This environment includes application components, containers, and resource manager drivers. The elements of this environment communicate with a specified set of standard services. Figure 2-1 on page 21 shows the basic J2EE architecture and the logical relationships between architectural elements.
Figure 2-1: J2EE architecture
IBM WebSphere Application Server Version 5 is a fully J2EE compatible product. It has completed the full J2EE certification test suite. The product supports all of the J2EE 1.3 APIs, and exceeds many with its extensions. You can check the list of J2EE-compatible products posted by Sun Microsystems at:
http://java.sun.com/j2ee/compatibility.html
The J2EE platform also defines a number of distinct roles performed during the application development and deployment life cycle:
The J2EE Product Provider is the implementor and supplier of a J2EE product that includes the component containers, J2EE platform APIs, and other features that define the J2EE specification.
The Application Component Provider creates Web components, enterprise beans, applets, or application clients to be used in J2EE applications.
The Application Assembler takes a set of components developed by component providers and assembles them in the form of an enterprise archive (EAR) file.
The Tool Provider provides tools used for the development and packaging of application components.
The Deployer is responsible for deploying an enterprise application into a specific operational environment.
The System Administrator is responsible for the operational environment in which the application runs.
Product providers and tool providers have a product focus. Application component providers and application assemblers focus on the application. Deployers and system administrators focus on the run time.
These roles help identify the tasks and people involved. Understanding this separation of roles is important, because it helps to determine the approach to take when developing and deploying J2EE applications.
The J2EE specification provides customers a standard by which to compare J2EE offerings from vendors and develop applications that run on any J2EE-compliant platform. Comprehensive, independent Compatibility Test Suites ensure vendor compliance with J2EE standards.
Some benefits of deploying to a J2EE-compliant architecture include:
A simplified architecture based on standard components, services, and clients, that takes advantage of the write-once, run-anywhere Java technology.
J2EE containers provide for the separation of business logic from resource and life cycle management, which means that developers can focus on writing business logic and simplify their development.
Services providing integration with existing systems, including Java Database Connectivity (JDBC), Java Message Service (JMS), Java Interface Definition Language (Java IDL), the JavaMail API, and Java Transaction API (JTA and JTS) for reliable business transactions.
Scalability to meet demand, by distributing containers across multiple systems and using database connection pooling, for example.
A better choice of application development tools and components from vendors providing standard solutions.
A flexible security model that provides single sign-on support, integration with legacy security schemes, and a unified approach to securing application components.
The J2EE specifications are the result of an industry-wide effort that involves a large number of contributors. IBM has contributed in defining more than 80 percent of the J2EE APIs.
The J2EE programming model has four types of application components, which reside in four types of containers in the Application Server:
Enterprise JavaBeans - Executed by the EJB container
Servlets and JavaServer Pages files - Executed by the Web container
Application clients - Executed by the application client container
Applets - Executed by the applet container
For more descriptions of components and containers that apply specifically to the IBM WebSphere Application Server, see "Architectural features" on page 33.
J2EE containers provide the run-time support of the application components. There must be one container for each application component type in a J2EE application. By having a container between the application components and the set of services, the J2EE specification can provide a federated view of the APIs for the application components.
A container provides the APIs to the application components used for accessing the services. It can also handle security, resource pooling, state management, as well as naming and transaction issues.
The J2EE platform provides components with a set of standard services. See the Sun Web page http://java.sun.com/products/ for descriptions of each standard service:
HTTP and HTTPS
Java Transaction API (JTA)
Remote Method Invocation/Internet Inter-ORB Protocol (RMI/IIOP)
Java Interface Definition Language (Java IDL)
Java DataBase Connectivity (JDBC) API
Java Message Service (JMS)
Java Naming and Directory Interface (JNDI)
JavaMail API and the JavaBeans Activation Framework (JAF)
Java API for XML Parsing (JAXP)
J2EE Connector Architecture
Resource managers
Java Authentication and Authorization Service(JAAS)
Perhaps the most significant change introduced by the J2EE specification is how application components are packaged for deployment.
During a process called assembly, J2EE components are packaged into modules. Modules are then packaged into applications. Applications can be deployed on the Application Server. Each module and application contains a J2EE deployment descriptor. The deployment descriptor is an XML file providing instructions for deploying the application.
The ultimate source of J2EE information is the specification available from the Sun Microsystems Web site (http://java.sun.com). For more information about J2EE, including the list of the specification levels that comprise the J2EE 1.3 specification, see http://java.sun.com/j2ee/1.3/docs/#specs.
| < Day Day Up > |
|