Find JSRs
Submit this Search


Ad Banner
 
 
 
 

Summary  |  Proposal  |  Detail (Summary & Proposal)
JSRs: Java Specification Requests
JSR 313: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification

Stage Access Start Finish
Withdrawn   13 Apr, 2007  
JSR Review Ballot View results 03 Apr, 2007 16 Apr, 2007
Status: Withdrawn
Reason: Withdrawn at the Spec Lead's request during the JSR Approval Ballot.
JCP version in use: 2.6
Java Specification Participation Agreement version in use: 2.0


Description:
This JSR is to develop Java EE 6, a release of the Java Platform, Enterprise Edition targeted to ship in 2008.

Please direct comments on this JSR to the Spec Lead(s)
Team

Specification Leads
  Roberto Chinnici Oracle
Star Spec Lead Bill Shannon Sun Microsystems, Inc.
Expert Group
  Bien, Adam Hookom, Jacob J Oracle
  OW2 Sun Microsystems, Inc.

This JSR has been Withdrawn
Reason: Withdrawn at the Spec Lead's request during the JSR Approval Ballot.

Original Java Specification Request (JSR)

Identification | Request | INSER Contributions

Section 1. Identification

Submitting Member: Sun Microsystems, Inc.

Name of Contact Person: Bill Shannon

E-Mail Address: bill.shannon@sun.com

Telephone Number: +1 408 276 7280

Fax Number: +1 408 276 7191


Specification Lead: Bill Shannon, Roberto Chinnici

E-Mail Address: bill.shannon@sun.com, roberto.chinnici@sun.com

Telephone Number: +1 408 276 7280, +1 415 294 5271

Fax Number: +1 408 276 7191, +1 408 276 7191


Initial Expert Group Membership:

-

Supporting this JSR:

Hani Suleiman
Apache
TmaxSoft
Charlton Barreto
Pramati
Oracle
Kingdee Middleware Co., Ltd.
JBoss (Red Hat Middleware)
Capgemini
BEA
Tmax Soft
Sybase



Section 2: Request

2.1 Please describe the proposed Specification:

This JSR is to develop Java EE 6, a release of the Java Platform, Enterprise Edition targeted to ship in 2008.

In the past 8 years, the Java EE platform has grown and matured, and is now able to cover a wide range of enterprise and web application development needs. In addition, the Java EE platform has fostered a vibrant community and marketplace for additional technologies, frameworks, and applications that work with the platform. Some of these provide facilities that are missing from the platform. Others provide alternatives to platform facilities. A major theme for this release is to embrace and support those technologies as part of the overall Java EE landscape, while also continuing to simplify the platform to better target a wider range of developers. To that end we propose two goals for this release - extensibility and profiles.

Extensibility

It would not be appropriate for the Java EE platform to grow without bound to include all the interesting and useful technologies desired by web and enterprise application developers. Instead, we believe it is desirable to enable more of these technologies to cleanly layer on or plug in to Java EE application servers. By adding more extensibility points and more service provider interfaces, these other technologies can plug in to platform implementations cleanly and efficiently, and be just as easy to use for developers as the facilities that are built into the platform.

Profiles

The reach of the Java EE platform has become so broad that it has lost some of its original focus. To refocus the Java EE platform on particular classes of developers and applications, we propose the introduction of Java EE platform Profiles. Profiles will reference the Java EE platform, as defined by the JCP process, and may include a subset of Java EE platform technologies, additional JCP technologies not part of the base Java EE platform, or both. In addition to defining the base Java EE platform, this specification will define the rules for referencing Java EE platform technologies in Java EE Profiles.

This expert group will also define the first version of a Java EE Web Profile - a subset of the Java EE platform targeted at web application development. This profile will provide a more gentle introduction to the Java EE platform, providing only those technologies needed by most web application developers, without the enterprise technologies that sometimes confuse such developers.

Pruning

The use of profiles is one tool to address the ever increasing size of the Java EE platform. It's also the case that some technologies included in the Java EE platform are no longer as relevant as they were when they were introduced to the platform. There needs to be a way to "prune" these technologies from the platform in a careful and orderly way that minimizes the impact to developers using these technologies while allowing the platform to grow even stronger. We propose to use the process defined by the Java SE expert group. In short, that process defines two steps:

  1. The Umbrella Expert Group (UEG) for release N of the platform decides to propose that a particular feature be removed. The specification for that release documents the proposal.
  2. The UEG for release N+1 decides whether to remove the feature from that release, retain it as a required component, or leave it in the "proposed removal" state for the next UEG to decide.
