What was originally planned for a full GA release of Jakarta EE 11 in July 2024, only the Core Profile was delivered in December 2024, 27 months after the release of Jakarta EE 10. The Platform and Web Profile will most-likely be released in 1Q2025. While this may be perceived as “just another significant delay,” there were practical reasons for the change.
While all of the updated 16 specifications targeting Jakarta EE 11 have passed their respective TCKs by May 2024, the Jakarta EE Working Group has decided to focus on the long overdue modernizing and restructuring of the Technology Compatibility Kit (TCK). This work includes migrations from the Ant to Maven build tools and the TestHarness to Arquillian test suites. OpenRewrite, an open-source automated refactoring ecosystem for source code, was also used for this purpose. Benefits for making this investment now include improved compatibility testing and lowering the barrier for adding more tests as the Jakarta EE ecosystem evolves.
It was decided to release the Core Profile first due to its relatively small size, seven specifications, before the Platform and Web Profile (30 and 23 specifications, respectively). WildFly Preview 34.0.0 and Open Liberty 2024.0.0.11-beta submitted their Compatibility Certification Requests in late October 2024 to certify as compatible implementations of the Jakarta EE 11 Core Profile.
In March 2023, Steve Millidge, CEO at Payara, described how Jakarta EE 11 could be “the first big leap for Jakarta,” writing:
From the initial lift and shift [Jakarta EE 8] to the new namespace change in Jakarta EE 9, to the simplification work done in Jakarta EE 10, a lot of effort has gone into making Jakarta EE a solid basis for open source developers to build on.
With that done, there’s now the opportunity to start taking Jakarta EE beyond the Java EE era. With Java 21 [on the horizon], there’s now the opportunity to make sure Jakarta EE is always leveraging the latest and greatest capabilities of the new Java version, build new specifications and further unify and simplify the platform.
The decision to refactor the TCK indeed aligns with Millidge’s thoughts from almost two years ago.
Jakarta EE Profiles
The Jakarta EE Platform defines a standard platform for hosting all Jakarta EE applications. It is designed for developers who require the full set of Jakarta EE specifications for developing enterprise applications.
The Jakarta EE Web Profile defines a subset of the Jakarta EE Platform that contains web technologies specifically targeted for developing web applications.
The Jakarta EE Core Profile, introduced in Jakarta EE 10, defines a subset of the Jakarta EE Platform specifications targeting smaller runtimes suitable for microservices and ahead-of-time compilation. It is focused on providing a minimal basis for cloud native runtimes, including runtimes that support build time applications.
Of the 42 specifications in the Jakarta EE ecosystem, only 16 have been updated for Jakarta EE 11:
Note that there were name changes on two of the specifications, namely: Jakarta Validation (formerly Jakarta Bean Validation); and Jakarta Pages (formerly Jakarta Server Pages). Jakarta Server Faces was changed to Jakarta Faces with the release of Jakarta EE 10.
Jakarta Data
Jakarta Data, a new specification for the Jakarta EE 11 Platform and Web Profile, provides an API that allows easy access to database technologies. It can split the persistence from the model with several features, such as the ability to compose custom query methods on a Repository
interface where the framework will implement it. The current implementations for Jakarta Data are Hibernate ORM 6.6.0 and Open Liberty 24.0.0.6.
The Road to Jakarta EE 11
The road to Jakarta EE 11 included four milestone releases delivered from December 2023 through May 2024 and the release of the Core Profile.
Jakarta EE 12
Work has begun for Jakarta EE 12, scheduled for a GA released sometime in 2026 as per the release plan. A new Jakarta EE Future Directions Group, formed in July 2024, brings together developers from “inside and outside of Java-related working groups, influencers, and other interested parties.” This group has accepted the role of generating ideas, conducting research and providing recommendations to the Jakarta EE and MicroProfile Working Groups. Areas of interest would include: emerging technologies; new industry use cases; integrations; and messaging and marketing. Participating members (in alphabetic order) so far include: Garden State JUG, IBM, Association of the German Java User Groups (iJUG), London Java Community (LJC), Microsoft, OmniFish, OpenElements, Oracle and Payara.
Editor’s Note
Michael Redlich serves as a Co-Director of the Garden State JUG.