Red Hat recently announced the latest release of their Jakarta EE compliant platform, JBoss EAP 8.0. With this release, companies will be able to take advantage of the latest Jakarta EE APIs and significantly extend the life cycle of their enterprise Java applications.
JBoss EAP 8.0 introduces improvements across many areas of the platform, including the management console and CLI, security, clustering, datasource and EJB subsystems. For a more detailed list of the new features and enhancements, as well as the removed and deprecated features, refer to the JBoss EAP 8.0 release notes.
In this article, we will describe the new JBoss EAP 8.0 features and the tools provided by Red Hat to help customers migrate from older versions of JBoss EAP.
Long-life support for Jakarta EE applications
JBoss EAP 8.0 is adopting a long life cycle support policy, as indicated in the support life cycle page.
Jakarta EE 10 compatibility
JBoss EAP 8.0 provides implementations of the Jakarta EE 10 APIs, compared to Jakarta EE 8, which is supported by JBoss EAP 7.4. Jakarta EE 10 comes with many changes to Jakarta EE. Learn more about how to migrate your JBoss EAP applications from Jakarta EE 8 to Jakarta EE 10.
One of the most significant changes introduced by the move to Jakarta EE 10 is the namespace change from javax to jakarta. This follows the move of Java EE to the Eclipse Foundation and the establishment of Jakarta EE.
To help our customers with the application code changes required for this move, Red Hat has updated our Migration Toolkit for Applications (MTA) with rules to identify and implement these changes.
Jakarta EE 10 Core Profile
Jakarta EE 10 Core Profile is now available in JBoss EAP 8.0. Jakarta EE Core Profile is introduced with Jakarta EE 10 and targets developers of modern cloud applications with a focus on a minimal set of APIs that support cloud-native development and microservices. The Jakarta EE 10 Core Profile is available as a Galleon provisioning layer, ee-core-profile-server.
Modernized provisioning system
JBoss EAP 8.0 introduces a new provisioning system that provides increased consistency across all deployment targets (bare metal, VM, or cloud) and reduces disparity between testing/staging and production environments.
Depending on the target environment, the appropriate tools perform provisioning (e.g., Maven plugin for the cloud or the jboss-eap-installation-manager CLI for bare metal / VM). At the core of these tools are the same three concepts: feature packs, layers, and channels. A channel is a collection of backwards-compatible releases of components required to provision a particular product version (e.g., 8.0, 8.1, etc.) For cloud deployments, the provisioning system is designed to deploy only the layers required to support applications dependencies, resulting in a reduced image size and attack surface.
Operations teams benefit from consistent configuration and the use of these concepts regardless of deployment target or environment, by using the same datasource layer to deploy database drivers on VM and on the cloud, for example.
The new provisioning system supports both online and offline deployments. Online deployments dependencies are pulled from the Red Hat maven repository. Offline deployments are enabled using a local archive of the maven repository, which can be downloaded from Red Hat's download servers.
Improved cloud workflow tools
JBoss EAP 8. introduces updated tools to help with the provisioning of JBoss EAP 8.0 applications images for running on the Red Hat OpenShift Container Platform. These tools empower developers to manage and optimize the deployment of their Jakarta EE applications on Kubernetes platforms, such as Red Hat OpenShift. With JBoss EAP 8.0, developers have a lot more control over how JBoss EAP is deployed and configured on OpenShift, leading to improved productivity and more streamlined and secure OpenShift images.
One of the main improvements is the introduction of the JBoss EAP Maven plugin, which provides significant improvements that make configuring JBoss EAP on OpenShift easier and more flexible.
For more information, take a look at the article, How JBoss EAP 8 makes deployment on OpenShift easier.
The security enhancements introduced by JBoss EAP 8.0 include a new elytron-oidc-client subsystem that provides native support for OpenID Connect. It will now be possible to secure apps deployed to JBoss EAP 8.0 with OIDC without using the RH SSO OIDC adapter, which is no longer provided by JBoss EAP.
JBoss EAP 8.0 removes legacy security frameworks (picketlink and picketbox). These have been deprecated since JBoss EAP 7.1. For more information about the security enhancements for JBoss EAP 8.0, refer to the security section in the release notes.
Red Hat recommends using JDK 17 because JDK 11 support was deprecated in JBoss EAP 7.4. JDK 11 continues to be deprecated in JBoss EAP 8.0 while it is still supported.
Support for Java SE 21 is planned for a future release of JBoss EAP 8.
Red Hat is also delivering an updated Migration Toolkit for Applications (MTA) to help customers move to JBoss EAP 8.0 from earlier versions of JBoss EAP and to Java 11 / 17 from Java 8.
In addition to the MTA update, Red Hat is also shipping an updated server migration tool, which will automate the server configuration changes required to upgrade from JBoss EAP 7.x to JBoss EAP 8.0.
Datasources feature pack support
The eap-datasources-galleon-pack Galleon feature-pack includes layers that provide the required drivers and modules for the following databases: Oracle, Microsoft SQL Server, and PostgreSQL.
The modernized provisioning system enables you to deploy and configure these drivers to any target environment (e.g., bare metal, VM, or cloud).
JBoss EAP XP (expansion pack) 5.0
After the JBoss EAP 8.0 GA release, there is a plan to release JBoss EAP XP 5.0 GA as its compatible expansion pack and an Eclipse MicroProfile version that aligns with Jakarta EE 10.
Adding the expansion pack to JBoss EAP enables developers to add cloud-native functionality to their existing Jakarta EE applications, such as adding metrics, health endpoints, and reactive messaging support.
JBoss EAP XP 5.0 tentatively plans to add support for the following:
- MP OpenTelemetry replacing MP OpenTracing
- More OpenShift / Kubernetes Cloud Native Enhancements:
- Helm Charts for EAP XP templates functionality
- Micrometer Metrics version 1.9
- MicroProfile LRA (Long Running Actions) - Tech Preview
- Support for AMQP Connector to AMQ Broker using MP Reactive Messaging
For the exact feature set, please refer to the JBoss EAP expansion pack 5.0 release notes after the release.
With the release of JBoss EAP 8.0, Red Hat is demonstrating continued commitment to providing support for Jakarta EE applications, enabling the use of updated Jakarta EE APIs and providing a consistent deployment approach independent of target environment. JBoss EAP 8.0 enhances application security with the removal of legacy security frameworks and introduction of native OpenID connect support.
Red Hat is providing Jakarta EE Core profile support and improved cloud workflow tools for customers who want to modernize their Jakarta EE applications and move to a cloud-native environment.