Skip to main content

Jakarta EE

Jakarta EE is a vendor-neutral, open specification platform for building and running enterprise-grade Java applications, governed by the Eclipse Foundation.

  • Specification suite for enterprise Java application development (application platform).
  • APIs for web, Representational State Transfer (REST), and messaging-based services (application integration).
  • Components for persistence, transactions, and concurrency (enterprise middleware).
  • Support for security, authentication, and authorization in Java applications (identity and access management).
  • Compatibility program for Jakarta EE runtimes and implementations (conformance and interoperability).

More About Jakarta EE

Jakarta EE is a collection of open, vendor-independent specifications for developing and operating Java-based enterprise applications, hosted and managed by the Eclipse Foundation. It defines a standard platform on which multiple compatible implementations can run, enabling organizations to build portable applications that can move between compliant application servers and cloud runtimes. Jakarta EE continues the enterprise Java specification work formerly known as Java EE under a community-driven, open specification process.

The Jakarta EE platform covers multiple technical domains that are common in enterprise systems. It defines specifications for web applications and services (web application platform), including servlets and server-side user interface technologies. It includes APIs for RESTful web services and XML or JSON-based communication (application integration), as well as messaging APIs for asynchronous communication with message-oriented middleware. Jakarta EE also provides specifications for persistence and object-relational mapping (data persistence), transaction management (transaction processing), and concurrency utilities for managed multi-threaded execution (application runtime management).

Security is a core area of Jakarta EE. The platform includes specifications for authentication, authorization, and Role-Based Access Control (RBAC) (identity and access management), as well as integration with container-managed security models. Jakarta EE defines contracts for packaging and deploying applications, such as enterprise archives and web archives (deployment packaging), and describes how components interact with the application server container through dependency injection and lifecycle management (application container model).

In enterprise environments, Jakarta EE is used as the target platform for application servers and cloud-native runtimes that implement the specifications. Organizations deploy business applications onto Jakarta EE-compatible products, benefiting from standardized APIs and behaviors across vendors. The ecosystem includes profiles such as the Jakarta EE Web Profile and Core Profile (platform profiles), which focus on subsets of the full platform tailored to specific deployment and resource requirements, including microservices and cloud workloads.

Jakarta EE is organized through the Eclipse Foundation Specification Process, where working groups and specification projects maintain individual APIs and coordinate releases (open specification governance). The Jakarta EE Compatibility Program (conformance and interoperability) defines tests and criteria that products must meet to claim compatibility, helping enterprises select runtimes that adhere to the same platform definitions. Within a technical taxonomy, Jakarta EE fits into the categories of enterprise application platforms, Java middleware specifications, and cloud-capable application runtimes, serving as a reference specification suite for standardized enterprise Java development and deployment.