MicroProfile programming model support

Liberty supports the Eclipse MicroProfile programming model to develop microservice applications. MicroProfile complements the Java™ Platform, Enterprise Edition (Java EE) 7 and 8 programming models, plus the Jakarta EE 9.1 and 10 programming models, which Liberty supports.

Background

Open Liberty For more information about MicroProfile, see the Open Liberty website.

While Java EE provides a solid foundation to create microservices, it needed technologies and programming models to better suit microservices applications. IBM® and other companies worked together to launch MicroProfile, an open collaboration between developers, the community, and vendors.

The microprofile.io community is dedicated to rapid innovation around microservices and Enterprise Java. This community builds and integrates technologies that are best suited for Java cloud native applications that follow microservices architectural patterns. Collaborators identify, implement, refine, and improve technologies that are commonly used in lightweight micro services. Collaborators also demonstrate how these technologies are used across various runtime environments. Within the microprofile.io community, each MicroProfile release defines a set of technologies at a specific point in the progression of the collaboration.

MicroProfile is an open source project. To start participating in the open source group, visit the MicroProfile website or MicroProfile at the Eclipse Foundation.

MicroProfile technologies

Table 1. MicroProfile support. The MicroProfile technologies table shows how each version of MicroProfile extends Java EE for the microservices environment.
Technology Specification reference Liberty feature Liberty Liberty Core Open Liberty Java EE or Jakarta EE version alignment
MicroProfile 6.1 specification microProfile-6.1 [23.0.0.12 and later] [23.0.0.12 and later] [23.0.0.12 and later] Jakarta EE 10
Config 3.1 specification mpConfig-3.1 [23.0.0.12 and later] [23.0.0.12 and later] [23.0.0.12 and later] Jakarta EE 10
Metrics 5.1 specification mpMetrics-5.1 [23.0.0.12 and later] [23.0.0.12 and later] [23.0.0.12 and later] Jakarta EE 10
Telemetry 1.1 specification mpTelemetry-1.1 [23.0.0.12 and later] [23.0.0.12 and later] [23.0.0.12 and later] Jakarta EE 10
MicroProfile 6.0 specification microProfile-6.0 [23.0.0.3 and later] [23.0.0.3 and later] [23.0.0.3 and later] Jakarta EE 10
JWT Propagation 2.1 specification mpJwt-2.1 [23.0.0.3 and later] [23.0.0.3 and later] [23.0.0.3 and later] Jakarta EE 10
Metrics 5.0 specification mpMetrics-5.0 [23.0.0.3 and later] [23.0.0.3 and later] [23.0.0.3 and later] Jakarta EE 10
Open API 3.1 specification mpOpenAPI-3.1 [23.0.0.3 and later] [23.0.0.3 and later] [23.0.0.3 and later] Jakarta EE 10
Telemetry 1.0 specification mpTelemetry-1.0 [23.0.0.3 and later] [23.0.0.3 and later] [23.0.0.3 and later] Jakarta EE 10
MicroProfile 5.0 specification microProfile-5.0 Jakarta EE 9.1
Config 3.0 specification mpConfig-3.0 Jakarta EE 9.1
Fault Tolerance 4.0 specification mpFaultTolerance-4.0 Jakarta EE 9.1
Health Check 4.0 specification mpHealth-4.0 Jakarta EE 9.1
JWT Propagation 2.0 specification mpJwt-2.0 Jakarta EE 9.1
Metrics 4.0 specification mpMetrics-4.0 Jakarta EE 9.1
Open API 3.0 specification mpOpenAPI-3.0 Jakarta EE 9.1
Open Tracing 3.0 specification mpOpenTracing-3.0 Jakarta EE 9.1
Rest Client 3.0 specification mpRestClient-3.0 Jakarta EE 9.1
             
MicroProfile 4.1 specification microProfile-4.1 Jakarta EE 8
Health Check 3.1 specification mpHealth-3.1 Jakarta EE 8
             
MicroProfile 4.0 specification microProfile-4.0 Jakarta EE 8
Config 2.0 specification mpConfig-2.0 Jakarta EE 8
Fault Tolerance 3.0 specification mpFaultTolerance-3.0 Jakarta EE 8
Health Check 3.0 specification mpHealth-3.0 Jakarta EE 8
JWT Propagation 1.2 specification mpJwt-1.2 Jakarta EE 8
Metrics 3.0 specification mpMetrics-3.0 Jakarta EE 8
Open API 2.0 specification mpOpenAPI-2.0 Jakarta EE 8
Open Tracing 2.0 specification mpOpenTracing-2.0 Jakarta EE 8
Rest Client 2.0 specification mpRestClient-2.0 Jakarta EE 8
             
