1 of 20

MicroProfile 5.0

7th Dec, 2021

1

Copyright © 2021, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

2 of 20

What is MicroProfile?

  • MicroProfile is an open-source community specification for Enterprise Java microservices
  • A community of individuals, organizations, and vendors collaborating within an open source Eclipse Foundation Working Group to bring microservices to the Enterprise Java community

2

3 of 20

MicroProfile Working Group

  • In October 1st, 2020, MicroProfile became a member of the Eclipse Working Group to close its intellectual property gap
  • The MicroProfile Charter defines the MicroProfile Working Group vision and scope, governance, membership, and more.
  • MicroProfile component specifications follow the MicroProfile Specification Process, a compatible specialization of the Eclipse Specification Process.
  • MicroProfile 4.1 is the first release delivered under the MicroProfile Working Group with compatible implementation declared

3

4 of 20

Release Compatible Implementation

Defined the compatible implementation for MicroProfile 5.0

4

5 of 20

Working Group Corporate Members

5

6 of 20

Current MicroProfile Implementations

6

7 of 20

MicroProfile 5.0 Released!

Released 6th Dec 2021

Offered in the release:

  • Updated all eight MicroProfile Component specifications to align with Jakarta EE 9.1
  • Release

8 of 20

MicroProfile 5.0 (Dec 7th 2021)

8

MicroProfile 5.0

Jakarta�JAX-RS 3.0

Jakarta�JSON-P 2.0

Jakarta�CDI 3.0

Config 3.0

Fault�Tolerance 4.0

JWT�Authentication 2.0

Health 4.0

Metrics 4.0

Open Tracing 3.0

Open API 3.0

= Updated

= No change from last release (MicroProfile 4.1)

= New

Rest Client 3.0

Jakarta�JSON-B 2.0

Standalone

Context Propagation 1.3

Reactive Streams Operators 2.0

Outside umbrella

Reactive Messaging 2.0

GraphQL 1.1

LRA 1.0

Jakarta�Annotations 2.0

9 of 20

MicroProfile Config 3.0

9

Provides an easy to use and flexible system for application configuration

  • What's new
    • Updated to use Jakarta EE 9 dependencies
  • Backwards incompatible changes
    • More ...
  • Specification release (changes)

10 of 20

MicroProfile Fault Tolerance 4.0

10

Defines easy to use and flexible APIs for building resilient applications�

  • What's new
    • Updated to use Jakarta EE 9 dependencies
  • Backwards Incompatible changes
    • More ...
  • Specification release (changes)

11 of 20

MicroProfile Health 4.0

11

Expose the availability of a MicroProfile runtime to underlying platform�

  • What's new
    • Updated to use Jakarta EE 9 dependencies
  • Backwards Incompatible changes
    • More ...
  • Specification release (changes)

12 of 20

MicroProfile JWT RBAC 2.0

12

Using OpenID Connect(OIDC) based JSON Web Tokens(JWT) for role based access control(RBAC) of microservice endpoints.

What's new

  • Updated to use Jakarta EE 9 dependencies
  • Backwards Incompatible changes
    • More ...
  • Specification release (changes)

13 of 20

MicroProfile Metrics 4.0

13

Define custom application metrics and expose platform metrics on a standard endpoint using standard formats

What's new

  • Updated to use Jakarta EE 9 dependencies
  • Backwards Incompatible changes
    • More ...
  • Specification release (changes)

14 of 20

MicroProfile OpenTracing 3.0

14

Trace request flows between service boundaries

What's new

  • Updated to use Jakarta EE 9 dependencies
  • Backwards Incompatible changes
    • More ...
  • Specification release (changes)

15 of 20

MicroProfile OpenAPI 3.0

15

Provides Java interfaces and programming models to natively produce OpenAPI v3 documents from JAX-RS applications��

What's new

    • Updated to use Jakarta EE 9 dependencies
  • Backwards Incompatible changes
    • More ...
  • Specification release (changes)

16 of 20

MicroProfile Rest Client 3.0

16

Type-safe rest client defined as Java interfaces

What's new

  • Updated to use Jakarta EE 9 dependencies
  • Backwards Incompatible changes
    • More ...
  • Specification release (changes)

17 of 20

  • Generate MicroProfile projects�
  • Visual Studio Code plugin

  • Intellij Plugin�
  • Command line tooling

17

18 of 20

MicroProfile Reactive Capabilities

MicroProfile Reactive Streams Operators

A set of operators to create new reactive streams, process the transiting data and consume them with ease

MicroProfile Reactive Messaging

Defines a development model for declaring CDI beans producing, consuming and processing messages. It relies on Reactive Streams Operators and CDI

MicroProfile Context Propagation

APIs for propagating contexts across units of work that are thread-agnostic

18

- Project page

- Spec PDF doc

- Spec HTML doc

- Technology Compatibility Kit (TCK)

Standalone Specifications

- Project page

- Spec PDF doc

- Spec HTML doc

- Technology Compatibility Kit (TCK)

- Project page

- Spec PDF doc

- Spec HTML doc

- Technology Compatibility Kit (TCK)

19 of 20

Get Involved!

19

20 of 20

MicroProfile

20

Copyright © 2021, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)