Java 2 Platform, Enterprise Edition: Platform and Component Specifications

Java 2 Platform, Enterprise Edition: Platform and Component Specifications

by Bill Shannon, James Davidson, Mark Hapner, Larry Cable, Vlada Matena
     
 
The Java 2™ Platform, Enterprise Edition (J2EE) defines a new standard in enterprise solutions through a simplified, component-based development model. By extending the "write-once, run-anywhere™" benefits of the Java programming language to enterprise servers, J2EE adds the scalability, robustness, and security required for today's vital e-commerce and

Overview

The Java 2™ Platform, Enterprise Edition (J2EE) defines a new standard in enterprise solutions through a simplified, component-based development model. By extending the "write-once, run-anywhere™" benefits of the Java programming language to enterprise servers, J2EE adds the scalability, robustness, and security required for today's vital e-commerce and enterprise solutions. The Java™ 2 Platform, Enterprise Edition: Platform and Components Specifications defines the architecture for developing applications with J2EE. This volume includes:

Java™ 2 Platform, Enterprise Edition Specification, version 1.2
This specification defines the initial release of the J2EE platform. It discusses application architecture using Java™ Servlets, JavaServer Pages™, Enterprise JavaBeans™, and other technologies. It specifies application access to services such as JDBC™, Java Transaction API, JavaMail™, CORBA connectivity, and others. It also discusses J2EE policies regarding application deployment and security.
Enterprise JavaBeans™ Specification, version 1.1
Enterprise JavaBeans technology provides the standard middle-tier components in the J2EE model. This technology provides simplified support for transaction management and remote object access, and it frees enterprise developers to focus on the business logic of their applications. Version 1.1 of the specification includes a number of enhancements, including mandatory entity beans and XML deployment descriptors.
Java™ Servlet Specification, version 2.2
Java Servlets technology defines a standard for developing server-sidebehaviors in web applications based on the Java programming language. As part of the J2EE specifications, servlets technology supports development of dynamic web content for e-commerce and other enterprise applications.
JavaServer Pages™ Specification, version 1.2
The JavaServer Pages (JSP) technology simplifies the development and deployment of interactive web applications. Using an extensible markup language based on HTML and the Java programming language, JSP defines a server-side mechanism to allow content experts greater freedom in creating and displaying dynamic web content.

Developed with the input of a wide range of industry experts, these specifications define a new standard for resolving many complex issues related to developing, deploying, and managing multi-tier enterprise applications.



Editorial Reviews

Booknews
A specification and reference manual on Java 2 Platform, Enterprise Edition (J2EE) and its component models, for software developers who are building J2EE-compliant products. Part I, the J2EE specification, defines the standard, and Parts II and III describe servlets and JavaServer Pages. Part IV describes Enterprise JavaBeans, the application server component model for the J2EE platform. Shannon is an engineer at Sun Microsystems, He is one of the architects of J2EE. Annotation c. Book News, Inc., Portland, OR (booknews.com)

Product Details

ISBN-13:
9780201704563
Publisher:
Pearson Education
Publication date:
05/26/2000
Series:
Addison-Wesley Java Series
Pages:
800
Product dimensions:
7.42(w) x 9.20(h) x 1.14(d)

Read an Excerpt


Chapter J2EE.2: Platform Overview

J2EE.2.2 Product Requirements

This specification doesn't require that a J2EE product be implemented by a single program, a single server, or even a single machine. In general, this specification doesn't describe the partitioning of services or functions between machines, servers, processes, etc. As long as the requirements in this specification are met, J2EE product providers can partition the functionality however they see fit. A J2EE product must be able to deploy application components that execute with the semantics described by this specification.

A very simple J2EE product might be provided as a single Java virtual machine that supports applets, web components, and enterprise beans simultaneously in one container (although this would be an extreme, and probably rare, case), and application clients each in their own container. A typical low end J2EE product will support applets in one of the popular browsers, application clients each in their own Java virtual machine, and will provide a single server that supports both web components and enterprise beans. A high end J2EE product might split the server components into multiple servers, each of which can be distributed and load-balanced across a collection of machines. This specification does not prescribe or preclude any of these configurations.

