Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

DZone Research: The Most Significant Changes to the Java Ecosystem

DZone's Guide to

DZone Research: The Most Significant Changes to the Java Ecosystem

The biggest changes for Java users? It's clearly the semi-annual releases and Java EE moving to the Eclipse Foundation as Jakarta EE.

· Java Zone ·
Free Resource

How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.

To gather insights on the current and future state of the Java ecosystem, we talked to executives from 14 companies. We began by asking, "What have been the most significant changes to the Java ecosystem in the past year?" Here's what the respondents told us:

Release Cadence

  • 1) The move to half-yearly releases. This will be a major boost to the Java language, given that Java today is lagging behind more advanced languages such as C#, and JavaScript in its way. This change will enable Java to be much more agile in its approach to the evolution of the language. 2) Kotlin: Kotlin is probably the competition that Java needs to start evolving faster in terms of code conciseness. Combined with half-yearly releases, the competition will drive Java to be a much better language. I believe that in two years, Java evolution will increase in a quantum leap. 
  • 2017 was the first year with two major releases – SE9 in September with modularity and Java EE8. We’re introducing a faster release cadence. EE4J is transitioning to Eclipse. And Java EE has been renamed Jakarta EE. 
  • Java moving to six-month release cycle. Making Java EE open source and letting the community decide how it evolves. 
  • To me the most significant change is the change of the release cycle to go to a 6-month release cadence. This change has the potential to have a huge impact on future releases and the evolution of Java as a language.
  • Increase in the cadence of releases to every six months to a year. In my opinion, three years is too long, and six months is too short. Java 10 is trivial.

Java EE = Jakarta EE

  • Java and open source are morphing together. Enterprise Java standards moving from the JCP to Eclipse is significant. The micro profile movement helping to build elements that don’t exist – Red Hat, IBM. Tomi tribe, and JavaEE. 
  • Java EE moving to the Eclipse Foundation. Java 9 modules in conflict with Java 8 but they are optional to adopt. Useful for the IoT environment. May not be widely adopted. Choose the type of JDK you want for shorter run times in smaller devices and container applications and smaller deliverables. 
  • Evolution from Glassfish to Eclipse is the most significant change and puts the future of enterprise Java in the hands of the community. IBM has provided open source Liberty fit for purpose deploy. You can ship the full EE or just what’s needed. We’ve taken the open sourced JVM from proprietary to full open source stack with more than four million lines of code. We now have open conversations with the open source community. The release train of every six months with every three-year release being designated for long-term support. This enables developers to get features more quickly and enables enterprises to know what will be supported long-term. Java 9 provided modularity and has changed how apps can be built. 
  • The “open sourcing” of Java EE to the Eclipse Foundation, creating EE4J and now the birth of Jakarta EE.   Java has been the dominant player in enterprise applications for two decades now. Jakarta EE ensures that Java will continue to be the dominant player for enterprise computing for a long time to come. 
  • EE. It was a mess with in-fighting, bickering, and Oracle ending support. The Eclipse Foundation and Java EE champions stepped up and took ownership which is for the best.

Other

  • Cool new features – Lambdas and tooling are evolving.
  • The change in use cases for Java around databases, big data, and Hadoop. Today, Java is the language of choice for microservices.
  • Java has been adding new language features that has allowed it to be more functional. Functional programming makes a more powerful form of programming possible. It’s different than imperative programming, which is a more ‘normal’ type of programming. Where in imperative programming you say you want something to do ‘A, B, C, and D,’ in functional programming, you describe a series of ways that you want to transform your data. Functional programming has been around for over 30 years yet has largely failed to become mainstream. It’s becoming more mainstream now, however, in part because Java has added support for functional features which is allowing functional practices to become more mainstream.
  • Introduction and traction of microservices with more companies migrating to them.

Here’s who we spoke to:

  • Gil Tayar, Senior Architect and Evangelist, Applitools
  • Frans van Buul, Commercial Developer, Evangelist, AxonIQ
  • Carlos Sanches, Software Engineer, CloudBees
  • Jeff Williams, Co-founder and CTO, Contrast Security
  • Doug Pearson, CTO, FlowPlay
  • John Duimovich, Distinguished Engineer and Java CTO, IBM
  • Brian Pontarelli, CEO, Inversoft
  • Wayne Citrin, CTO, JNBridge
  • Ray Augé, Sr. Software Architect, Liferay
  • Matt Raible, Java Champion and Developer Advocate, Okta
  • Heather VanCura, Chair of the Java Community Process Program, Oracle
  • Burr Sutter, Director Developer Experience, Red Hat
  • Ola Petersson, Software Consultant, Squeed
  • Roman Shoposhnik, Co-founder, V.P. Product and Strategy, Zededa
  • How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.

    Topics:
    java ,java ee ,jakarta ee ,release cadence ,java ecosystem

    Opinions expressed by DZone contributors are their own.

    {{ parent.title || parent.header.title}}

    {{ parent.tldr }}

    {{ parent.urlSource.name }}