Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.
Jakarta Agentic Artificial Intelligence
Artificial Intelligence (AI) agents are one of the most prominent developments in enterprise and cloud native computing in decades. They promise to fundamentally accelerate innovation, automation, and productivity by leveraging AI in virtually every industry – IT, finance, banking, retail, manufacturing, health care, and so many others. Agents operate by leveraging Neural Networks, Machine Learning (ML), Natural Language Processing (NLP), Large Language Models (LLMs), and many other AI technologies to aim to perform specific tasks autonomously with little or no human intervention. They detect events, gather data, generate self-correcting plans, execute actions, process results, and evolve subsequent decisions. Examples include self-driving cars, security monitors, Site Reliability Engineering (SRE) agents, stock monitors, code/application generators, health monitors, customer service agents, manufacturing robots, and many others.
As one of the most foundational technologies in the Java ecosystem, the Jakarta EE umbrella and Jakarta EE runtimes are well-positioned to add support for AI agents.
The Jakarta Agentic AI project provides a set of vendor-neutral APIs that make it easy and reliable to build, deploy, and run AI agents on Jakarta EE runtimes.
The Jakarta Agentic AI project:
- Defines common usage patterns and life cycles for AI agents running on Jakarta EE runtimes.
- The API provides a very minimal facade to access more foundational AI capabilities, such as LLMs, without attempting to standardize LLMs. Instead, the API will provide easy, pluggable, and configurable access to existing LLM APIs such as LangChain4j and Spring AI. This API can be created similarly to how Jakarta Persistence provides access to underlying non-standard APIs by unwrapping.
- The API will likely include a mechanism to define agent workflows. This will be done using a fluent Java API (as opposed to XML). The agent workflow will likely be dynamic at runtime rather than strictly defined and static at deployment time. A pluggability mechanism may be provided for YAML and XML.
- The project will aim to utilize Jakarta Config if possible. It may allow implementations to utilize MicroProfile Config.
- The project will not initially seek inclusion into the Jakarta EE platform or any profile. Rather, the project will seek to provide a usable standalone API under the Jakarta EE umbrella that vendors may choose to adopt. In the future, it may make sense to define a Jakarta EE profile for AI in general to which this project could be added. Such a profile could conceivably also include separate specifications to attempt to standardize other important AI concepts such as LLMs and model augmentation/context servers.
- Implementations may provide integrations with OpenTelemetry.
- The project makes a reasonable effort to keep the API potentially usable in runtimes such as Quarkus, Micronaut, and Spring Boot though Jakarta EE compatible runtimes are the clear primary target.
The project provides an API to facilitate the execution of AI agents on Jakarta EE runtimes. It defines the API contract between the runtime and agent implementation. This is similar to what Servlet did for HTTP processing, Jakarta REST did for RESTful web services, or perhaps most appropriately, Jakarta Batch did for batch processing. The annotation-based API will define common usage patterns and life cycles that make it as understandable, consistent, and easy as possible to implement different types of agents. CDI is used as a core component model for the API. The project will likely also define integrations with other key Jakarta EE APIs such as Validation, REST, JSON Binding, Persistence, Data, Transactions, NoSQL, Concurrency, Security, Messaging, and so on. The project aims for the broadest industry consensus possible by engaging as many relevant subject matter experts and API consumers as possible, from within the Java/Jakarta EE ecosystem as well as externally.
The project aims to do for AI agent developers what Jakarta REST did for REST service developers, for example. Therefore, making it an official Jakarta specification makes perfect sense.
The goal is also to ensure that agents implemented using the API work well with other Jakarta EE technologies and runtimes, such as CDI, etc.
The primary objective is to generate a minimal initial standalone release by the end of the calendar year, which should include at least one implementation and a TCK. The project will seek to build momentum based on this minimal release, including broadening awareness, participation, and adoption. Subsequently, we aim to iterate quickly based on evolving industry knowledge on Agentic AI as well as user feedback.
The plan is to start work on the specification and implementation in Q4 2025, with the goal of producing an initial release by the end of the year.
- Payara
- Oracle
- Fujitsu
- London Java Community
- OmniFish
- Werner Keil
- Istanbul JUG
- Garden State JUG
- Log in to post comments
The project provides an API to facilitate the execution of AI agents on Jakarta EE runtimes. It defines the API contract between the runtime and agent implementation. This is similar to what Servlet did for HTTP processing, Jakarta REST did for RESTful web services, or perhaps most appropriately, Jakarta Batch did for batch processing. The annotation-based API will define common usage patterns and life cycles that make it as understandable, consistent, and easy as possible to implement different types of agents. CDI is used as a core component model for the API. The project will likely also define integrations with other key Jakarta EE APIs such as Validation, REST, JSON Binding, Persistence, Data, Transactions, NoSQL, Concurrency, Security, Messaging, and so on. The project aims for the broadest industry consensus possible by engaging as many relevant subject matter experts and API consumers as possible, from within the Java/Jakarta EE ecosystem as well as externally.
- Log in to post comments