MicroProfile 3.3 specification microProfile-3.3 Java EE 8
Config 1.4 specification mpConfig-1.4 Java EE 8
Fault Tolerance 2.1 specification mpFaultTolerance-2.1 Java EE 8
Health Check 2.2 specification mpHealth-2.2 Java EE 8
Metrics 2.3 specification mpMetrics-2.3 Java EE 8
Rest Client 1.4 specification mpRestClient-1.4 Java EE 8
             
MicroProfile 3.2 specification microProfile-3.2 Java EE 8
Health Check 2.1 specification mpHealth-2.1 Java EE 8
Metrics 2.2 specification mpMetrics-2.2 Java EE 8
             
MicroProfile 3.0 specification microProfile-3.0 Java EE 8
Health Check 2.0 specification mpHealth-2.0 Java EE 8
Metrics 2.0 specification mpMetrics-2.0 Java EE 8
Rest Client 1.3 specification mpRestClient-1.3 Java EE 8
             
MicroProfile 2.2 specification microProfile-2.2 Java EE 8
Fault Tolerance 2.0 specification mpFaultTolerance-2.0 Java EE 8
Open API 1.1 specification mpOpenAPI-1.1 Java EE 8
Open Tracing 1.3 specification mpOpenTracing-1.3 Java EE 8
Rest Client 1.2 specification mpRestClient-1.2 Java EE 8
             
MicroProfile 2.1 specification microProfile-2.1 Java EE 8
Open Tracing 1.2 specification mpOpenTracing-1.2 Java EE 8
             
MicroProfile 2.0 specification microProfile-2.0 Java EE 8
Config 1.3 specification mpConfig-1.3 Java EE 8
Fault Tolerance 1.1 specification mpFaultTolerance-1.1 Java EE 8
JWT Propagation 1.1 specification mpJwt-1.1 Java EE 8
Open Tracing 1.1 specification mpOpenTracing-1.1 Java EE 8
Rest Client 1.1 specification mpRestClient-1.1 Java EE 8
Contexts and Dependency Injection for Java 2.0 JSR 365 cdi-2.0 Java EE 8
Java API for RESTful Web Services (JAX-RS) 2.1 JSR 370 jaxrs-2.1 Java EE 8
Java API for JSON Processing (JSON-P) 1.1 JSR 374 jsonp-1.1 Java EE 8
Java API for JSON Binding (JSON-B) 1.0 JSR 367 jsonb-1.0 Java EE 8
             
MicroProfile 1.4 specification microProfile-1.4 Java EE 7
Config 1.3 specification mpConfig-1.3 Java EE 7
Fault Tolerance 1.1 specification mpFaultTolerance-1.1 Java EE 7
JWT Propagation 1.1 specification mpJwt-1.1 Java EE 7
Open Tracing 1.1 specification mpOpenTracing-1.1 Java EE 7
Rest Client 1.1 specification mpRestClient-1.1 Java EE 7
           
MicroProfile 1.3 specification microProfile-1.3 Java EE 7
Config 1.2 specification mpConfig-1.2 Java EE 7
Metrics 1.1 specification mpMetrics-1.1 Java EE 7
Open API 1.0 specification mpOpenAPI-1.0 Java EE 7
Open Tracing 1.0 specification mpOpenTracing-1.0 Java EE 7
Rest Client 1.0 specification mpRestClient-1.0 Java EE 7
             
MicroProfile 1.2 specification microProfile-1.2 Java EE 7
Config 1.1 specification mpConfig-1.1 Java EE 7
Metrics 1.0 specification mpMetrics-1.0 Java EE 7
Health Check 1.0 specification mpHealth-1.0 Java EE 7
JWT Propagation 1.0 specification mpJwt-1.0 Java EE 7
Fault Tolerance 1.0 specification mpFaultTolerance-1.0 Java EE 7
             
MicroProfile 1.0 pom microProfile-1.0 Java EE 7
Java API for RESTful Web Services (JAX-RS) 2.0 JSR 339 jaxrs-2.0 Java EE 7
Contexts and Dependency Injection for Java (Web Beans) 1.2 JSR 346 cdi-1.2 Java EE 7
Java API for JSON Processing (JSON-P) 1.0 JSR 353 jsonp-1.0 Java EE 7
Note: The MicroProfile 1.0 functionality is available in WebSphere® Application Server traditional because MicroProfile 1.0 included only three Java EE 7 specifications: JAX-RS 2.0, CDI 1.2, and JSON-P 1.0. Subsequent MicroProfile releases are Liberty offerings.