The Jakarta EE Platform defines a standard platform for hosting Jakarta EE applications.
The Jakarta EE Web Profile defines a profile of the Jakarta EE Platform specifically targeted at web applications.
Jakarta Annotations defines a collection of annotations representing common semantic concepts that enable a declarative style of programming that applies across a variety of Java technologies.
Jakarta Authentication defines a general low-level SPI for authentication mechanisms, which are controllers that interact with a caller and a container's environment to obtain the caller's credentials, validate these, and pass an authenticated identity (such as name and groups) to the container.
Jakarta Authorization defines a low-level SPI for authorization modules, which are repositories of permissions facilitating subject based security by determining whether a given subject has a given permission, and algorithms to transform security constraints for specific containers (such as Jakarta Servlet or Jakarta Enterprise Beans) into these permissions.
Jakarta Batch specifies a Java API plus an XML-based job specification language (JSL), which lets you compose batch jobs in XML from reusable Java application artifacts and conveniently parameterize different executions of a single job.
Jakarta Bean Validation provides an object level constraint declaration and validation facility for the Java application developer, as well as a constraint metadata repository and query API.
Jakarta Concurrency provides a specification for using concurrency from application components without compromising container integrity while still preserving the Jakarta EE platform's fundamental benefits.
The Jakarta Connectors specification defines a standard architecture for Jakarta EE application components to connect to Enterprise Information Systems.
Jakarta Contexts and Dependency Injection defines a powerful set of complementary services that help to improve the structure of application code.
Jakarta Debugging Support for Other Languages provides a mechanism by which programs executed under the Java virtual machine but written in languages other than the Java programming language, can be debugged with references to the original source (for example, source file and line number references).
Jakarta Dependency Injection specifies a means for obtaining objects in such a way as to maximize reusability, testability and maintainability compared to traditional approaches such as constructors, factories, and service locators (e.g., JNDI).
Jakarta Deployment defines standard APIs that will enable any deployment tool that uses the deployment APIs to deploy any assembled application onto a Jakarta EE compatible platform.
Jakarta Enterprise Beans defines an architecture for the development and deployment of component-based business applications.
This specification defines the Web Services for Jakarta EE architecture.
Jakarta Expression Language defines an expression language for Java applications.
Jakarta Interceptors defines a means of interposing on business method invocations and specific events—such as lifecycle events and timeout events—that occur on instances of Jakarta EE components and other managed classes.
Jakarta JSON Binding defines a binding framework for converting Java(R) objects to and from JSON documents.
Jakarta JSON Processing defines a Java(R) based framework for parsing, generating, transforming, and querying JSON documents.
Jakarta Mail defines a platform-independent and protocol-independent framework to build mail and messaging applications.
Jakarta Managed Beans defines a set of basic services for container-managed objects with minimal requirements, otherwise known under the acronym POJOs (Plain Old Java Objects).
Jakarta Management defines a standard management model for exposing and accessing the management information, operations, and parameters of the Jakarta EE Platform components.
Jakarta Messaging describes a means for Java applications to create, send, and receive messages via loosely coupled, reliable asynchronous communication services.
Jakarta Persistence defines a standard for management of persistence and object/relational mapping in Java(R) environments.
Jakarta RESTful Web Services provides a foundational API to develop web services following the Representational State Transfer (REST) architectural pattern
Jakarta Security defines a standard for creating secure Jakarta EE applications in modern application paradigms.
Jakarta Server Faces defines an MVC framework for building user interfaces for web applications, including UI components, state management, event handing, input validation, page navigation, and support for internationalization and accessibility.
Jakarta Server Pages defines a template engine for web applications that supports mixing of textual content (including HTML and XML) with custom tags, expression language, and embedded Java code, that gets compiled into a Jakarta Servlet.
Jakarta Servlet defines a server-side API for handling HTTP requests and responses.
Jakarta Standard Tag Library represents a set of tags to simplify the Jakarta Server Pages development.
Jakarta Transactions defines a standard that allows the demarcation of transactions and the transactional coordination of XA-aware resource managers as described in the X/Open XA-specification and mapped to the Java SE XAResource interface within Java applications.
Jakarta WebSocket defines a API for Server and Client Endpoints for the WebSocket protocol (RFC6455).
Jakarta XML-based RPC defines consistent Java APIs for using XML based RPC standards.
Jakarta XML Registries describes Java API’s designed specifically for an open and interoperable set of registry services that enable sharing of information between interested parties. The shared information is maintained as objects in a compliant registry. All access to registry content is exposed via the interfaces defined for the Registry Services.