|24 Sep, 2001
|Final Approval Ballot
|21 Aug, 2001
|04 Sep, 2001
|Proposed Final Draft 4
|19 Jul, 2001
|Proposed Final Draft 3
|09 Apr, 2001
|Proposed Final Draft 2
|14 Feb, 2001
|Proposed Final Draft
|25 Oct, 2000
|16 Aug, 2000
|15 Sep, 2000
|05 Jun, 2000
|05 Jul, 2000
|19 Feb, 2000
|14 Mar, 2000
|12 Feb, 2000
|18 Feb, 2000
JCP version in use: 2.1
Java Specification Participation Agreement version in use: 1.0
Defines the JavaTM 2 Platform, Enterprise Edition, version 1.3.
Please direct comments on this JSR to the Spec Lead(s)
|Sun Microsystems, Inc.
|Persistence Software Inc.
|Sun Microsystems, Inc.
Original Java Specification Request (JSR)
Section 1: Identification
Submitting Participant: Sun Microsystems, Inc.
Name of Contact Person: Mark Hapner and Bill Shannon
Telephone Number: +1 408 343 1609 and +1 408 343 1980
List of other Participants who endorse this JSR:
- Sun-Netscape Alliance
- Bluestone Software
- IONA Technologies
- Informix Software
- Persistence Software
- Silverstream Software
- Sybase, Inc.
Projected expert group will include experts from:
- application server vendors and container providers
- enterprise tool vendors
- enterprise application vendors
The partners that participated in the definition of J2EE 1.2 have
expressed strong interest in participating in the expert group for J2EE
Section 2: Request
This JSR is to develop J2EE 1.3, the next release of the Java 2
Platform, Enterprise Edition, targetted to ship in 2000.
This JSR will not itself define any new APIs, rather it will
enumerate APIs defined in other JSRs or through the JCP
A major theme for the next version of J2EE will be to include
technologies requested for J2EE 1.2, but which were not
ready in time for that release.
The JSR expert group will define a specification consisting of a
target feature and API set for J2EE 1.3. This target list will be
further refined during participant review and public review and
will become the target feature set for the J2EE 1.3 release. The
goal is that the J2EE 1.3 release will include this full target set,
but depending on implementation and API design schedules some
items may be deferred to a later release if they are unable to
make the release schedule for J2EE 1.3. The final specification
will reflect the final J2EE 1.3 deliverables.
2.1 Target Java platform
This specification defines the next release of the J2EE Platform.
2.2 Need of the Java Community that this work addresses
J2EE 1.3 will extend J2SE 1.3 with a full set of facilities for the
development, deployment and execution of multi-tier, server-centric
applications. These facilities include Enterprise JavaBeansTM, Java
Server Pages, and Servlet component models; and JDBC, JavaMail,
JMS, and the new Connector APIs for accessing existing enterprise services.
The purpose of J2EE 1.3 is to address a number of open areas in J2EE 1.2
where further support has been requested by the J2EE partners and the
The areas we intend to address include, but are not limited to,
those listed below. This represents our initial proposal for the
contents of J2EE 1.3, which will be refined by the expert group
in the usual manner.
Enhancements to Constituent Java Technologies
J2EE 1.3 will define the specific versions of the its constituent Java
technologies that are required by this version of J2EE. J2EE 1.3 will
require new versions of many of these technologies. Specification of the
content of these new versions will be done under a number of separate
JSRs. Several of these are listed here; several more will be submitted
in the near future.
Java Message Service
Providing a JMS service provider is optional for J2EE 1.2. It will become
a requirement for J2EE 1.3.
The development of the Connector Architecture for the integration of
existing enterprise information systems with J2EE containers is
currently under way as JSR-000016. It is expected that this work will be
completed in time for inclusion in J2EE 1.3. The Connector work is
likely to depend on functionality provided by the Java Authentication
and Authorization Service (JAAS). To satisfy this dependency JAAS will
likely become a J2EE 1.3 requirement.
Enterprise JavaBeans 2.0
Work to enhance the EJB 1.1 specification is being accomplished under
JSR-000019. It is expected that this work will be completed in time for
inclusion in J2EE 1.3. This work includes EJB/JMS integration,
enhancements to EJB Container Managed Persistence for entity beans, the
definition of a finder query language for entity beans, the addition of
application specific home interface methods, and, the definition of EJB
Java Server Pages and Servlets
Some of the enhancements planned for JSP 1.2 and Servlets 2.3 are the
definition of a standard tag library, enhanced buffering support,
support for XSLT output filters, WebDAV and WAP support, and enhanced
support for XML.
J2EE 1.2 does not require support for XML. It is expected that
sufficient progress on JSR-000005 will have been achieved in time for it
to be made a J2EE 1.3 requirement.
XML Data Binding
Work is underway to define a high level Java data binding for the
forthcoming XML Schema standard. This work is being done under
JSR-000031. If it is available in time for J2EE 1.3, support for it may
become a requirement.
SQLJ is a preprocessor based mechanism for embedding SQL statements in a
Java source that produces class files that run using either a standard
JDBC enabled database or, if provided, a database specific optimizer.
The JDBC option requires a SQLJ Java language runtime. J2EE 1.3 will
require that all J2EE containers, with the exception of the applet
container, provide the SQLJ runtime.
J2EE 1.2 defines a basic architecture for declarative authentication and
authorization. There have been requests to provide more flexible control
of these in J2EE 1.3.
Business to Business
One of the primary targets of the J2EE Platform is ecommerce and, in
particular, B to B applications. This is an area of intense activity for
the industry and many efforts are currently underway to define B to B
enhancements to the basic web technologies that are currently available.
If appropriate new standards emerge in this area they will be considered
for inclusion in J2EE 1.3.
The following technology areas, while important to J2EE, are unlikely
to meet the schedule requirements of J2EE 1.3 and may be deferred to a
J2EE 1.2 does not define how J2EE compatible containers/servers are
managed. There have been requests for adding the requirement for a
standard container/server management mechanism to J2EE.
Although J2EE 1.2 defines a standard packaging format for applications,
it does not define an API for automating the deployment of applications.
There have been requests from tool vendors to add such a deployment API
J2EE 1.2 does not define a standard way of interposing a Java debugger
on a J2EE compatible container/server. There have been requests from
tool vendors to add such a debugging API to J2EE. Since J2SE 1.2
already defines a Java VM level debugging API, the API defined here
would only contain the minimal extensions necessary for its use in the
context of a J2EE container/server.
2.3 Explanation of why the need isn't met by existing specifications
As discussed above, these areas are largely unspecified in J2EE
1.2. Consequently, J2EE server vendors and tool vendors that offer
support in these areas must necessarily do so using vendor-specific
2.4 Specification to be developed and how it addresses the need
This extension and revision to the J2EE 1.2 specification is
intended to address these needs in the ways described above.
2.5 Detailed description of the underlying technology or technologies
A detailed description of J2EE 1.2 functionality can be found in the
J2EE 1.2 Specification, http://java.sun.com/j2ee/download.html.
2.6 Proposed package name for API Specification
The J2EE Platform itself does not require a package name. All of its
requirements are reflected in the packages of its constituent Java APIs.
2.7 Security implications
J2EE 1.3 addresses mechanisms and policies required for secure usage of
its constituent component models and access APIs. These mechanisms must
be compatible with the security facilities of J2SE 1.3.
2.8 Internationalization implications
J2EE uses the I18N support in J2SE.
2.9 Localization implications
2.10 Risk assessment (impact of work on target platform, impact if work
not carried out, difficulties in carrying out RI and/or CTS)
In the absence of this specification, it is highly likely that J2EE
container providers will develop container-specific mechanisms to
support the facilities listed in section 2.2 of this document. If this
occurs it will limit the portability of J2EE applications and tools.
Since J2EE is a critically important foundation for developing
enterprise applications, the vendors delivering J2EE products require
that J2EE 1.3 be a stable, incremental and timely evolution of J2EE 1.2.
Failure to insure backward compatibility of J2EE 1.2 applications or
failure to deliver J2EE 1.3 in a timely manner could negatively effect
continued support and use of J2EE.
2.11 Existing specifications that might be rendered obsolete or
deprecated by this work
A primary goal of J2EE is backward compatibility of J2EE applications.
All J2EE 1.2 applications that stay within the bounds of the J2EE 1.2
Platform specification must be compatible with J2EE 1.3.
2.12 Existing specifications that might need revisions as a result of
Other than the J2EE specification itself and the new versions of its
constituent component models and access APIs, J2EE 1.3 should not
require other existing specifications to be revised.
Section 3: Contributions
3.1 List of relevant existing documents:
Java 2 Platform, Enterprise Edition Specification Version 1.2
Java 2 Platform, Enterprise Edition Technical Overview
Java 2 Platform, Standard Edition, v1.2.2 API Specification
Enterprise JavaBeans Specification, Version 1.1
Enterprise JavaBeans to CORBA Mapping, Version 1.1
JavaServer Pages Specification, Version 1.1
Java Servlet Specification, Version 2.2
JDBC 2.0 API
JDBC 2.0 Standard Extension API
Java Naming and Directory Interface 1.2 Specification
Java Message Service, Version 1.0.2
Java Transaction API, Version 1.0.1
Java Transaction Service, Version 0.95
JavaMail API Specification Version 1.1
JavaBeans Activation Framework Specification Version 1.0.1
IDL-To-Java Mapping Specification, Object Management Group
Java-To-IDL Mapping Specification, Object Management Group
The Java 2 Platform, Enterprise Edition Application Programming Model
The SSL Protocol, Version 3.0
JSR-000005 XML Standard Extension Specification
JSR-000016 J2EE[tm] Connector Specification -
JSR-000019 Enterprise JavaBeans[tm] 2.0 Specification
3.2 Explanation of how these items might be used as a starting point for
These specifications (with the exception of the listed JSRs) are the
basis for J2EE 1.2. These or their subsequent versions will be the basis
for J2EE 1.3.
The functionality of the listed JSRs are expected to define new
requirements for J2EE 1.3.