The J2EE specification
The J2EE specification is the standard for developing, deploying, and running enterprise applications. IBM WAS, V5 has completed the full J2EE certification test suite. WAS supports all of the J2EE 1.3 APIs.
A list of J2EE-compatible products is posted by Sun Microsystems at...http://java.sun.com/j2ee/compatibility.html
The J2EE platform specification describes the run-time environment for a J2EE application, including application components, containers, and resource manager drivers. The elements of this environment communicate with a specified set of standard services.
J2EE platform roles
The J2EE platform also defines a number of distinct roles performed during the application development and deployment life cycle...
- WAS provider designs and offers the J2EE platform, APIs, and other features defined in the J2EE specification for purchase.
- The tool provider provides tools used for the development and packaging of application components as part of the J2EE specifications.
- The application component provider creates Web components, Enterprise Beans, applets, or application clients to use in J2EE applications.
- The application assembler takes a set of components developed by component providers and assembles them in the form of an EAR file.
- 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.
For information about the relationship of IBM WAS roles to J2EE roles, see User roles and activities.
The J2EE specification provides customers a standard which can be used to ensure investment protection when purchasing or developing applications. 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.
- Services providing integration with existing systems, including Java DataBase Connectivity (JDBC); JMS; Java Connector Architecture (JCA); 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 system 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.
Application components and their containers
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 JSP files - Executed by the Web container
- Application clients - Executed by the application client container
- Applets - Executed by the applet container
For thorough descriptions of components and containers that apply specifically to the IBM WAS, see Architectural features.
J2EE containers provide run-time support for 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 that they can use to interact with each other. 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)
- JavaMail API and the JavaBeans Activation Framework (JAF)
- Java Transaction API (JTA and JTS)
- Resource managers
J2EE packagingPerhaps 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.
For more information, including the IBM WAS specifics, see Assembling or packaging.