BreadcrumbHomeResourcesBlog Jakarta EE Overview: Key Features, Benefits, and Use Cases January 13, 2022 Jakarta EE Overview: Key Features, Benefits, and Use CasesJava Application DevelopmentBy Eleriin ReinJakarta 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. Table of ContentsWhat Is Jakarta EE?What Is Jakarta EE Used for?What to Expect in Jakarta EE 10Final ThoughtsTable of Contents1 - What Is Jakarta EE?2 - What Is Jakarta EE Used for?3 - What to Expect in Jakarta EE 104 - Final ThoughtsBack to topWhat 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. Who Uses Java EE?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 EEAfter 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 topWhat 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 RoadmapJakarta 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 topWhat to Expect in Jakarta EE 10Jakarta 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 In Jakarta EE 10As 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. 🆕 Jakarta EE 11 is coming. Read the blog. Core Profile 10 in Jakarta EEUndoubtedly 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 in Jakarta EEThere 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 topFinal ThoughtsJakarta 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 Blog: Exploring Jakarta EE 9 Blog: What Java Brought in 2020Webinar Recording: Solving Top Java Developer ProblemsJRebel Product OverviewBack to top
Eleriin Rein Technical Support Specialist, JRebel by Perforce Eleriin is a Technical Support Specialist at JRebel by Perforce. Devoted to helping customers reach the full potential of using JRebel, she helps remove any roadblocks in their way. Eleriin is also a part of the JRebel Product Team.