Image of artistic Jakarta EE logo
January 13, 2022

Jakarta EE Overview: Key Features, Benefits, and Use Cases

Java Application Development

Jakarta EE and its predecessors have been widely applied to enterprise Java applications for years. But in the age of microservices and cloud-based applications, are enterprise specifications like Jakarta EE still important?

In this blog, we look at Jakarta EE, how it helps applications communicate, and why this set of enterprise Java specifications still has a bright future. 

Back to top

What Is Jakarta EE?

Maintained by the Eclipse Foundation Project, Jakarta EE is an open-source set of specifications that helps developers elevate their application to new levels. The world’s enterprise Java ecosystem leaders, including IBM, Oracle, Fujitsu, Red Hat, and Tomitribe, are advancing Jakarta EE and ensuring that it remains relevant over the long term. 

Jakarta EE vs. Java EE

After being renamed from J2EE to Java EE, the project went through a second name change after it migrated from Oracle to the Eclipse Foundation in 2017. After a community poll, Jakarta EE was chosen as the new name which is what we know it as today. All three product names are actually the same thing: a set of enterprise specifications that extend Java SE. 

Back to top

What Is Jakarta EE Used for?

Jakarta EE is a mature, Java-based framework that helps developers move towards using modern technologies while still leveraging the existing Jakarta EE code. It is primarily used for creating APIs that enable communication between different applications.

Ideal for developing and supporting both cloud-native architectures such as microservices as well as traditional monolithic applications, Jakarta EE’s flexibility is integral for corporations who want to elevate their existing applications while having their exact needs catered to. 

Additionally, Jakarta EE is great for connecting with modern software paradigms like containers, microservices, and orchestration, which showcases its ongoing versatility. It contains a plethora of APIs and components for creating scalable, reliable, and secure enterprise applications, making it suitable for e-commerce, accounting, or banking related applications and systems just to name a few.  

Is Jakarta EE Still Relevant?

While there are some opponents of Jakarta EE, the consensus is that Jakarta EE is and continues to be relevant today. 

Jakarta EE is stable and mature, providing a level of security that is not possible with other Java frameworks. With most of the Fortune 500 companies using Java, Jakarta EE remains relevant because most massive enterprises value consistently delivering stable and reliable software over having trendy technologies that falsely claim to be the latest and greatest. Having a solid foundation built on mature technologies also creates a perfect environment for innovation. 

Additionally, Jakarta EE is highly flexible and simple to set up, requiring less configuration compared to other frameworks. This allows users to get started on their application as quick as possible while having their exact needs met. Jakarta EE also gives developers the freedom to use any Jakarta EE-compatible runtimes such as GlassFish, Payara, and WildFly. 

Finally, the open, vendor-neutral, and community-driven approach at the Eclipse Foundation ensures applications developed using Jakarta EE will remain relevant and usable over the long term. 

Jakarta EE Release Roadmap

Jakarta EE 9, released at the end of 2020, had some major internal changes as it moved to the Jakarta namespace after moving from Oracle to the Eclipse Foundation. It now leverages the package namespace, jakarta.*, instead of the previously used javax.* namespace, as the latter is still under Oracle’s jurisdiction. It also had some deprecated specifications removed, making room for the new features to come in future releases. Other than minor enhancements to a small number of specifications, not much else changed with Jakarta EE 9. It’s worth noting that Java SE 11 support was released separately with Jakarta EE 9.1 in May of 2021. 

Back to top

What to Expect in Jakarta EE 10

Jakarta EE 10 brought a whole host of changes to the table. We’ll go over some of the biggest changes, check out the the full release plan for Jakarta EE 10.  

New Features

As Jakarta EE 9 focused on moving to a new namespace and clearing out some dead-weight specifications, the demand for new features has been escalating for a while. Jakarta EE 10 includes 12 component specifications with major version updates and 12 component specifications with minor version updates. 

Core Profile 10

Undoubtedly one of the biggest changes coming with Jakarta EE 10 is the new Core Profile 10, a subset of Jakarta EE Technologies targeting microservice and cloud development runtimes. It has grown out of the MicroProfile — more information on MicroProfile. This is a major change, as there have been no other profiles defined since the Web Profile during the Java EE era. 

The key subset of Jakarta EE component specifications included in the Core Profile 10: 

  • Annotations 2.1 
  • Contexts and Dependency Injection (CDI) Lite 4.0 
  • Dependence Injection 2.0 
  • Expression Language 5.0 
  • Interceptors 2.0 
  • JSON-B 3.0 
  • JSON-P 2.1 
  • RESTful Web Services 3.1 

Additional Changes

There are also several changes in the requirements, the most notable being EJB Entity Beans and the Embeddable EJB Container being removed from TCK requirements. EJB Entity Beans and the Embeddable EJB container are still available within TCK, but their implementation is no longer required for platform compliance. 

Moving to Java SE 11 is also one of the directions Jakarta EE is taking, seen in practice by all the aforementioned major and minor version updates for the component specifications moving to Java SE 11 source level. It’s not mandatory (yet), but is simply strongly recommended for now. As for the runtimes, Java SE 11 is now the minimum runtime supported by Jakarta EE compatible implementations. 

The suggestions on support for JPMS modules are going to be firmed up into requirements, meaning the JPMS module-info class definition is now required for all component APIs. 

Back to top

Final Thoughts

Jakarta EE is a mature, open-source, feature-rich framework enabling you to elevate your application with ease. If you are in the process of starting with a new project, no matter if it involves microservices or monolithic development, Jakarta EE could be an ideal solution. 

Want to Save Time During Jakarta EE Development?

JRebel can help. JRebel skips the redeploy phase, allowing developers to load code changes immediately. See for yourself during your 14-day free trial. 

Try Free 

 

Additional Resources 

Back to top