J2EE specification
This topic describes the J2EE specification that is the foundation of the application programming model for WebSphere Application Server. WebSphere programming model extensions add value by extending the J2EE programming model. Read this topic for a brief overview of key J2EE concepts, including the parts of the J2EE runtime environment and J2EE application packaging and deployment.
The J2EE specification is the standard for developing, deploying, and running enterprise applications. The ultimate source of information is the specification, which is available on the Sun Microsystems, Inc., Web site at http://java.sun.com. The WAS documentation provides links and J2EE descriptions for convenience only.
Quick reference: primary J2EE 1.4 specifications
- Java Servlet Specification 2.4
- JavaServer Pages Specification 2.0
- Enterprise JavaBeans Specification 2.1
- Enterprise JavaBeans to CORBA Mapping 1.1
- RMI over IIOP
- Java IDL API
- Web Services for J2EE, V1.1
- SOAP with Attachments API for Java Specification 1.2
- Java API for XML Processing Specification 1.2
- Java API for XML Registries Specification 1.0
- Java API for XML-based RPC Specification 1.1
- JDBC Specifications, 3.0, 2.1, and Optional Package API (2.0)
- Java Connector Architecture (JCA 1.5
- Java Message Service Specification 1.1
- JavaMail API Specification 1.3
- Java Authorization Contract for Containers 1.0
- Java Naming and Directory Interface Specification 1.2.1
- Java Transaction API Specification 1.0.1B
- Java Transaction Service Specification 1.0
- JavaBeans Activation Framework Specification 1.0.2
- For links to the above specifications on the Sun site, see http://java.sun.com/j2ee/1.4/docs/#specs.
- For the related Java API documentation on the Sun site, see http://java.sun.com/j2ee/1.4/docs/api/index.html.
IBM WebSphere Application Server, V6 has completed the full J2EE certification test suite. The product supports all of the J2EE 1.4 APIs. We can check the list of J2EE-compatible products posted by Sun Microsystems at http://java.sun.com/j2ee/compatibility.html.
- For the specifications supported by V6 of this product, which include the J2EE 1.4 specifications and continued support for some earlier specification levels, see the Supported Hardware and Software site.
- For information about specification levels that are deprecated in Version 6, see the Deprecated and removed features.
Java 2 Platform, Enterprise Edition defines a standard that applies to all aspects of designing, developing, and deploying multi-tier, server-based applications. The standard architecture that is 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 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. For more information, see Three-tier architectures.
J2EE platform roles
The J2EE platform also defines a number of distinct roles that are performed during the application development and deployment life cycle:
- The product provider designs and offers the J2EE platform, APIs, and other features that are defined in the J2EE specification for purchase.
- The tool provider offers tools that are 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 that are developed by component providers and assembles them in the form of an enterprise archive (EAR) file.
- The deployer is responsible for deploying an enterprise application into a specific operational environment that corresponds to a J2EE platform product.
- 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 providing the J2EE application with platform-specific artifacts, and on the platform 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 when developing and deploying J2EE applications.
For information about roles that are assumed by this product documentation, see Fast paths for WebSphere Application Server.
J2EE benefits
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 that is based on standard components, services, and clients. The architecture maximizes the write-once, run-anywhere Java technology.
- Services providing integration with existing systems, including Java DataBase Connectivity (JDBC); Java Message Service (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 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 signon 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.
For a description of the programming model of the product, see WebSphere applications: Overview and new features.
Application components and their containers
The J2EE programming model has four types of application components, which reside in these types of containers in the Application Server:
- Enterprise beans - Run by the Enterprise JavaBeans (EJB) container
- Servlets and JavaServer Pages files - Run by the Web container
- Application clients - Run by the application client container
For a description of the product architecture, see Product architecture.
J2EE containers provide runtime 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 that are used for accessing the services. The container can also handle security, resource pooling, state management as well as naming and transaction issues.
Standard services
The J2EE platform provides components with a set of standard services that they can use to interact with each other. See the Sun products Web page for descriptions of each standard service.
J2EE packaging
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 that provides instructions for deploying the application. For product-specific details, see Assembling applications.
See Also
Product architecture
WebSphere applications: Overview and new features