There may finally be some light at the end of the long tunnel for Java EE 8. Oracle’s recent blog post updated the Java community on Java EE 8 activities, which included the latest release schedule:
- Public Review: April/May 2017
- Proposed Final Draft: June 2017
- Final Release: July 2017
A February 21, 2017 e-mail from Java EE spec lead, Linda DeMichiel , to the JSR 366 (Java EE 8) experts outlined how the spec leads are following aggressive schedules to complete the JSRs targeted to the final Java EE 8 release:
- Final Approved Ballot:
- Proposed Final Draft:
- Public Review Ballot:
- JSR Renewal Ballot:
- Early Draft:
In an e-mail to DeMichiel, Kevin Sutter , Java EE architect at IBM, questioned how the Servlet 4.0 requirement for ALPN (Application-Layer Protocol Negotiation, a TLS extension that includes the protocol negotiation within the exchange of hello messages, to be included in Java SE 9) will be resolved. DeMichiel replied:
I know there's been talk about backporting this support to Java SE 8 (or, at least, the required APIs), but I still haven't seen anything official. We have to do *something* here -- the specs are currently broken as currently laid out.
The road to Java EE 8 has not been easy. Much has been written regarding Oracle’s commitment to Java EE 8 over the past year. Shortly after the release of Java EE 7 in 2013, Oracle expressed enthusiasm in planning for Java EE 8. The theme at JavaOne 2013 was dubbed, “Make the Future of Java.” In their November 2013 blog post , Oracle stated:
After the launch of Java EE 7 and GlassFish Server Open Source Edition 4, we began planning the Java EE 8 roadmap, which was covered during the JavaOne Strategy Keynote. To summarize, there is a lot of interest in improving on HTML5 support, Cloud, and investigating NoSQL support. We received a lot of great feedback from the community and customers on what they would like to see in Java EE 8.
To summarize, Oracle is committed to the future of Java EE. Java EE 7 has been released and planning for Java EE 8 has begun.
In the same blog post, Oracle also announced a major change with regards to commercial support for Oracle GlassFish Server:
Oracle will no longer release future major releases of Oracle GlassFish Server with commercial support – specifically Oracle GlassFish Server 4.x with commercial Java EE 7 support will not be released.
Oracle recommends that existing commercial Oracle GlassFish Server customers begin planning to move to Oracle WebLogic Server, which is a natural technical and license migration path forward:
Support for GlassFish Server Open Source , however, will continue.
In September 2014, the newly formed Java EE 8 Specification ( JSR 366 ) proposed their original release schedule:
- Expert Group formed: Q3 2014
- Early Draft: Q1 2015
- Public Review: Q3 2015
- Proposed Final Draft: Q4 2015
- Final Release: Q3 2016
Since then, however, Oracle’s enthusiasm seemed to have waned. In their June 2015 blog post , Oracle updated the Java community:
The goal that we set for ourselves then was to complete this work by JavaOne San Francisco 2016. Although we all like to do (and hear) big things at JavaOne, the various latencies involved in launching expert groups as well as the other demands on the time of our spec leads has resulted in the date being pushed out a bit. We are strongly committed to transparency in our work on the Java EE Platform. We are therefore publicly announcing that we are now changing our target time frame for the completion of this work to the first half of 2017.
In the wake of last year’s downsizing in Oracle’s Java evangelism, as well as their earlier announcement that they would be suspending future major releases of GlassFish server and limiting support, a group of Java standard bearers calling themselves the Java EE Guardians formulated a charter declaring their intent to come to the rescue of Java EE.
The Java EE Guardians are a veritable who’s who of Java luminaries, including “Father of Java” James Gosling, former evangelist Reza Rahman and many other Java technorati.
Around the same time, another new group, MicroProfile - a collaboration of Red Hat , IBM , Tomitribe , and Payara - was formed, chartered to “ leverage Java EE technologies to create vendor neutral microservices framework. ” with a goal of having an initial release by September 2016.
Efforts by the Java EE Guardians and MicroProfile communities seemed to have caught Oracle’s attention. As InfoWorld reported in July 2016:
Oracle’s intentions for the future of Java EE have been cloudy, to say the least.
Rumored to have put the project on the back burner, Oracle has weathered a storm of complaints over its stewardship of enterprise Java, with two separate organizations considering plans to move Java EE forward without Oracle. Rather than let Java EE wither, Oracle is instead looking to reboot the platform to better accommodate where enterprises are headed, particularly to the cloud, said a high-ranking Oracle official in response to recent criticism.
And as InfoQreported in August 2016:
In a recent interview with InfoWorld, Thomas Kurian, president of product development at Oracle, announced an array of potential improvements being planned for Java EE 8 . The move is believed to be designed to appease recent critics (like those coming from the Java EE Guardians ) and divergent efforts (like theMicroProfile). Although the current statement seems a mere declaration of intentions, further details are to be unveiled at JavaOne 2016.
The Java development community has been increasingly concerned about the future of Java EE, up to the point that, in May this year, the JCP Executive Committee considered issuing a formal motion to Oracle requesting a public response on its commitment and plans for Java EE. The motion didn't go through, although it was recorded at the minutes of the meeting, which effectively turned it into an unofficial motion. Roughly a month after that, a change.org petition was filed by the Java EE Guardians to encourage Oracle not to drop the ball on Java EE, with 3,300 signatories so far.
In September 2016, Oracle shared their strategy with the JCP Executive Committee . InfoQreported:
Anil Gaur, Oracle Group Vice President with responsibility for Java EE and WebLogic Server, was invited to speak at the last JCP Executive Committee meeting to shed some light on the future of Java EE. His message was in line with previous statements from Oracle : enterprise programming is changing, and Oracle wants to adapt to it. However, subsequent questions from the EC members highlighted gaps in the plan.
After Thomas Kurian, president of product development at Oracle, was interviewed on the topic of Java EE roughly six weeks ago, it was apparent that an initiative was emerging for Oracle to get back on top of Java EE. It is in this context that Gaur provided a verbal presentation on Oracle's Java EE strategy during the last JCP EC meeting on 9th August. In his presentation, Gaur indicated that Oracle understands how enterprise programming is changing, with more and more applications following a distributed architecture. As a consequence of this, Gaur highlighted that a number of technologies would desirably be added to Java EE 8 for it to effect a tangible benefit, providing a list that sounds very similar to that of Kurian's interview: HTTP/2, Config, State management, Eventual Consistency, Multi-tenancy, O-Auth and OpenID Connect. However, Steve Wallin, program director of runtime technologies at IBM, casted doubts during the turn of questions on such a revolutionary change being needed in the short term, affirming that IBM managed to achieve rapid cloud deployment based on the current Java EE platform (probably referring to Bluemix ).
However, perhaps the most interesting piece of information lies in what wasn't said. After the verbal presentation, members of the Executive Committee asked questions to get a better understanding, among them when the new version would be available. Gaur admitted that the delivery date for Java EE 8 would be "changed" and gave no further details, although the hints that some of the new functionalities might be based on Java SE 9 would point to a rather long delay.
It was revealed at JavaOne 2016 that the release of Java EE 8 would be further delayed until the end of 2017 to include support for microservices and cloud applications. The plan included to release Java EE 9 one year later.
Also during JavaOne 2016, The Register reported :
Ten Java EE 8 projects are now undergoing “major enhancements” to cope with the prevailing winds in development and deployment. The reworking affects Bean Validation, CDI, JAX-RS, JSF, JSON-P and Servlet.
No reason for was given for this latest delay to Java EE 8 but Oracle was collared this year for going AWOL on during the development process. Engineers and spec leads stopped communication with other members of the Java community while their number of code commits dropped off considerably. Oracle was pulled up and forced to issue a statement insisting it remained committed to Java.
Java EE 8 will support distributed data streams, HTTP/2, key-value pairs, a standard method employed to manage keys using the OAuth and OpenID Connect systems, support for Docker to package more than one artifact in any single container, a unified event model, consistency to manage transactions and multi-tenancy in services.
To help simplify coding, Java SE 8’s Lambda is coming to Java EE 9. Features that don’t make the cut for Java EE 8 will roll over into Java EE 9.
Oracle is now asking community members to say what features they’d like to see in Java EE 9.
Oracle posted their second Adopt-a-JSR webcast as they continue to encourage developers to contribute to JSR efforts.
The application platform market is morphing in response to digital business requirements. As Java EE and other three-tier frameworks, such as ASP.NET, fade in relevance, application leaders must build a strategy to shift to alternative platforms that support cloud-native applications.
Java EE Vendors
Vendors such as Red Hat and Pivotal , that use core Java EE specs in their own development, were forced to work around the delay in Java EE 8. As InfoQreported in July 2016, the release of Spring 5 will not include the Servlet 4.0 API. When Oliver Gierke, Spring Data project lead at Pivotal, spoke to Jaxenter , he explained:
For us, the most important aspect in Java EE 8 is the Servlet 4.0 API with its HTTP 2.0 support. Because it’s kind of foreseeable that it’s not going to be final until we release Spring 5 from GA, we’re currently working closely with the most important Servlet container implementers (Tomcat, Jetty, Undertow) to make sure we can provide HTTP 2.0 support using their native APIs in the first place.
Jason Greene , platform architect for JBoss EAP at Red Hat,spoke to InfoQ in October 2016. When asked how the delay of Java EE 8 and Java 9 would affect future development of WildFly , WildFly Swarm , and JBoss EAP , he explained:
WildFly and JBoss EAP both go beyond the EE standard and are continually evolving. When a spec delay occurs, we just focus on other interesting areas. That said, we do prefer the standards keep pace with the industry, so we were happy to team up with other major players in the development of the MicroProfile.
- Second Adopt-a-JSR for Java EE webcast
- Java EE 8 Status blog post by Arun Gupta (2014)
- Java EE Guardians Unite to Save Java EE , InfoQ (June 17, 2016)
- Oracle Says It Is “Committed” to Java EE 8 - Amid Claims It Quietly Axed Future Development by Chris Williams (July 7, 2016)
- Stagnation with Java EE 8: Can the Java Community Make a Difference? , InfoQ (July 9, 2016)
- Java EE Vendors and the London JUG Announce New MicroProfile , InfoQ (July 15, 2016)
- Exclusive: Oracle to Reboot Java EE for the Cloud by Paul Krill (July 21, 2016)
- Oracle Plans to Revamp Java EE 8 for the Cloud , InfoQ (August 15, 2016)
- Oracle Shares their Strategy for Java EE with the JCP Executive Committee , InfoQ (September 11, 2016)
- Java EE 8 Delayed Until End of 2017, Oracle Announced at JavaOne , InfoQ (September 18, 2016)
- Oracle Confirms Java EE 8 Is Delayed for “Major Enhancements by Gavin Clarke (September 20, 2016)
- Market Guide for Application Platforms report by Gartner (November 23, 2016)
- Is Garter’s Report of Java EE’s Demise Greatly Exaggerated? , InfoQ (December 21, 2016)
- Talk About a Slow Pour: Oracle Now Brewing Late Java EE 8 for July 2017 by Gavin Clarke (February 22, 2017)