As required by the Java Specification Participation Agreement (JSPA), the TCK will be licensed at no charge without support to qualified not-for-profit. The Compatibility Testing Scholarship Program will verify such qualification. Support may also be provided at no charge with approval of the scholarship board. For more information, please refer to:http://www.oracle.com/technetwork/java/index-137188.html

2012.11.29:

2.1 Please describe the proposed Specification:

This JSR is to develop Java EE 7, the next release of the Java Platform, Enterprise Edition.

The main focus of this release is on enhanced simplification,
productivity, and support for HTML 5. Since its inception, the Java
EE platform has been targeted at offloading the developer from common
infrastructure tasks through its container-based model and abstraction
of resource access. In recent releases the platform has considerably
simplified the APIs for access to container services while broadening
the range of the services available. In this release we aim to
continue the direction of improved simplification, while extending the
range of the Java EE platform to encompass emerging technologies in
the web space.

- Latest web standards -

We expect the Java EE 7 platform to add first-class support for recent
developments in web standards, including HTML5, Web Sockets, and
JSON. It will also include a modern HTTP client API as defined by the
JAX-RS 2.0 JSR.

- Ease of development -

On the ease of development front, Java EE 7 will include a revised
and greatly simplified JMS 2.0 API.

The CDI dependency injection facility introduced in Java EE 6 will be
enhanced as well as more broadly utilized by the Java EE platform
technologies.

We expect the managed bean model to be further refined and expanded so
as to remove as many inconsistencies as possible across Managed Beans,
EJB, Servlets, JSF, CDI and JAX-RS. As an example, we plan to make
available the declarative transaction functionality introduced by EJB
in a more general way through CDI interceptors, so that it may be
leveraged by other managed beans.

We expect to expand the scope of the ease of use facility of Bean
Validation, extending it to the automatic validation of method
invocations and integrating it with the CDI interceptor facility.

Ease of development encompasses ease of configuration as well. To
that end, we plan to broaden the resource definition facilities
introduced in Java EE 6 to encompass more of the standard platform
resource types, and also provide default database and JMS connection
factory resources. We plan to improve the configuration of
application security, including new descriptors for security
permissions.

Although Java EE 7 will build on Java SE 7, we will encourage
component JSRs to review and improve their APIs with the coming Java
SE 8 language changes in mind, so that enterprise developers will be
able to take advantage of the new language features as soon as Java SE
8 is released.

- Infrastructure for cloud support -

In Java EE 7 we expect to lay groundwork for enhancements to the
platform for use in cloud environments in a future Java EE 8 release.
Areas that we expect to address encompass some of those mentioned above,
and include resource definition metadata, improved security
configuration, and database schema generation.

- Preliminary contents -

The following new JSRs will be candidates for inclusion in the Java EE
7 platform:

Some of the new component JSRs we are proposing for inclusion add
significant capabilities to the platform: JCache enables scaling of
applications by standardizing a powerful caching layer accessible from
all containers; the Concurrency Utilities for Java EE API builds on
the java.util.concurrent API in Java SE and offers a context- and
transaction-aware API for asynchronous tasks.

- Web Profile -

This JSR will also update the Java Enterprise Edition Web Profile to
version 7. In addition to incorporating the latest version of the
technologies currently in the Web Profile, we will consider adding new
required technologies to the Web Profile, such as JAX-RS 2.0.

- Pruning -

In accordance with the pruning process defined by the Java EE 6
specification, we will consider making optional in this release the
technologies identified as candidates for pruning in Java EE 6,
namely: EJB Entity Beans, JAX-RPC 1.1, JAXR 1.0, JSR-88 1.2.

2012.04.06:

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

March 2011 Expert Group formed
Q3 2011 Early Draft
Q3 2012 Public Review
Q4 2012 Proposed Final Draft
Q1 2013 Final Release

2.1 Please describe the proposed Specification:

This JSR is to develop Java EE 7, the next release of the Java Platform, Enterprise Edition.

The main theme for this release is the Cloud. The Java EE platform is already well suited for cloud environments thanks to its container-based model and the abstraction of resource access it entails. In this release we aim to further enhance the suitability of the Java EE platform for cloud environments. As a result, Java EE 7 products will be able to more easily operate on private or public clouds and deliver their functionality as a service with support for features such as multitenancy and elasticity (horizontal scaling). Applications written for Java EE 7 will be better able to take advantage of the benefits of a cloud environment.

- Cloud -

In the Platform as a Service (PaaS) model, applications from one customer can be deployed to the cloud and take advantage of services provided by the hosting environment alongside other applications belonging to other customers, with the appropriate guarantees in terms of security, isolation, quality of service, etc. Similarly, a single application can be used by multiple tenants with the same security, isolation, and quality of service guarantees.

Since its inception, Java EE has offered a managed environment in which access to the system and any external resources, such as relational databases, is controlled and mediated by containers. This container-based model has allowed portable applications to target single-machine deployments as well as large cluster installations without fundamental changes to the programming model. We see the cloud as a further evolution of this paradigm and propose to address it via some incremental changes to the existing (and popular) Java EE programming model.

This JSR will extend the Java EE platform architecture to take into account the operational impact of the Cloud, more specifically by defining new roles that arise in that model, such as PaaS administrator. It will also review, and if needed update, the security architecture in Java EE to take into account the needs of the PaaS model. This JSR may also establish a set of constraints that applications that wish to take advantage of PaaS-specific features, such as multitenancy, may have to obey and provide a way for applications to identify themselves as designed for cloud environments.

