As a leading, open source, Jakarta Enterprise Edition (Jakarta EE)-compatible application server, Red Hat JBoss Enterprise Application Platform (JBoss EAP) has been a trusted workhorse for enterprise Java workloads for the past decade. This article describes how the Jakarta EE specifications have evolved since the release of the current version, JBoss EAP 7, and what you can look forward to with JBoss EAP 8.
JBoss EAP 7 is optimized for cloud environments, and when deployed with Red Hat OpenShift, offers containers, load balancing, elastic scaling, health monitoring, and the ability to deploy to a container directly from the IDE to improve developer productivity and experience.
Jakarta EE evolution
Red Hat is one of the founding members of the Jakarta EE working group and has been actively involved in innovating and contributing since the earliest days of Java Enterprise Edition (Java EE). After the move of Java EE from Oracle to Jakarta EE at the Eclipse Foundation, Jakarta EE 8 was released and set the specifications on a much more vendor-neutral footing, a shift championed by Red Hat and other vendors.
The next major release, Jakarta EE 9, did not introduce significant new features but instead made the big move of changing the Jakarta API package namespace from javax.*
to jakarta.*
. The name change introduced a major incompatibility with existing programs. Jakarta EE 9 was largely seen as a stepping stone to the next major version, Jakarta EE 10. JBoss EAP does not support this stepping stone because, without compelling new reasons to switch, the adoption of Jakarta EE 9 would have caused unnecessary churn in our customer base and their applications, with no real added value to compensate.
The current plan for Jakarta EE 10 calls for a release in Q2 2022 and presents an opportunity to create a significant revision to the platform compared to Jakarta EE 8 (identical to Java EE 8), and Jakarta EE 9 (with the namespace change).
Several specifications under Jakarta EE are getting new features. One of the more prominent is the introduction of a Core profile (complementing the existing Full and Web profiles that have been in Java EE or Jakarta EE for years). The new profile contains a subset of Jakarta EE specifications that are most useful for smaller, focused applications such as microservices, serverless workloads, and natively ahead-of-time compiled apps. The Core profile is a great step forward for the specification and moves Jakarta EE more into the cloud-native and container space.
What's planned for JBoss EAP 8
As always, customers should refer to the officially published life cycles of the Runtimes products (including EAP) to plan upgrades and migrations for their deployed Runtimes. The information in this article is subject to change without notice.
JBoss EAP is based on the upstream WildFly project. That project is moving to a feature-boxed release to align more closely with the way Jakarta EE evolves, and the first version of WildFly to support Jakarta EE 10 will be WildFly 27. So keep an eye on WildFly if you want to get a sneak peek of what's to come in JBoss EAP.
The next major EAP release, JBoss EAP 8, is slated for late 2023, with a Beta version released in 2022. The Beta release gives customers a chance to test drive the new features but, more importantly, to plan their migration from earlier versions of JBoss EAP. Along with new features, the Beta includes an update to platform support for newer versions of Red Hat Enterprise Linux, Red Hat OpenShift, Windows, databases, and other dependencies. The final list will be determined closer to release.
Support for the existing version, JBoss EAP 7.x, has been extended in order to provide additional time for current customers to plan their migration to JBoss EAP 8. Consult the Product Support and Update Policy page for updated support dates for JBoss EAP.
Product life cycle
Similar to the current version of JBoss EAP, customers will continue to enjoy long-term support for JBoss EAP 8, corresponding to Red Hat Application Services' Long-life Product Life Cycle. Coupled with industry-leading 24x7 support and multi-year update and maintenance policies, this commitment gives customers peace of mind that Red Hat can support their most important applications for years to come.
Migrating to JBoss EAP 8
EAP 7 continues to be supported based on its support life cycle. Customers should begin planning for migration to EAP 8 to continue to enjoy support beyond the EAP 7 life cycle. As we get closer to EAP 8 Beta later this year, more migration details will be available. But generally, migrations consist of two main areas: servers and applications.
Server migration
This process includes the migration of JBoss EAP configuration files such as standalone.xml
. The JBoss Server Migration Tool is the preferred method to update your server configuration to include the new features and settings in new JBoss EAP releases while keeping your existing configuration. The JBoss Server Migration Tool reads your existing JBoss EAP server configuration files and adds configurations for any new subsystems, updates the existing subsystem configurations with new features, and removes any obsolete or "pruned" subsystem configurations.
A preview of this tool will be included as part of the JBoss EAP 8 Beta release. To understand how it works in detail, consult the existing EAP 7 documentation on this migration tool (which will be updated for EAP 8).
Application migration
The main migration topic here is the change of Jakarta API namespaces from javax.*
to jakarta.*
. In many cases, this change requires just a simple substitution (and the migration toolkit has new support for things such as OpenRewrite recipes to automate this), but not in all cases.
To assist in migrating applications, customers can use the migration toolkit for applications. This toolkit is an extensible and customizable rule-based set of tools that helps simplify the migration of Java applications. It analyzes the APIs, technologies, and architectures used by the applications you plan to migrate and provides detailed migration reports for each application. This tool will support migrations to JBoss EAP 8 Beta (for testing purposes only) and JBoss EAP 8 GA once it is released. More details on exactly how to migrate to EAP 8 will be available closer to the EAP 8 Beta release.
Application migration and modernization is a large topic by itself. Red Hat continues to innovate here as well, with new projects such as Tackle (part of the Konveyor community), which eases the migration and modernization of applications as they transition to the cloud, containers, and Kubernetes.
Keep watching this publication site, as well as the official new @RedHatJava Twitter stream, for more details as we approach the release of JBoss EAP 8.
Last updated: October 8, 2024