The Java EE 6 Platform, released in December 2009, has seen greatuptake from the community with its POJO-based programming model,lightweight Web Profile, and extension points. There are now 13 JavaEE 6 compliant appserver implementations today!

When we announced the Java EE 7 JSR back in early 2011, our plans were

that we would release it by Q4 2012. This target date was slightly

over three years after the release of Java EE 6, but at the same time

it meant that we had less than two years to complete a fairly

comprehensive agenda — to continue to invest in significant

enhancements in simplification, usability, and functionality in

updated versions of the JSRs that are currently part of the platform;

to introduce new JSRs that reflect emerging needs in the community;

and to add support for use in cloud environments. We have since

announced a minor adjustment in our dates (to the spring of 2013) in

order to accommodate the inclusion of JSRs of importance to the

community, such as Web Sockets and JSON-P.

At this point, however, we have to make a choice.

Despite our best intentions, our progress has been slow on the cloud

side of our agenda. Partially this has been due to a lack of maturity

in the space for provisioning, multi-tenancy, elasticity, and the

deployment of applications in the cloud. And partially it is due to

our conservative approach in trying to get things "right" in view of

limited industry experience in the cloud area when we started this work.

Because of this, we believe that providing solid support for

standardized PaaS-based programming and multi-tenancy would delay the

release of Java EE 7 until the spring of 2014 — that is, two years

from now and over a year behind schedule. In our opinion, that is way

too long.

We have therefore proposed to the Java EE 7 Expert Group that we

adjust our course of action — namely, stick to our current target

release dates, and defer the remaining aspects of our agenda for PaaS

enablement and multi-tenancy support to Java EE 8.

Of course, we continue to believe that Java EE is well-suited for use

in the cloud, although such use might not be quite ready for full

standardization. Even today, without Java EE 7, Java EE vendors such

as Oracle, Red Hat, IBM, and CloudBees have begun to offer the ability

to run Java EE applications in the cloud.

Deferring the remaining cloud-oriented aspects of our agenda has

several important advantages:



It allows Java EE Platform vendors to gain more experience with

their implementations in this area and thus helps us avoid risks

entailed by trying to standardize prematurely in an emerging area.



It allows Java EE Platform vendors to gain more experience with their implementations in this area and thus helps us avoid risks entailed by trying to standardize prematurely in an emerging area.

It means that the community won't need to wait longer for those

features that are ready at the cost of those features that need

more time.



It means that the community won't need to wait longer for those features that are ready at the cost of those features that need more time.

Because we have already laid some of the infrastructure for cloud

support in Java EE 7, including resource definition metadata,

improved security configuration, JPA schema generation, etc., it

will allow us to expedite a Java EE 8 release. We therefore plan

to target the Java EE 8 Platform release for the spring of 2015.



This shift in the scope of Java EE 7 allows us to better retain our

focus on enhancements in simplification and usability and to deliver

on schedule those features that have been most requested by

developers. These include the support for HTML 5 in the form of Web

Sockets and JSON-P; the simplified JMS 2.0 APIs; improved Managed Bean

alignment, including transactional interceptors; the JAX-RS 2.0 client

API; support for method-level validation; a much more comprehensive

expression language; and more.

We feel strongly that this is the right thing to do, and we hope that

you will support us in this proposed direction.