We expect most technologies that are part of the platform to be updated to take into consideration the new requirements of the cloud model. In particular, all resource manager-related APIs, such as JPA, JDBC and JMS, will be updated to enable multitenancy. The programming model may be refined as well, for example by introducing connectionless versions of the major APIs. The model for exposing resources to applications will need to be reviewed with the PaaS in mind; for example, it may be necessary to enable certain external resources, such as data sources and message queues, to be tagged as shared by multiple applications. The expert groups governing the individual technologies will be tasked with identifying any such needs and taking the appropriate measures to ensure they are addressed.

This JSR will define a descriptor for application metadata to enable developers to describe certain characteristics of their applications that are essential for the purpose of running them in a PaaS environment. These may include: being multitenancy-enabled, resources sharing, quality of service information, dependencies between applications. The application metadata facility will be extensible; we envision defining an initial set of standard metadata attributes in this release and expanding it in future versions of the platform.

- Latest web standards -

We expect the Java EE 7 platform to add first-class support for some of the recent developments in the web space, including HTML5 and Web Sockets. It will also include a modern HTTP client API as defined by the JAX-RS 2.0 JSR.

- Ease of development -

On the ease of development front, Java EE 7 will include a revised JMS 2.0 API.

We expect the dependency injection facility introduced in Java EE 6 to be updated for this release with the addition of an API to configure an injector. Such an API will be defined in the DI 1.1 JSR (a follow-up to JSR-330) and supported by CDI 1.1.

We also expect the managed bean model to be further refined and expanded so as to remove as many inconsistencies as possible across Managed Beans, EJB, Servlets, JSF, CDI and JAX-RS.

Although Java EE 7 will build on Java SE 7, we will encourage component JSRs to review and improve their APIs with the coming Java SE 8 language changes in mind, so that enterprise developers will be able to take advantage of the new language features as soon as Java SE 8 is released.

- Preliminary contents -

The following new JSRs will be candidates for inclusion in the Java EE 7 platform:

We'd like to solicit community contributions in the following areas with an eye on including these technologies in Java EE 7 should their schedule allow it:

Java Web Sockets API (TBD)
Java JSON API (TBD)

Some of the new component JSRs we are proposing for inclusion add significant capabilities to the platform: JCache enables scaling of applications by standardizing a powerful caching layer accessible from all containers; the Concurrency Utilities for Java EE API builds on the java.util.concurrent API in Java SE and offers a context- and transaction-aware API for asynchronous tasks.

- Web Profile -

This JSR will also update the Java Enterprise Edition Web Profile to version 7. In addition to incorporating the latest version of the technologies currently in the Web Profile, we will consider adding new required technologies to the Web Profile, such as JAX-RS 2.0.

- Pruning -

In accordance with the pruning process defined by the Java EE 6 specification, we will consider making optional in this release the technologies identified as candidates for pruning in Java EE 6, namely: EJB Entity Beans, JAX-RPC 1.1, JAXR 1.0, JSR-88 1.2.

- Modularity -

Last but not least, this JSR will investigate providing modularity and versioning capabilities sufficient to cover common developer use cases, such as using a later version of an API already included in the platform. This work will need to be coordinated with the upcoming modularity JSR for Java SE so as to provide alignment across the SE and EE platforms.

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 the Java EE platform and the Java EE Web Profile.

2.4 Should this JSR be voted on by both Executive Committees?

No. By the SE/EE EC only.

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

See 2.1 above.

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

See 2.1 above.

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

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

Java EE 7 may 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, the Java EE Web Profile specification and the new versions of their constituent components, Java EE 7 should not require other existing specifications to be revised.

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

March 2011 Expert Group formed
Q3 2011 Early Draft
Q1 2012 Public Review
Q3 2012 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 Provide detailed answers to the transparency checklist, making sure to
include URLs as appropriate:

A project site will be used to track all issues and disseminate information on the progress of the JSR.

- The public can read the names of the people on the Expert Group.

This information will be on on the project page for the JSR. It will also be part of every specification draft.

- The Expert Group business is regularly reported on a publicly readable alias.

The Expert Group will conduct business on a publicly readable alias. A private alias will be used only for EG-confidential information, as needed.

- The schedule for the JSR is publicly available, it's current, and I update it regularly.

The schedule will be available on the project page for the JSR.

- The public can read/write to a wiki for my JSR.

We'll use a public mailing list for comments.

- I read and respond to posts on the discussion board for my JSR on jcp.org.

We'll track such discussions and respond to them or redirect users to the public comment mailing list.

- There is an issue-tracker for my JSR that the public can read.

Yes, it will be accessible from the JSR project page.

- I have spoken at conferences and events about my JSR recently.

Yes, most recently at JavaOne 2010 and JavaOne China 2010.

- I am using open-source processes for the development of the RI and/or TCK.

Yes, the Reference Implementation will be developed as part of the GlassFish open source application server, see http://glassfish.java.net/.

- The Update tab for my JSR has links to and information about all public communication mechanisms and sites for the development of my JSR.

It will point to the project page for the JSR.

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 7 and the Java EE 7 Web Profile will be delivered in the same way they were delivered for Java EE 6.

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.