As a leading contributor to Jakarta EE, we're happy to announce the Eclipse Foundation Jakarta EE 9 Milestone Release and the results of their 2020 Jakarta EE Developer Survey.
The Jakarta EE 9 Milestone Release demonstrates the significant progress made toward the final release later this year, and offers an opportunity for the industry to try the new namespace and start migrating their frameworks.
The 2020 Jakarta EE Developer Survey features responses from thousands of enterprise Java developers around the world, with results showing significant growth of Jakarta EE 8 use and interest in cloud-native Java. The 2020 Jakarta EE Developer Survey results can be downloaded in their entirety here.
The Jakarta EE 9 release plan was approved in January, and included the following key goals:
- lower the barrier of entry to new vendors and implementations to achieve compatibility
- make the release available rapidly as a platform for future innovation
- provide a platform that developers can use as a stable target for testing migration to the new namespace
The first public milestone for Jakarta EE 9 followed those goals and is now available. The milestone demonstrates significant progress toward a final release later in the year and gives the rest of the industry an opportunity to try out the new namespace and start migrating their applications, frameworks, and tools. It is important to remember that the namespace change is not just significant to current users of Java EE as many of the APIs included under the Jakarta EE banner (e.g. Servlet, JAX-B, JAX-RS and others) are foundational to many other frameworks in the industry.
What's in this Milestone?
A huge amount of work has been done in this milestone release in a relatively short time, including:
- Removal of some old APIs
- Making all of the Jakarta EE 9 APIs available in the jakarta namespace
- Moving a large number of the specification documents to the Eclipse Foundation and conversion to reference the new namespace
- Availability of the Jakarta EE 9 TCK in the new namespace
- Availability of many of the Eclipse compatible implementations of the specifications. Milestone releases available today include Jersey, Tyrus, Yasson and others.
- GlassFish 6.0.0-M1 is also available and supports deploying many Jakarta EE applications in the new namespace
Reaching these goals means the bulk of the heavy lifting in getting to Jakarta EE 9 is done.
How Did the Payara Team Help with the First Jakarta EE 9 Milestone?
Payara is one of the leading companies driving forward Jakarta EE 9. The Payara team have been heavily involved in this release with Steve Millidge co-piloting the overall platform release with Kevin Sutter from IBM. We have lead the migration of Jakarta Connectors and Jakarta Concurrency to the new namespace and we have been project leads on the migration of Glassfish 6.0.0 to Jakarta EE 9. In fact, Payara are second to Oracle as an organisational contributor to EE4J projects as a whole, and are the leading contributor company to Eclipse GlassFish. We are totally committed to Jakarta EE.
What Happens Next to Make Jakarta EE 9 GA?
This first milestone is significant as the bulk of the work to move Jakarta EE 9 to the jakarta namespace has been completed, however, there is still a lot of work to be done before Jakarta EE 9 can go GA later in the year.
First, we need to get all the compatible implementations to pass the standalone TCKs and/or the CTS in the new namespace. Although a lot of the CTS has been moved to the new namespace many of the tests are still not passing due to lots of small issues.
Second, we need to ensure GlassFish 6.0.0 is Eclipse-branded and passes the Jakarta EE 9 Compatibility Test Suite, and therefore can be released as a Compatible Implementation of Jakarta EE 9. I envisage there will again be a lot of small issues to resolve to accomplish this.
Finally, the specifications and API jars will need final polishing and formal release through the JESP.
What Are the Plans for Jakarta EE 9 Support in the Payara Platform?
The Payara Platform will support Jakarta EE 9 with Payara Platform 6. We may release some preview versions of Jakarta EE 9 support fairly quickly after the Jakarta EE 9 final release, however full support will likely come much later as we need to understand how users of the Payara Platform want to adjust to the namespace change.
For production usage, we will need to provide support for both applications in the Jakarta EE 8 namespace and the Jakarta EE 9 namespace as these are functionally equivalent. Feedback from the community and our customers tell us that Payara Platform users will want tools to migrate current applications to Jakarta EE 9, and we are collaborating on the Eclipse Transformer project to develop these tools and to integrate them with the platform. Rest assured, when we deliver Jakarta EE 9 support we will still support your Jakarta EE 8 applications.
Onwards to Jakarta EE 10
With this milestone release of Jakarta EE 9 the bulk of the "busy" work to move to the new jakarta namespace is complete and now attention can turn to driving innovation into the Jakarta platform.
The Payara team is looking forward to continuing as a leading contributor to Jakarta EE and are pushing for a Jakarta EE 10 release fairly soon after Jakarta EE 9. We'd love to see further alignment with CDI across Jakarta EE 10 and we'd also love to see integration and adoption of MicroProfile APIs into the platform where appropriate, as well as development of the new specifications like Jakarta MVC and Jakarta NoSQL.
I have been heartened by the outstanding level of individual community contributions that have been made just in the unglamorous Jakarta EE 9 work. Just think how open, collaborative, and exciting Jakarta EE 10 development will be!