Java in 2019: A Look Ahead

The past year saw another surge in the evolution of Java, thanks to myriad changes that will have long-term impacts on the Java developer community -- everything from the Eclipse Foundation's decision to accept stewardship of enterprise Java and rename it Eclipse Jakarta to IBM's acquisition of Red Hat, the release of JDK 11 to the appeals court ruling against Google in its long-running battle with Oracle over Java copyrights, the latter company's implementation of its faster Java release cadence to its decision to roll up the venerable JavaOne conference (already whittled down to a subset of Oracle OpenWorld) into a new event with sessions and keynotes covering an expanded menu of languages, frameworks, tools and tech called Oracle Code One.

I reached out (as everyone covering this beat does at the start of a new year) to industry analysts, market watchers and Java jocks to find out what they coming in 2019 for this dynamic community.

Gartner analyst Ann Thomas saw the writing on the wall for Java EE, now Eclipse Jakarta, at least a year before that startling standards-body hand-off. She believes Oracle's new subscription model is going to have the biggest impact on Java in 2019.

"Oracle will no longer distribute free bug fixes and security patches except for the latest version of OpenJDK, and Oracle will be releasing new versions every 6 months," she said in an email. Although most Java applications still run on Java 8, she pointed out, users who want to get patches for Java 8 going forward must either purchase a Java Subscription from Oracle or find an alternate distribution, such as AdoptOpenJDK, Amazon, Azul, IBM, or Red Hat.

"Many of my clients anticipate that the annual subscription cost is greater than $1 million," she said. "I anticipate that this new subscription model will encourage most organizations to adopt alternate distributions, and very few organizations will ever adopt Java 11 or beyond. I believe that Java 8 is the end of the line."

She also pointed me to a Snyk survey report ("Which Java SE Version Do You Use in Production for Your Main Application? "), published in October on the JVM ecosystem in 2018, written by Simon Maple and Andrew Binstock, which I recommend.

For Michael Remijan, senior enterprise Java developer and systems architect at the Federal Reserve Bank of St. Louis, 2019 will be the year we see some unique consequences of the enterprise embrace of cloud computing.

"With IBM's acquisition of Red Hat, it is clear IBM is attempting to gain some market share in cloud computing," he said in an email. "Amazon, IBM, Google and Microsoft all seem to be battling in the space, with Amazon the clear leader at the moment. As the industry sees 'cloud computing' as the technical direction to move toward, and as these vendors try to distinguish their cloud offerings, we will see the continued rise of vendor-specific development skills and the decline of industry standards. In other words, companies will have need for Microsoft developers or Amazon developers, not necessarily Java/Jakarta EE developers."

Siddhartha Agarwal, Oracle's VP of product management and strategy usually has a savvy prediction or two at this time of year. (There's a reason I once dubbed him "Oracle's Oracle.") This year was no exception; he sent me his latest list. But one in particular stands out for the Java community: "Serverless functions go big in production."

"The appeal of serverless functions is clear: when there is demand for my code to be executed based on a certain event, a function assures it runs, but only for the amount of time that the code is needed," he wrote. "For example, someone can build a travel booking function to book/cancel flights, hotels and rental cars. Each of these actions can be built as a serverless function written in different languages such as Java, Ruby, JavaScript and Python.

"For developers, these disconnected serverless functions/transactions strung together create some new challenges, such as understanding how these functions work together to deliver a transaction, or, if things go badly during the flow, how to create compensating transactions to cancel. Debugging distributed transactions is also a challenge. But these obstacles aren't enough to stall the adoption of serverless functions, given their economic advantages of significantly reduced operations costs, from only paying for what is actually used. So more and more developers will want to move functions out of the labs and into full production. For that, look for open-source tools, like the FN project, to flourish by helping developers manage composition and debugging, to be able to deploy and test serverless functions on your laptop, or across any cloud. The key is going to be picking a serverless platform that provides maximum portability."

Ivar Grimstad, a Java Champion, Oracle Groundbreaker Ambassador and JUG Leader working as Principal Consultant for Cybercom Group in Sweden, also offered his predictions for the coming year.

"I think we will see the industry embracing the faster release cadence of Java to a higher degree than so far," he said in an email. "I think most organizations were caught a little off guard when the new cadence was introduced and continued acting as they always have done regarding major versions, i.e. reluctantly and still thinking in terms of a required corporate standard VM version. Following the increasing use of container technology, I think we will see more and more organizations lax in this requirement and allow the use of different Java versions. Thus the adoption of newer Java versions will accelerate.

"As for Jakarta EE, I think that 2019 will be the year it really takes shape and we will see enterprise Java evolving in the open. I think we will continue to see a lot of discussions about how the relationship with the Eclipse MicroProfile projects will be."

Forrester analysts John Rymer and Jeffrey S. Hammond pointed me to a report, "Predictions 2019," published by the firm in November, which I recommend. Hammond added a personal observation:

"Based on our client inquires, we're going to see a lot of development shops scrambling to retest and recertify their apps on OpenJDK 8 or OpenJDK 11, to avoid the unanticipated support bills they seem to be getting from their Oracle reps," he said. "There will also be a lot of clients pressuring their third-party ISVs with Java dependencies to do the same, and I'd not be surprised to see net-new sales of 3rd party software sales held up if the ISVs don't certify on OpenJDK."

Two succinctly noted insights from the report that will apply to developers of every stripe in the coming year: "Agile and DevOps are the New Normal for Developers;" and "Cloud-Native, Value Stream and AI-Based tools Are Among the Next frontiers."

Look for my interviews with Eclipse Foundation leader Mike Milinkovich and JCP Chair Heather Van Cura, coming later this month.