The result of successfully applying this policy to a feature is not the actual deletion of the feature but rather the conversion of the feature from a required component of the platform into an optional component. No actual removal from the specification occurs, although the feature may be removed from products at the choice of the product vendor.

As defined by that process, this expert group will consider technologies that should be marked for possible removal in a future Java EE platform specification. Possibilities include:

  • EJB CMP - effectively replaced by Java Persistence
  • JAX-RPC - effectively replaced by JAX-WS
This specification will only define the technologies that a future expert group may consider to make optional in a future platform specification, as described in the first step of the process. None of these technologies will be made optional in this release.

SOA Support

The Java EE platform is already widely used for SOA applications. As more and more enterprises realize the benefits of a SOA architecture, requirements on the platform have increased, both in terms of functionality and interoperability.

J2EE 1.4 delivered basic web services support, including support for the WS-I Basic Profile, for the Java platform. Java EE 5 delivered additional web services support. Web service standards continue to evolve and it is critical that the Java platform support the latest web service standards. Java EE 6 will need to consider additional web services support. While basic web services support is now part of the Java SE 6 platform, this specification will require newer versions of these technologies that provide additional web services support.

The Service Component Architecture is defining facilities that could be used by composite applications in a SOA environment. This expert group will consider whether any of the SCA-defined facilities are appropriate for inclusion in this release of the Java EE platform.

Other Additions

Java EE 5 represented a major step forward in making it easier to develop applications for the Java EE platform. Additional improvements in this area are expected in this release.

This JSR will not itself define any new APIs, rather it will enumerate APIs defined in other JSRs or through the JCP maintenance process.

Java EE 6 is the Enterprise Edition of version 6 of the Java platform, and thus will be built on Java SE 6.

We propose to include the following new JSRs in Java EE 6:

  • JSR-196 Java Authentication SPI for Containers
  • JSR-236 Timer for Application Servers
  • JSR-237 Work Manager for Application Servers
  • JSR-299 Web Beans
  • JSR-311 JAX-RS: Java API for RESTful Web Services

In addition, we expect to update the following existing technologies for Java EE 6:

  • Enterprise JavaBeans
  • Java Persistence API
  • Servlets
  • JavaServer Faces
  • JAX-WS

The exact set of technologies to be included will be determined by the expert group and will be based on partner and customer requirements.

Deferred

Consideration of the following JSRs, while important to the Java EE community, will be deferred to future Java EE Profiles:

  • JSR-168 Portlet Specification
  • JSR-170 Content Repository for Java technology API
  • JSR-207 Process Definition for Java
  • JSR-208 Java Business Integration (JBI)
  • JSR-225 XQuery API for Java (XQJ)
  • JSR-235 Service Data Objects
  • JSR-286 Portlet Specification 2.0
  • JSR-289 SIP Servlet v1.1
  • JSR-301 Portlet Bridge Specification for JavaServer Faces

To better support the extensibility goals of the platform it would be useful to have a more general concept of modules. Such work is underway in JSR-277 - Java Module System, which is targeted for Java SE 7. We anticipate that Java EE 7 will build on that technology and thus we will defer specification of any potentially conflicting technology to a future release.

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

This specification defines a release of the Java EE platform.

2.3 The Executive Committees would like to ensure JSR submitters think about how their proposed technology relates to all of the Java platform editions. Please provide details here for which platform editions are being targeted by this JSR, and how this JSR has considered the relationship with the other platform editions.

This JSR updates a platform edition and defines how profiles may be created based on that platform edition.

Should this JSR be voted on by both Executive Committees?

No. SE/EE EC Only.

2.5 What need of the Java community will be addressed by the proposed specification?

Java EE 6 will extend the capabilities of the Java EE platform to include many new technologies under development in the JCP.

2.6 Why isn't this need met by existing specifications?

While existing (in progress) specifications provide the base capabilities, no other specification can unite these components into a coherent Java platform.

2.7 Please give a short description of the underlying technology or technologies:

A detailed description of Java EE functionality can be found in the Java EE Specification, http://java.sun.com/javaee/download.html#platformspec.

2.8 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)

The Java EE platform itself does not require a package name. All of its requirements are reflected in the packages of its constituent Java APIs.

2.9 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?

No.

2.10 Are there any security issues that cannot be addressed by the current security model?

Java EE 6 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 Java SE 6.

In addition, Java EE 6 will define additional Service Provider Interfaces, including those that allow security technology vendors to integrate with Java EE application servers.

2.11 Are there any internationalization or localization issues?

Java EE uses the I18N support in Java SE and defined in constituent technologies.

2.12 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?

