Develop modern Java applications with JBoss EAP 8

Learn how to develop modern Java applications using JBoss EAP 8 and deploy them to Red Hat OpenShift with Helm charts for scalability and observability.

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 over a decade. JBoss EAP 8 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 integrated development environment (IDE) to improve developer productivity and experience.

In this lesson, you will:

  • Learn how Java and Jakarta EE have evolved over time.
  • Discover the key new features and benefits of JBoss EAP 8.
  • Understand the Developer Sandbox for Red Hat OpenShift and its benefits.

Jakarta EE evolution

Red Hat is one of the founding members of the Jakarta EE working group, actively innovating and contributing since the earliest days of Java Enterprise Edition (Java EE). After Java EE’s move from Oracle to Jakarta EE at the Eclipse Foundation, Jakarta EE 8 was released and set the specifications on 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 made the big move of changing the Jakarta API package namespace from javax.* to jakarta.*. This 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 reasons to switch, the adoption of Jakarta EE 9 would have caused unnecessary churn in JBoss EAP’s customer base and their applications, with no real added value to compensate.

Several specifications under Jakarta EE 10 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 existed in Java EE and Jakarta EE for years). The new profile contains a subset of Jakarta EE specifications that are most useful for smaller, more 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 further into the cloud-native and container space.

New features in JBoss EAP 8

JBoss EAP 8 is the first version to support Jakarta EE 10. It comes with new features and enhancements, including:

  • Jakarta EE 10 Core Profile support.
  • The ability to start servers in suspended mode, pause Java Message Service topics, and configure Infinispan distributed web session affinity in the management console.
  • Security updates: Java Authentication and Authorization Service (JAAS) realm in the Elytron subsystem, Native OpenID Connect client, and SSLv2Hello.
  • Clustering capabilities: the ability to configure web session replication using a ProtoStream.
  • JBoss EAP on OpenShift enhancements: Red Hat’s single sign-on SAML support for JBoss EAP 8, OpenID Connect support for JBoss EAP Source-to-Image, JBoss EAP Maven plug-in, and improved control configuration using environment variables.
  • JBoss EAP Server Migration Tool.
  • A modernized provisioning system.
  • Datasource subsystem support for the JBoss EAP 8  eap-datasources-galleon-pack

Learn about more new features and enhancements in the JBoss EAP documentation.

The benefits of the Developer Sandbox 

The Developer Sandbox is a self-contained testing environment specifically designed for developers. It mimics your production environment by containing a copy of your organization's metadata (configuration settings, custom fields, objects, etc.), but not actual data records. This allows developers to:

  • Experiment freely: Try out new code, features, and customizations without impacting your live data or disrupting user workflows.
  • Test thoroughly: Perform rigorous testing to identify and fix bugs before pushing changes to production.
  • Collaborate efficiently: Share sandboxes with team members for joint development and debugging.
  • Develop on the go: Access your sandbox from any device with an internet connection, facilitating remote work and continuous development.

Using the Developer Sandbox  benefits developers in several ways. Working within a sandbox simplifies and speeds up the development process, improves code quality, and reduces risk. For example, one can conduct experiments and tests quickly without impacting production, leading to faster development cycles. Sandboxes also foster efficient teamwork by making it easy to share working code with fellow developers.

Conclusion

By understanding the features and benefits of JBoss EAP 8 and the Developer Sandbox, you can leverage this learning path to enhance your JBoss EAP 8 development process, improve code quality, and ultimately deliver a better product or service to your users.

Previous resource
Overview: Develop modern Java applications with JBoss EAP 8
Next resource
Configure a JBoss EAP 8 application for OpenShift