Tuesday, June 14, 2016

Recent Java News - Early June 2016

After a few weeks/months of what felt like unusual quiet (at least in my perception) in the world of Java, there has recently been an upsurge in the amount of Java-related news and I briefly reference some of these news stories in this post.

OpenJDK 9 Not Yet Feature Complete

On Friday, Mark Reinhold (Chief Architect of the Java Platform Group at Oracle) announced that "JDK 9 is not (yet) Feature Complete." In this message, he states that "milestones listed in the JDK 9 schedule are condition-driven rather than date-driven" and references the OpenJDK Milestone Definitions. This referenced section on milestone definitions also defines "Feature Complete" as "All features have been implemented and integrated into the master forest, together with unit tests." Reinhold's message corroborates this definition, "The goal of the Feature Complete milestone is to get all of the planned features, i.e., JEPs, and smaller enhancements integrated into the JDK 9 master forest, together with their unit tests."

One of Reinhold's purposes in writing this is to assure people who feared "the JDK 9 (and hence Java SE 9) feature set is somehow frozen" that this is "not the case." The reason some feared this is that 26 May 2016 is listed as the "Feature Complete" milestone date as shown in the next screen snapshot taken from the OpenJDK JDK 9 project page.

Reinhold also uses the post to propose a process to be followed to get to "Feature Complete" that includes the JEP owner potentially proposing that their JEPs be dropped from JDK 9.

The State of Java EE 8

There is significant consternation regarding the future of Enterprise Java, particularly on Java EE 8. The Java EE Guardians have been formed with intent to "send a clear signal that Java EE is important and needs to be safeguarded for the community." The concern is that there seems to be no recent advertised progress on the Java EE 8 specification and no announcements to explain why.

In Java EE 8 in Crisis, Peter Pilgrim writes that his "position statement on Java EE" is "We are in crisis." He adds, "We do not know the exact delivery status of Java EE 8, because it is no longer on track." Pilgrim and Adam Bien are also interviewed on this subject on JAXenter in the respective posts Java EE Guardians speak bluntly: 'Java EE cannot be run exclusively by the community' and 'From my perspective, Oracle could withdraw from Java EE completely'. Bien also has a blog post on the subject called Oracle Moves in Strange Ways.

In Gosling rallies against Oracle for Java EE neglect, InfoWorld Editor Paul Krill quotes James Goslin, "It's not so much that Oracle is backing off on EE, but that it's backing off on cooperating with the community. Taking it ‘proprietary', going for the 'roach motel' model of non-standard standards -- 'customers check in, but they don't check out.'"

When Reza Rahman announced his departure from Oracle, he wrote, "I will be rejoining the purely community driven Java EE efforts I have been part of for the better part of a decade in complete good faith as soon as possible post-Oracle." Rahman soon helped form Java EE Guardians and stated, "The bottom line is, if Oracle is not committed to server-side Java and not committed to supporting the EE space, then fundamentally, someone else needs to step in."

In his post Help Move Java EE Forward, Josh Juneau writes, "Java EE as a whole has seen little to no movement forward since JavaOne 2015." He concludes, "In the end, if Oracle is not interested putting forth effort internally and moving Java EE forward, hopefully they will be open to working more with the community, and hand off some of the specifications to those who are interested."

Mark Little has posted Does Java EE Have a Future? on the JBossDeveloper Forum and states, "The principles on which Java EE are based are pretty common to distributed systems in general." Speaking of last week's DevoxxUK panel on the future of Java EE, Little writes, "Given rumours and other concerns about the future of Java EE, I can certainly empathise with developers who want to hear that the major vendors are standing behind it. Well Red Hat and those on the panel at DevoxxUK hopefully made it clear: we are prepared to continue innovating with and on Java EE, and it's a key part of our strategy."

EE Modules Not Visible by Default in JDK 9

In the post java.corba and EE modules not resolved by default, Alan Bateman writes that six modules (java.activation, java.annotations.common, java.corba, java.transaction, java.xml.bind, and java.xml.ws) won't be visible by default and will be "'as if' the types in these modules do not exist." Bateman points out that the modules will still be available and can be explicitly specified as part of the root modules with the javapackager -addmods option or modules-based code can simply express the dependency with requires.

Other Resources

I am a longtime fan of social media oriented software development sites such as StackOverflow, DZone, and Java Code Geeks. However, it can sometimes be almost overwhelming to filter through these sites' vast amount of content. I have found a nice complement to these sites to be four blogs that aggregate some of the most interesting Java and software development related articles and blog posts and provide brief descriptions and commentary on the linked-to references. These four, in no particular order, are Baeldung Java Web Weekly (weekly aggregation of mostly Java-related links with brief descriptions), Thoughts on Java Weekly (weekly aggregation of mostly Java-related links with brief descriptions), Robert Diana's Geek Reading (daily [weekdays] collection of links to general software development and technology posts with significant dose of Java-related posts), and Morning Dew Dew Drops (daily [weekday] collection of links to general software development and technology posts with what seems to me like a .NET/Windows emphasis).


@DustinMarx said...

There continues to be more community discussion surrounding the progress of Java EE and the role of the Java EE Guardians. Recent posts include Java EE Guardians speak bluntly: "Oracle does not really understand the value of Java EE" (and related www.reddit.com/r/java discussion), Java EE Guardians Moving EE 8 Forward at JavaOne 2016 San Francisco, Java EE Guardians Launch Web Site, Petition Oracle (and related reddit.com/r/java discussion), and Oracle profits surge—at the expense of Java development and software support.

@DustinMarx said...

In the "exclusive" article Oracle says it is 'committed' to Java EE 8 – amid claims it quietly axed future development, Chris Williams writes that "Oracle has told The Register it is 'committed' to Java amid growing fears the IT giant had all but given up on Java EE" and quotes "Oracle spokesman Mike Moeller": "Oracle is committed to Java and has a very well defined proposal for the next version of the Java EE specification – Java EE 8 – that will support developers as they seek to build new applications that are designed using micro-services on large-scale distributed computing and container-based environments on the Cloud. Oracle is working closely with key partners in the Java community to finalize the proposal and will share the full details with the broader Java community at JavaOne in September."

@DustinMarx said...

In Exclusive: Oracle to reboot Java EE for the cloud, the statement is made, "Java EE Version 8 may provide much-needed benefits for enterprise organizations targeting containers and the cloud."

@DustinMarx said...

An example of the effect of Java EE modules not being visible by default with JDK 9 and how to deal with this effect is available in the message javax.activation.DataSource class not found.