Other than the Java EE specification itself and the new versions of its constituent component models and access APIs, Java EE 6 should not require other existing specifications to be revised. Java EE 6 may recommend deprecation of some items as described above under "Pruning".

2.13 Please describe the anticipated schedule for the development of this specification.

We hope to deliver the final specification, reference implementation, and TCK in the fall of 2008. This implies that the specification must reach Proposed Final Draft by early 2008. A rough schedule would be:

Apr 2007 Expert group formed
Jun 2007 First expert draft
Oct 2007 Community review
Dec 2007 Public Review
Feb 2008 Proposed final draft
Q1 2008 RI beta release
Q3 2008 Final release

2.14 Please describe the anticipated working model for the Expert Group working on developing this specification.

The primary means of communication will be email, with conference calls and face-to-face meetings scheduled as needed.

2.15 It is important to the success of the community and each JSR that the work of the Expert Group be handled in a manner which provides the community and the public with insight into the work the Expert Group is doing, and the decisions that the Expert Group has made. The Executive Committees would like to ensure Spec Leads understand the value of this transparency and ask that each JSR have an operating plan in place for how their JSR will address the involvement of the community and the public. Please provide your plan here, and refer to the Spec Lead Guide for a more detailed description and a set of example questions you may wish to answer in your plan.

The code for the Reference Implementation for all Sun-led components will be developed as part of the open source GlassFish Project. In addition, new features of the JCP web site will be used to keep the community up to date on the progress of the specification.

2.16 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.

The RI and TCK for Java EE 6 will be delivered in the same way they were delivered for Java EE 5. The RI and TCK for the Java EE 6 Web Profile will be delivered in a similar manner.

2.17 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).

N/A

2.18 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.

Java Platform, Enterprise Edition

Pursuant to Section 2.2.1 of the Java Community Process version 2.6, the following is a summary of Sun's anticipated principal license terms and conditions for Java Platform, Enterprise Edition 6.

Non-Commercial Use

The Java EE 6 Compatibility Test Suite (CTS) is expected to be licensed at no charge to qualified not-for-profit entities in accordance with the terms of the Compatibility Testing Scholarship Program. Support may also be provided with approval of the scholarship board. For more information, please refer to: http://java.sun.com/scholarship/.

Reference Implementation (RI) source and binary are expected to be available at no cost under an open source license.

Commercial Use

Covers all use that doesn't fall under "Non-Commercial Use" above.

Compatibility Fee

A Compatibility license is available to commercial users which includes access to the CTS and brand licensing.

Java EE Brand Maintenance is expected to be available at a flat yearly fee or as a percentage of product revenue.

Support

CTS Support is required for commercial use and is expected to be sold in increments for a yearly fee. CTS Support includes updates and upgrades to the CTS at no additional charge.

RI and CTS

Java EE 6 RI and CTS are expected to be made available to Sun's existing Java EE licensees for such technology according to their existing licensing terms.

The RI sources and binary will also be made available at no cost under an open source license.

Java Platform, Enterprise Edition Web Profile

Pursuant to Section 2.2.1 of the Java Community Process version 2.6, the following is a summary of Sun's anticipated principal license terms and conditions for Java Platform, Enterprise Edition 6 Web Profile.

Non-Commercial Use

The Java EE 6 Web Profile Technology Compatibility Kit (TCK) is expected to be licensed at no charge to qualified not-for-profit entities in accordance with the terms of the Compatibility Testing Scholarship Program. Support may also be provided with approval of the scholarship board. For more information, please refer to: http://java.sun.com/scholarship/.

Reference Implementation (RI) source and binary are expected to be available at no cost under an open source license.

Commercial Use

Covers all use that doesn't fall under "Non-Commercial Use" above.

Compatibility Fee

A Compatibility license is available to commercial users which includes access to the TCK and brand licensing.

Java EE Web Profile Brand Maintenance is expected to be available at a flat yearly fee or as a percentage of product revenue.

Support

TCK Support is required for commercial use and is expected to be sold in increments for a yearly fee. TCK Support includes updates and upgrades to the TCK at no additional charge.

RI and TCK

Java EE 6 Web Profile TCK is expected to be made available to Sun's existing Java EE licensees for such technology according to their existing licensing terms.

The RI sources and binary will also be made available at no cost under an open source license.





Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.

Java Platform, Enterprise Edition Specification Version 5, and related specifications
http://jcp.org/en/jsr/detail?id=244

Java Platform, Standard Edition, v6 API Specification
http://java.sun.com/javase/6/docs/api/index.html

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

These specifications will be the basis for Java EE 6.