Java EE 7 Roadmap

The Java EE 6 Platform, released in December 2009, has seen great uptake from the community with its POJO-based programming model, lightweight Web Profile, and extension points. There are now 13 Java EE 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 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.

Comments:

Sounds like a good idea to me. I'm very happy with Jee6 and it seems like the most of what I;m interested in is the minor enhancements jaxrs2 jms2 etc have me most excited anyway. Is there going to be a list of whats being dropped?

Posted by Adriaaaaan on August 31, 2012 at 12:08 AM PDT #

It scares me to think that for the last 3 years majority of the time was spent on something that will not come to fruition until java ee 8. The value add for java ee 7 is extremely low. When I see our competitors like Microsoft release ever three years with lots of features and tooling support I start to wonder if the design by committee thing is really working out. Please elaborate on the "more" part, what I have seen on blogs and what you have presented here for ee 7 is just not enough.

Also, please put the "MVC" controller support back into the java ee 7 release (jax-rs 2.0 dropped it).

Posted by guest on August 31, 2012 at 08:40 AM PDT #

Thanks for the feedback! I expect that what will be dropped from the current specs under the Java EE 7 umbrella will be fairly small, and that most of the changes you will see will be to the Platform spec. I have done a preliminary evaluation of these, and I expect them also to be relatively constrained. As I tried to say in my message, a lot of what we have done so far is applicable to non-cloud environments as well. Changes to the platform spec will be listed in the "history" section of that spec.

Posted by Linda DeMichiel on August 31, 2012 at 10:55 AM PDT #

The article also explained why on current glassfish trunk, cloud related modules are in inactive status. Indeed, because of a lack of maturity in the space for provisioning, multi-tenancy, elasticity, and the deployment of applications in the cloud, I also think that putting PaaS related features on JavaEE 7 is not suitable, and it must be justified and feedbacked for more time by more vendors.

Thanks for updating javaee7 roadmap in time!

Posted by Tang Yong on September 01, 2012 at 07:47 AM PDT #

What is the new theme ? There is 2 years worth of articles, presentations, and marketing around Java EE 7 "going to the cloud".

Posted by java4life on September 01, 2012 at 08:36 AM PDT #

In my opinion, standardised resource definitions and DB schema generation would go a long way in making Java EE deployments portable across PaaS providers (assuming their support for these features, of course). So although a comparatively small step along the standardisation of "Java EE in the cloud", it nevertheless addresses a real pain point and is therefore very welcome - and much better to have it in 2013 than in 2014!

Posted by Gerald Loeffler on September 01, 2012 at 11:28 PM PDT #

Why are you developing a new HTTP client in JAX-RS 2.0 when there will be a new and improved one in JDK 8 ? Could we not use this time to do other important stuff ? Moreover, java se 8 will be out before most vendors implement the EE 7 specification; I suspect people will become accustom to using the new http client provided with java se 8.

http://openjdk.java.net/jeps/110

Posted by guest on September 02, 2012 at 04:37 PM PDT #

Hi Linda,

what about http://java.net/projects/javaee-spec/lists/jsr342-experts/archive/2012-03/message/74

Will it be solved in EE7?

Rio

Posted by Richard Opalka on September 06, 2012 at 12:12 AM PDT #

We are learning that Oracle and Redhat (both big players in JavaEE world) along with CloudBees one of the leader in JavaEE PaaS are submitting a PaaS spec to OASIS along with other cloud players. Any chance to reconsider the delaying of PaaS feature and base the work on the submitted SPEC? http://www.cloudspecs.org/

Posted by guest on September 08, 2012 at 05:22 PM PDT #

What I understood is, you hold up Java EE 7 for the cloud based aspects which are yet not mature and are planned to be incorporated in Java EE8. I think Java and Glassfish has lost the edge of being early leaders in breakthrough technologies. SOA and JBI are mercilessly cut out which were a very strong point of glassfish. We user are now on mercy of Oracle. Community will loose its relevance for the extraordinary delay and submission to Oracle. It has been a long wait. We expect a better JPA, REST, and JSON now.

Posted by guest on September 13, 2012 at 01:15 AM PDT #

Hi, I am a computer programmer who uses Java EE in a real-world company.

#1 How about you guys actually publish "The Java EE 6 Tutorial: Advanced Topics" book? You know, before Java EE 7 comes out?

#2 When the Java EE 7 SDK comes out and application servers start supporting it, how about you publish the Java EE 7 Tutorial book at that time, instead of 2 years later?

Thank you from an actual programmer who uses this technology. If you want to sell copies of WebLogic, you really should make the printed documentation available at the same time as the software is released. If you keep the Java EE SDK free, then we will be more likely to want to use copies of WebLogic in production environments.

Posted by guest on September 20, 2012 at 12:54 PM PDT #

re: the JAX-RS Client API and Java SE 8's new HTTP API

The simple answer is that one is a low-level API provided by the JDK, and the other is a high-level API specifically for accessing JAX-RS REST resources. While there's nothing preventing you from just using the low-level Java SE network APIs currently, the JAX-RS 2.0 Client API is much simpler and more directly addresses the issues involved with accessing REST resources by a client.

I would expect JAX-RS implementations to transition their code to Java SE's new HTTP client API when Java EE 8 comes out (as Java EE 8 will then support Java SE 8). Regardless, that's an implementation detail and not relevant to the standardized Client API coming out with Java EE 7.

Posted by guest on October 01, 2012 at 11:42 AM PDT #

Good topic

Posted by Kausik on October 10, 2012 at 11:38 AM PDT #

Post a Comment:
Comments are closed for this entry.