Java SE 9 and Java EE 8 are here
© Shutterstock / Vjom
Oracle has just announced the general availability of Java SE 9, Java EE 8 and the Java EE 8 Software Development Kit (SDK). From now on, it’s all about faster releases and more open source engagement.
Things are definitely changing in the Java universe. After today’s releases, there will be two Java feature releases per year (so no need to wait years until the next version is out) and Java EE is moving to the Eclipse Foundation (and changing its name). Let’s enjoy the release of Java SE 9 and Java EE 8 though.
Java SE 9
Java SE 9 has over 150 new features to offer, including a new module system and quite a few improvements which promise to bring boosted security, more scalability and better performance management.
The star of the release is, of course, the Java Platform Module System, also known as Project Jigsaw. Its goal is to help developers to reliably assemble and maintain sophisticated applications. Furthermore, developers can bundle only the parts of the JDK that are needed to run an application when deploying to the cloud so one could say that the module system also makes the JDK itself more flexible.
If you want to hear what experts think of the Java Platform Module System, here are a couple of statements:
The Java Platform Module System (JPMS) is not perfect, but it has reached a point where it is worth releasing. Most developers can continue to use the classpath, and be unaffected by the module changes.
For the long term, it’s a great boost to the Java Runtime Environment and hence the Java ecosystem. Imagine being able to build your application and its runtime environment in a modular format. Then, your customer can deploy it right off the bat without having to worry about the JDK version or the footprint.
For the full list of features, visit this page. If you want to read more about other key features such as jshell, improved Javadoc and Streams API enhancements, read this article.
If you don’t want to dive into the modular ecosystem right away, you should know that it is possible to get started on JDK 9 without modules. As Georges Saab, vice president of development for the Java Platform Group at Oracle told us a few months ago, “the class path continues to work, and this is how many developers will likely get started with JDK 9.”
SEE ALSO: Java 9 modules – JPMS basics
Moving to a 6-month release cadence
Oracle recently announced that they are planning to move to a 6-month release cadence using a time driven release model. Mark Reinhold, the Chief Architect of the Java Platform Group at Oracle, proposed that the Java SE Platform and the JDK go from “the historical feature-driven release model to a strict, time-based model with a new feature release every six months, update releases every quarter, and a long-term support release every three years.”
SEE ALSO JDK 9: Pitfalls for the unwary
Post – Java 9 plans
- Feature releases can contain any type of feature, including not just new and improved APIs but also language and JVM features. New features will be merged only when they’re nearly finished, so that the release currently in development is feature-complete at all times. Feature releases will ship in March and September of each year, starting in March of 2018.
- Update releases will be strictly limited to fixes of security issues, regressions, and bugs in newer features. Each feature release will receive two updates before the next feature release. Update releases will ship quarterly in January, April, July, and October, as they do today.
- Every three years, starting in September of 2018, the feature release will be a long-term support release. Updates will be available for at least three years and quite possibly longer, depending upon your vendor.
Oracle will also be providing OpenJDK builds under the General Public License (GPL). Furthermore, they will continue to contribute previously commercial features to OpenJDK [*cough* Java Flight Recorder *cough*] in Oracle JDK in order to make Oracle JDK and OpenJDK more aligned.
We talked with Donald Smith, Senior Director of Product Management for Java SE at Oracle about the transition between OpenJDK and Oracle JDK binaries. Read the entire interview here.
Our intent is that transitioning between OpenJDK and Oracle JDK binaries should be seamless, and that implies there should be no feature differences at all. Although it would be exciting to offer a list of projects we would like to include, we want to do so through the normal OpenJDK processes by discussing with other potential contributors first.
If you want to meet Donald Smith and find out more about the current status of Java SE, don’t miss his keynote at JAX London. Donald will give a quick overview of how OpenJDK plays a key role in the Java SE ecosystem, followed by details of the proposed plan and its current status.The keynote will be followed by a panel whereby the two key proposals – increased cadence and Oracle produced OpenJDK builds – will be discussed for pros and potential gotchas. Panelists include Daniel Bryant, Stephen Colebourne and Peter Lawrey.
Java EE 8
One of the reasons why the release of Java EE 8 is special has to do with its future — from now on, it will function under the stewardship of the Eclipse Foundation. Oracle, Eclipse and other community members are currently working out the details behind the technology transfer and ongoing governance and process within the Eclipse community.
Mike Lehmann, vice president of product management at Oracle said that “by open sourcing Java EE technologies to the Eclipse Foundation, we have set it up for ongoing success in the future. Oracle is committed to working with the Java EE community and the Eclipse Foundation to continue enterprise Java innovation, support and evolution.”
Oracle intends to:
- Relicense Oracle-led Java EE technologies, and related GlassFish technologies, to the foundation. This would include RIs, TCKs, and associated project documentation.
- Demonstrate the ability to build a compatible implementation, using foundation sources, that passes existing Java EE 8 TCKs.
- Define a branding strategy for the platform within the foundation, including a new name for Java EE to be determined. Oracle intends to enable use of existing javax package names and component specification names for existing JSRs to provide continuity.
- Define a process by which existing specifications can evolve, and new specifications can be included in the platform.
- Recruit and enable developers and other community members, as well as vendors, to sponsor platform technologies, and bring the platform forward within the foundation. This would include potential incorporation of Eclipse MicroProfile technologies into the platform.
- Begin doing the above as soon as possible after completion of Java EE 8 to facilitate a rapid transition.
Some of the key features in Java EE 8 are, HTTP/2 support in Servlet 4.0, new JSON binding API and various enhancements in JSON-P 1.1, expansion of JAX-RS to support Server-Sent Events and a new reactive client API, new security API for cloud and PaaS based applications and multiple CDI enhancements including support for asynchronous events.
For a full list of features included in Java EE 8, visit this page.
If you want to read more about the future of Java EE, don’t miss this interview series with Ivar Grimstad, Martijn Verburg, Reza Rahman and Josh Juneau.