Jakarta EE vs Java EE vs EE4j

Jakarta EE, Java EE, and EE4J are all related to the Java Enterprise Edition (EE) platform, but they represent different stages and developments in the evolution of Java EE. Here’s a comparison between Jakarta EE, Java EE, and EE4J.

  1. Jakarta EE:
    • Jakarta EE is the latest version and the current name of the platform formerly known as Java EE. It is developed under the umbrella of the Eclipse Foundation.
    • Jakarta EE aims to continue the evolution of the Java EE platform by following an open and community-driven process. It allows for rapid development, innovation, and standardization of enterprise Java technologies.
    • Jakarta EE leverages the existing Java EE specifications but operates under the Jakarta EE Specification Process, which emphasizes vendor-neutral development and open-source collaboration.
    • Jakarta EE is designed to provide a stable and modern enterprise Java platform that is compatible with existing Java EE applications and frameworks.
  2. Java EE:
    • Java EE (Java Enterprise Edition) refers to the previous versions of the enterprise Java platform before the transition to Jakarta EE.
    • Java EE was developed by Oracle (formerly Sun Microsystems) and was the industry standard for building enterprise applications in Java.
    • Java EE provided a set of specifications and APIs for developing enterprise-grade applications, including features like servlets, JavaServer Pages (JSP), Enterprise JavaBeans (EJB), Java Persistence API (JPA), and many others.
    • The Java EE platform underwent various versions and updates over the years, with each release introducing new features, enhancements, and improved compatibility.
  3. EE4J:
    • EE4J (Eclipse Enterprise for Java) is an open-source initiative launched by the Eclipse Foundation after Oracle donated Java EE to the Eclipse community.
    • EE4J was created to provide a vendor-neutral and open-source home for the development of Java EE technologies.
    • The goal of EE4J was to transfer the Java EE specifications, TCKs (Technology Compatibility Kits), and related projects to the Eclipse Foundation, fostering community collaboration and ensuring the continued evolution of the platform.
    • EE4J served as an intermediate step in the transition from Java EE to Jakarta EE. Its main objective was to repackage and rebrand Java EE technologies under the Eclipse Foundation’s governance.

A table comparison

Finally, the following table summarizes the key differences between these platforms:

Jakarta EEJava EEEE4J
DevelopmentDeveloped by a global community of leading developersDeveloped by OracleDeveloped by Eclipse Foundation
PlatformEclipse FoundationOracle (formerly Sun Microsystems)Eclipse Foundation
TransitionSuccessor of Java EEPrevious versions of Jakarta EEIntermediate phase in transition to Jakarta EE
GovernanceCommunity-drivenOracle-ledEclipse Foundation
SpecificationsJakarta EE Specification ProcessJava EE specificationsRepackaged and rebranded Java EE technologies
Open-SourceYesYes (Oracle-led implementations)Yes (as an open-source initiative)
CompatibilityCompatible with existing Java EE applications and frameworksCompatible with previous Java EE versionsAimed to ensure compatibility with Jakarta EE
InnovationAllows for rapid development, innovation, and standardizationEvolved over the years with each releaseFocused on transferring Java EE technologies
FutureRepresents the future of enterprise JavaNo longer in active developmentTransitioned to Jakarta EE