In addition, this specification does not describe which of the components that make up a J2EE product must be packaged together in a single product. A vendor of a fully integrated J2EE product might provide a complete package that includes all the software required to provide the J2EE services as well as the underlyingoperating system and even hardware. A more typical J2EE product provider might provide a middleware application server along with components that allow the server to integrate with products from other vendors (e.g., a database, a web server) to provide the complete J2EE product. Some vendors may require that the end customer purchase and integrate significant additional components to create a J2EE product. This specification does not prescribe or preclude any of these approaches. In all cases, it is the responsibility of the J2EE product provider to describe to the customer exactly what to do to create an environment that is J2EEcompatible.

A wide variety of J2EE product configurations and implementations, all of which meet the requirements of this specification, are possible. A portable J2EE application will function correctly when successfully deployed in any of these products.

J2EE.2.3 Product Extensions

This specification describes a minimum set of facilities that all J2EE products must provide. Most J2EE products will provide facilities beyond the minimum required by this specification. This specification includes only a few limits to the ability of a product to provide extensions. In particular, it includes the same restrictions as J2SE on extensions to Java APIs. A J2EE product may not add classes to the Java programming language packages included in this specification, and may not add methods or otherwise alter the signatures of the specified classes.

However, many other extensions are possible. A J2EE product may provide additional Java APIs, either other Java standard extensions or other (appropriately named) packages. A J2EE product may include support for additional protocols or services not specified here. A J2EE product may support applications written in other languages, or may support connectivity to other platforms or applications.

Of course, portable applications will not make use of any platform extensions. Applications that do make use of facilities not required by this specification will be less portable. Depending on the facility used, the loss of portability may be minor or it may be significant. The Java 2 Platform, Enterprise Edition Application Programming Model 1 will help application developers construct portable applications, and will contain advice on how best to manage the use of non-portable code when the use of such facilities is necessary.

In addition, we expect J2EE products to vary widely, and in fact compete, on various quality of service aspects. Different products will provide different levels of performance, scalability, robustness, availability, security, etc. In some cases this specification describes minimum required levels of service. Future versions of this specification may allow applications to describe their requirements in these areas.

J2EE.2.4 Platform Roles

This section describes typical Java 2 Platform, Enterprise Edition roles. Although these roles are considered to be typical, an organization could use slightly different roles to match that organization's actual application development and deployment workflow.

The following sections describe the roles in greater detail. Subsets of some of these roles are defined in the EJB, JSP, and servlet specifications.

J2EE.2.4.1 J2 EE Product Provider

A J2EE product provider, typically an operating system vendor, database system vendor, appl server vendor, or a web server vendor, implements a J2EE product providing the component containers, J2EE platform APIs, and other features defined in this specification. A J2EE product provider must provide the J2EE APIs to the application components through the containers. A product provider frequently bases an implementation on an existing infrastructure.

A J2EE product provider must provide the mapping of the application components to the network protocols as specified by this specification. A J2EE product is free to implement the interfaces that are not specified by this specification in an implementation-specific way.

A J2EE product provider must provide application deployment and management tools...

Meet the Author


Bill Shannon is a Distinguished Engineer at Sun Microsystems, where he is one of the architects of the J2EE. He previously worked on the JavaMail API, the HotJava Views product, the Common Desktop Environment, the Solaris operating system, and all versions of SunOS.

Mark Hapner is Lead Architect for the Java 2 Platform, Enterprise Edition. He participated in the development of the JDBC API, wrote the Java Message Service specification, and co-authored the Enterprise JavaBeans specification.

Vlada Matena is a Distinguished Engineer with the Java Software division of Sun Microsystems Inc., where he works on the J2EE architecture team. He is the Chief Architect of the Enterprise JavaBeans specification, and an architect of the JTS and JTA specifications.

James Davidson is a Staff Engineer at Sun Microsystems, working on web server-related technologies. Before joining Sun, James was involved in building some of the very first e-commerce sites on the World Wide Web.

Eduardo Pelegri-Llopart is the Web Layer Architect for the Java platform, coordinating technical efforts on the Servlet, JSP, and XML layers. He is also the co-spec lead for the JSP 1.0 and JSP 1.1.

Larry Cable is a Senior Staff Engineer with Sun Microsystems where he is the lead architect for the iPlanet Application Server developed jointly by Sun and Netscape.

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >