From J2EE to Jakarta EE
Jakarta EE is probably the best thing that has happened to Java since its birth, more then 20 years ago. Created in the early 2000s, the J2EE (Java 2 Enterprise Edition) specifications were an extension of the Java programming language, known also as J2SE (Java 2 Standard Edition). J2EE was set of specifications intended to facilitate the development of Java enterprise grade applications and to describe a unified and standard API, allowing developers to deal with complex functionalities like distributed processing, remote access, transactional management, security and much more. They were maintained by the JCP, as explained, and led by an executive committee in which Sun Microsystems, as the original developer of the Java programming language, had a central role.
From the year 2006 and onwards, Sun Microsystems decided to simplify the naming conventions of the J2EE specifications, which were in their 1.4 version at that time and, starting with the 5th release, to rename them as Java EE (Java Enterprise Edition). Similarly, the standard edition became Java SE (Java Standard Edition). This same year Sun Microsystems was acquired by Oracle who became the owner of both Java SE and Java EE. During this time, the JCP continued to produce hundreds of JSRs covering all the enterprise software development aspects. The complete list of the Jakarta EE specs may be foundhere.
Java EE was a huge success, a real revolution in Java software architecture and development. Its implementations, open-source or commercial products, were ubiquitous in the enterprise IT landscape. Oracle originally inherited two of them: GlassFish, which was the open-source reference implementation, and now sits alongside Jakarta EE at Eclipse Foundation; andWebLogic, a commercial platform obtained with Oracle’s acquisition ofBEA Systems,and still wth Oracle now.  
Oraclewas and stays an RDBMS software vendor and, despite being the new owner of Java SE/EE, they don’t really have the “open-source fiber”. Consequently, Java SE became a commercial product, available under a license and requiring a subscription, while Java EE wasn’t maintained and finally was donated, in 2017, to the Eclipse Foundation. Its new name was Jakarta EE.
Jakarta EE 10
With Jakarta EE, the server side Java started a new life. It was first Jakarta EE 8 which kept the original namespace javax.*, then came Jakarta EE 9 which was a hybrid release as it used some original namespace prefixes together with the new ones jakarta.*, and finally the current release, Jakarta EE 10which, among othernew features,provides a full, coherent new namespace.
 
Rather than the history I fail to understand from this article why JakartaEE is better than its competitors.
It’s competing with Spring, Spring Boot, Quarkus and Micronaut etc. I see no mention of any of the other technologies, or any kind of comparison, or a reason why JakartaEE is better. Just because it’s open source and uses JSRs does not necessarily make it as better. All other frameworks I mentioned are also open source…
I think a better title for the post could be “The evolution of JakartaEE”
Hi, many thanks for your comments. We’re considering your suggestions.
I agree that the blog post doesn’t really add anything as to explain why it’s better. Also: Quarkus was born out of JEE and MP-specs (and relies on the RIs backing JEE and MP very heavily) so to me Quarkus is a Jakarta EE / MicroProfile-framework. Spring is another story (it also requires a bunch of stuff that came out of the JEE-forge) but they decided to build their own APIs on top and since it’s not going through a process such as JCP it also shows from time to time (i.e. some aspects of Spring don’t feel coherent, they don’t feel “the same”, imho).
However, from an open standards perspective I agree that it is better. Compete on implementation, not specification. Maintains ROI for all of us that actually have to build real and complex systems that have to last!