Find JSRs
Submit this Search


Ad Banner
 
 
 
 

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

Stage Access Start Finish
Final Release Download page 10 Dec, 2009  
Final Approval Ballot View results 17 Nov, 2009 30 Nov, 2009
Proposed Final Draft Download page 06 Oct, 2009  
Public Review Ballot View results 17 Feb, 2009 23 Feb, 2009
Public Review Download page 22 Jan, 2009 23 Feb, 2009
Early Draft Review Download page 23 Oct, 2008 22 Nov, 2008
Expert Group Formation   17 Jul, 2007 07 Oct, 2007
JSR Review Ballot View results 03 Jul, 2007 16 Jul, 2007
Status: Final
JCP version in use: 2.7
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 William Shannon Oracle
Expert Group
  BEA Systems Bien, Adam Blevins, David
  Divakaran, Rejeev Ericsson AB Genender, Jeff
  Goncalves, Antonio IBM Keil, Werner
  Kohen, Elika S. Leme, Felipe NCsoft Corporation
  Oracle OW2 Peking University
  Pramati Technologies Rahman, Reza Red Hat
  SAP SE SpringSource Suleiman, Hani
  Sun Microsystems, Inc. Sybase TmaxSoft, Inc.
  TongTech Ltd

Original Java Specification Request (JSR)

INSERT Identification | Request | 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


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
  • Sybase
  • Felipe Leme
  • Interface21
  • IBM



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
  • Java EE Connector API

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.

This expert group will also define a Profile based on this 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 by the end of 2008. This implies that the specification must reach Proposed Final Draft by early 2008. A rough schedule would be:

Jul 2007 Expert group formed
Aug 2007 First expert draft
Oct 2007 Early Draft Review
Dec 2007 Public Review
Mar 2008 Proposed Final Draft
Q2 2008 RI beta release
Q4 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.

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.

Java EE licensing terms have not changed. Sun has no plans to introduce changes to the existing license terms for Java EE and previously J2EE. We do not intend to place any additional restrictions on this license.

There is one new item in the business terms regarding the new Java EE Web Profile. All aspects of the Java EE 6 Web Profile will be available for use by Java EE licensees under the terms of their license, with no new restrictions imposed. The creation of the Web Profile was inspired by feedback from the Java EE licensees. The intent of the Web Profile is to expand the market and community for Java EE by lowering the barrier to entry. Licensees will have the option of providing a complete Java EE compatible implementation or a subset by providing a compatible Web Profile. Any additional Java EE subset profiles will also be available to Java EE licensees under their Java EE business terms.

Non-Commercial Use

As required by the Java Specification Participation Agreement (JSPA), the Java EE 6 Compatibility Test Suite (CTS) will be licensed at no charge without support to qualified not-for-profit entities. Such qualification will be verified by the Compatibility Testing Scholarship Program. Support may also be provided at no charge with approval of the scholarship board. For more information, please refer to: http://java.sun.com/scholarship/.

Reference Implementation (RI) source and binary will 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

There are two Compatibility licenses available to commercial users which include access to the CTS and brand licensing.

Option 1: Java EE Brand Maintenance without the RI, for a flat fee of $350K per year per Marketed Product*. To promote broader distribution of the Java EE technology, companies may alternatively elect to pay $100K plus a Compatibility fee of 2% of Adjusted Revenues* per year, subject to an annual cap of $700K per year per Marketed Product.

Option 2: Java EE Brand Maintenance with redistribution rights to the RI for a flat fee of $500K per year per Marketed Product. To promote broader distribution of the Java EE technology, companies may alternatively elect to pay $100K plus a Compatibility fee of 3% of Adjusted Revenues per year, subject to an annual cap of $1,000K per year per Marketed Product.

Support

CTS Support is required for commercial use, and will be sold in increments of 10 hours/week of compatibility testing support for a fee of $135K per year. CTS Support includes updates and upgrades to the CTS at no additional charge.

Reference Implementation Source support is available in 20 hours/week increments for a fee of $200K per year.

RI and CTS

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

The RI source and binary will also be made available for commercial use at no cost without support under an open source license.

Definitions

For purposes of these terms:

Marketed Product is intended to describe a licensee's product that has its own differentiation and marketing collateral. It may comprise one price list entry, or in some cases multiple entries (for example, to account for different localizations or delivery packaging). By way of example, in terms of Sun's product line we wouldn't consider Sun's Java System Application Server to be a Marketed Product, but Sun's Java System Application Server Platform Edition, Standard Edition, and Enterprise Edition are three Marketed Products. Sun's Java Studio Enterprise is a fourth Marketed Product.

Adjusted Revenues is intended to include all gross corporate revenue related to Marketed Products, and includes without limitation both licensing and services.

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.

All aspects of the Java EE 6 Web Profile will be available for use by Java EE licensees under the terms of their license, with no new restrictions imposed. The creation of the Web Profile was inspired by feedback from the Java EE licensees. The intent of the Web Profile is to expand the market and community for Java EE by lowering the barrier to entry. Any additional Java EE subset profiles will also be available to Java EE licensees under their Java EE business terms.

Non-Commercial Use

As required by the Java Specification Participation Agreement (JSPA), the Java EE 6 Web Profile Technology Compatibility Kit (TCK) will be licensed at no charge without support to qualified not-for-profit entities. Such qualification will be verified by the Compatibility Testing Scholarship Program. Support may also be provided at no charge with approval of the scholarship board. For more information, please refer to: http://java.sun.com/scholarship/.

Reference Implementation (RI) source and binary will 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. TCK and brand licensing for the Java EE 6 Web Profile will be made available to Sun's Java EE licensees according to their Java EE licensing terms.

For new licensees, Java EE Web Profile Brand Maintenance will be available at a flat fee of $280K per year per Marketed Product*. To promote broader distribution of the Java EE Web Profile technology, companies will be able to alternatively elect to pay $80K plus a Compatibility fee of 2% of Adjusted Revenues* per year, subject to an annual cap of $560K per year per Marketed Product.

Support

TCK Support is required for commercial use and will be sold in increments of 10 hours/week of compatibility testing support for a fee of $135K per year. TCK Support includes updates and upgrades to the Web Profile TCK at no additional charge.

RI and TCK

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

The RI sources and binary will also be made available for commercial use at no cost without support under an open source license.

Definitions

For purposes of these terms:

Marketed Product is intended to describe a licensee's product that has its own differentiation and marketing collateral. It may comprise one price list entry, or in some cases multiple entries (for example, to account for different localizations or delivery packaging). By way of example, in terms of Sun's product line we wouldn't consider Sun's Java System Application Server to be a Marketed Product, but Sun's Java System Application Server Platform Edition, Standard Edition, and Enterprise Edition are three Marketed Products. Sun's Java Studio Enterprise is a fourth Marketed Product.

Adjusted Revenues is intended to include all gross corporate revenue related to Marketed Products, and includes without limitation both licensing and services.





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.