1

Jakarta EE 10 Platform, Web Profile, and New Core Profile Specifications Are Fin...

 1 year ago
source link: https://devm.io/java/jakarta-ee-ten-release
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Interview with Tanja Obradovic, Jakarta EE Program Manager at Eclipse Foundation

Jakarta EE 10 Platform, Web Profile, and New Core Profile Specifications Are Finally Out!

Tanja Obradovic

22. Sep 2022


Jakarta EE working group has announced the release of the Jakarta EE 10 Platform, Web Profile, and new Core Profile specifications! Jakarta EE 10 introduces features for developing modernised, simplified, and lightweight cloud-native Java applications, establishing a new foundation for the evolution and innovation of enterprise Java technologies through an open, vendor-neutral, community-driven process. We were able to snag a few minutes from Tanja Obradovic, Jakarta EE Program Manager at Eclipse Foundation, to ask her a few questions.

devm.io: Jakarta EE 10 is out - congratulations on the release! Why is Jakarta EE 10 the most significant release so far? What are its goals?

Tanja: Thank you very much! The Jakarta EE 10 release is a great achievement for all Java enterprise application developers and enthusiasts! This is the first release that is delivered with community driven innovation: we have over 20 individual specifications with either new features or updates, we have a new specification and a new Jakarta EE Core Profile! Great community effort that clearly shows interest and need for further evolvement of the Jakarta EE technology!

devm.io: How is Jakarta EE 10 different from its predecessors, Jakarta EE 9 and Jakarta EE 9.1?

Tanja: As indicated in the previous answer - this is a very different release. We’re seeing innovation taking place and many new projects and component specifications are in the works that may be part of future releases. The Jakarta EE 9 / 9.1 releases were focused on the change of the namespace javax.x to jakarta.x, which we refer to as the “big bang” approach. Please refer to the blog Update on Jakarta EE Rights to Java Trademarks for details.

The Jakarta EE 10 release is a great achievement for all Java enterprise application developers and enthusiasts!

devm.io: What are some component specifications that have been updated?

Tanja: As shown in the picture (Fig. 1), all specifications colored blue have been updated and some have new features. Specifications versioned with x.1 release number indicate a minor release and those with x.0 release number indicate a release with new features.

Jakarta EE 10 specifications

Fig. 1: Jakarta EE 10 specifications

devm.io: Java has a long history on the server, but it is not a typical cloud-native technology like, for example, Golang. What makes Jakarta EE a platform for cloud-native enterprise Java applications?

Tanja: Jakarta EE (and previously Java EE) has a long history with enterprise application development. There is a significant number of business applications still running on Java EE and looking into updating or transitioning into the cloud with minimal impact. That would be possible with the further evolution of Jakarta EE. As you pointed out, there are many new application development languages and frameworks, but Java and Jakarta EE have a reputation of a couple of decades of stability. Jakarta EE technologies can also be used as Jakarta EE Platform / Web Profile specification or corresponding implementation, but one can choose to use an individual specification or its implementation. We also need to point out that Jakarta EE is a standard that is used by various vendors who then provide compatible runtimes for developers' ease of use and choice. This has not changed for the development of cloud-native enterprise Java applications. For a complete list of Jakarta EE compatible products, visit the Jakarta EE Compatible Products page.

devm.io: With Jakarta EE 10, you have introduced a new profile — the Jakarta EE Core Profile. What does this profile enable?

Tanja: The Jakarta EE Core Profile is focused on providing a minimal basis for cloud-native runtimes, including runtimes that support build-time applications. The Core Profile contains a set of Jakarta EE Specifications suitable to support cloud-native application development, microservices, and build time compilation. The new Jakarta CDI Lite 4.0 specification allows compiling to native executables as part of the Jakarta EE Core Profile.

Jakarta EE Core Profile

Fig. 2: Jakarta EE Core Profile

devm.io: Jakarta EE is being developed in parallel with Eclipse MicroProfile. What differentiates the two? Why do we need two Java Enterprise projects?

Tanja: While there is a difference between Jakarta EE and MicroProfile, it is important to underline that these two are complementary technologies. One can view MicroProfile as an extension of Jakarta EE as there is a dependency on Jakarta EE specifications! It is the same developer community involved in both. What is different? Knowing that MicroProfile was created a few years before Jakarta EE, there was a difference in addressing cloud technology needs; MicroProfile was focused on creating a set of specifications for building microservices, while Jakarta EE was initially focused on the transition of Java EE to Jakarta EE (new process, new licensing, new logo, new governance structure) and establishing a based platform for future innovation. At this point, it is up to the community involved in both Working Groups to make decisions on the collaboration and progress of both Jakarta EE and MicroProfile.

devm.io: Microsoft has recently joined the Jakarta EE Working Group. Why is this significant for the Jakarta EE community?

Tanja: We are thrilled that Microsoft has decided to join the Jakarta EE Working Group!

Most of the Jakarta EE Working Group members are directly involved with the development of Jakarta EE specifications or have a product implementing Jakarta EE specifications. This is not the case with Microsoft at this point.

Microsoft is one of the key cloud platform providers today and they are already recognizing the importance of Java (see: Microsoft for Java developers), and they also support Jakarta EE runtimes, enabling customers to run their Jakarta EE applications on Azure (see: Java EE, Jakarta EE, and MicroProfile on Azure).

So, the significance of Microsoft joining the Jakarta EE WG is their dedication and recognition of the importance of Jakarta EE to their customers. By becoming a member of the Jakarta EE WG, Microsoft is enabling newly created Jakarta EE workloads to take advantage of Azure services. Jakarta EE will be well supported and served by Microsoft!

By becoming a member of the Jakarta EE WG, Microsoft is enabling newly created Jakarta EE workloads to take advantage of Azure services.

devm.io: What is next for Jakarta EE?

Tanja: We are looking forward to what’s coming next with Jakarta EE. The conversations and brainstorming about version 11 have started already, but the new projects and specifications that are being created are equally important. Here are some that are in the works:

New implementation projects:

These are created in order to separate implementation and specification projects

  • Eclipse Exousia - The project implements Jakarta Authorization, a technology that defines a low-level SPI for authorization modules.
  • Eclipse Parsson - The project is an implementation of the Jakarta JSON Processing Specification for processing JSON documents.
  • Eclipse Angus - The project provides implementations of Jakarta Activation, a standard extension to the Java platform.
  • Eclipse Open DI - Phe project provides an implementation of Jakarta CDI-lite specification based on the Micronaut framework.
  • Eclipse ExpresLy - The project implements Jakarta Expression Language, an expression language for Java applications.

Applying the "Code First” approach, this new project explores a use case that may, down the road, result in a specification at a later stage. The project improves the performance of cloud-native enterprise Java applications and traditional application servers using AI/ML techniques.

New specification projects:

  • Jakarta Config - The Jakarta Config project is working on a specification that aims to standardize externalized configuration
  • Jakarta RPC - The Jakarta RPC project is working on a specification that aims to standardize gRPC within Jakarta EE
  • Jakarta Data - The Jakarta Data project is working on a specification that aims to standardize Data Access with the Repository pattern.

devm.io: Thank you so much for taking the time to answer our questions! We are excited to see how this most recent update to Jakarta EE 10 will affect the Java community.

Sanja Gregic
Sanja Gregic

Sanja is a Junior Online Editor at Software and Support Media GmbH. She holds a master's degree in English Language and Literature.

Tanja Obradovic
Tanja Obradovic

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK