JavaOne and the forgotten Java edition
JavaOne is one of the biggest annual conferences to discuss Java technologies. It was inaugurated in 1996 by Sun Microsystems, and now is run during Oracle OpenWorld after the 2010 acquisition of Sun by Oracle Corporation. This year there was more excitement than usual around the JavaOne event, usually the event focuses on the technical topics and does not offer much in the way of product announcements. People were hoping for something different this year.
JavaOne Keynote with Gosling in 2012
flickr photo by steveonjava shared under a Creative Commons
This year there was hope that Oracle would present the roadmap for Java EE. Java EE, which was once known more commonly as “J2EE”, is an extension of the Java language that provides an API for object-relational mapping, distributed and multi-tier architectures, and web services. It hasn’t seen a release since version 7 all the way back in 2013. This gap in progress has lead people to speculate if it was dead. Many businesses still actively use and rely on Java EE, so pundits aside, it has remained alive.
At JavaOne, Oracle did present a new roadmap and pledged renewed commitment to the Java EE platform, but progress is still very slow. Partly due to the lack of news from Oracle and overall slow progress, the Java EE community has started splintering. Specifically, two of the most notable factions include Java EE Guardians, led by former Oracle Java EE evangelist Reza Rahman, and Microprofile.io, which has included participation from Red Hat and IBM. Unfortunately the JavaOne announcement didn’t appear to be a step towards unifying the Java EE community. There still is a significant rift between Oracle and the Java EE Guardians. After JavaOne, both groups posted their own community surveys and appear to be working on differing sets of priorities.
Does an announcement about the future of Java EE excite you? – Drop your comments in the discussion below.
Another key aspect of Java EE is its modularity. So it was also significant that a new modularity platform was on the horizon at JavaOne this year. Java modularity was proposed back in 2014 under the name “project Jigsaw” and it appears that Java 9 will include improved modularity when it is released next year. A modern, JPMS-based Java EE version still remains in the far distant future. And while this is really what many people would like to see today, they will need to wait quite awhile.
One key Java EE project to keep an eye on is Apache DeltaSpike. Deltaspike has continued to evolve independently mainly thanks to a small dedicated community. Currently it relies on modularity though CDI, an older approach introduced in Java 6 EE, they could adopt a more modern approach using JPMS after Java 9 is released. I think this might happen especially if Oracle misses roadmap milestones for Java EE project.
One frequent buzzword this year at JavaOne was the term “microservice”. A microservice is an independently deployable service component, which is a familiar concept if you are a long time Java EE developer. Unfortunately there is alot of confusion around how a microservice architecture actually fits with Java EE. I think Rick Hightower expressed it the best when he said:
“If you are deploying a WAR file to a Java EE container then you are probably not doing microservice development. If you have more than one WAR file in the container or an EAR file, then you are definitely not doing microservice development. If you are deploying your service as an AMI or docker container and your microservice has a main method, then you might be writing a microservice.”
Does an announcement about the future of Java EE excite you? I guess it depends on your perspective. If you have been using it for years and maintain thousands of lines of code that depend on it, this would be pretty exciting indeed.