Find JSRs
Submit this Search


Ad Banner
 
 
 
 

JSRs: Java Specification Requests
JSR 58: JavaTM 2 Platform, Enterprise Edition 1.3 Specification

Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1: Identification

Submitting Participant: Sun Microsystems, Inc.

Name of Contact Person: Mark Hapner and Bill Shannon

E-Mail Address: mark.hapner@eng.sun.com and bill.shannon@eng.sun.com

Telephone Number: +1 408 343 1609 and +1 408 343 1980


List of other Participants who endorse this JSR:

  • Sun-Netscape Alliance
  • Bluestone Software
  • Fujitsu
  • 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 1.3.


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 maintenance process.

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 public.

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.

  • Connector Architecture

    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 interoperability standards.

  • 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.

  • 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

    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.

  • Security Enhancements

    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 future release.

  • Management

    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.

  • Deployment

    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 to J2EE.

  • Debugging

    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 architectures.

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

None

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 this work

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
http://java.sun.com/j2ee/docs.html

Java 2 Platform, Enterprise Edition Technical Overview
http://java.sun.com/j2ee/white.html

Java 2 Platform, Standard Edition, v1.2.2 API Specification
http://java.sun.com/products/jdk/1.2/docs/api/index.html

Enterprise JavaBeans Specification, Version 1.1
http://java.sun.com/products/ejb

Enterprise JavaBeans to CORBA Mapping, Version 1.1
http://java.sun.com/products/ejb

JavaServer Pages Specification, Version 1.1
http://java.sun.com/products/jsp

Java Servlet Specification, Version 2.2
http://java.sun.com/products/servlet

JDBC 2.0 API
http://java.sun.com/products/jdbc

JDBC 2.0 Standard Extension API
http://java.sun.com/products/jdbc

Java Naming and Directory Interface 1.2 Specification
http://java.sun.com/products/jndi

Java Message Service, Version 1.0.2
http://java.sun.com/products/jms

Java Transaction API, Version 1.0.1
http://java.sun.com/products/jta

Java Transaction Service, Version 0.95
http://java.sun.com/products/jts

JavaMail API Specification Version 1.1
http://java.sun.com/products/javamail

JavaBeans Activation Framework Specification Version 1.0.1
http://java.sun.com/beans/glasgow/jaf.html

IDL-To-Java Mapping Specification, Object Management Group
http://www.omg.org/corba/clchpter.html

Java-To-IDL Mapping Specification, Object Management Group
http://www.omg.org/corba/clchpter.html

The Java 2 Platform, Enterprise Edition Application Programming Model
http://java.sun.com/j2ee/apm

The SSL Protocol, Version 3.0
http://home.netscape.com/eng/ssl3

JSR-000005 XML Standard Extension Specification
http://www.jcp.org/jsr/detail/5.jsp

JSR-000016 J2EE[tm] Connector Specification -
http://www.jcp.org/jsr/detail/16.jsp

JSR-000019 Enterprise JavaBeans[tm] 2.0 Specification
http://www.jcp.org/jsr/detail/19.jsp



3.2 Explanation of how these items might be used as a starting point for the work

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.