1 of 20

MicroProfile 6.1

12th October, 2022

1

Copyright © 2023, 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 6.1

4

5 of 20

Working Group Corporate Members

5

6 of 20

Current MicroProfile Implementations

6

7 of 20

MicroProfile 6.1 Released!

Released October 12th, 2022

Offered in the release:

  • Updated 3 MicroProfile Component specifications (Telemetry, Metrics, and Config)

8 of 20

MicroProfile Releases in 2023

8

MicroProfile 6.1

Jakarta EE 10 Core Profile

Config 3.1

Fault�Tolerance 4.0

JWT�Authentication 2.1

Health 4.0

Metrics 5.1

Open Tracing 3.0

Open API 3.1

= Updated

= No change from last release

= New

Rest Client 3.0

Standalone

Context Propagation 1.3

Reactive Streams Operators 3.0

Outside umbrella

Reactive Messaging 3.0

GraphQL 2.0

LRA 2.0

Telemetry 1.1

9 of 20

MicroProfile Config 3.1

9

Provides an easy to use and flexible system for application configuration

  • What's new
    • A few TCK were updated to allow it running with either Jakarta EE 10 Core Profile or Jakarta EE 9.1
    • Minor spec clarification

10 of 20

MicroProfile Fault Tolerance 4.0

10

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

11 of 20

MicroProfile Health 4.0

11

Expose the availability of a MicroProfile runtime to underlying platform�

12 of 20

MicroProfile JWT Authentication 2.1

12

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

13 of 20

MicroProfile Metrics 5.1

13

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

What's new

Functional Changes

  • Introduced MP Config properties that customize how Histogram and Timer metrics track and output statistics for percentiles and histogram-buckets. (691)(676)(675)(674)(587)
  • @RegistryScope is now a qualifier (749)

Other changes

  • Include new recommendation for multi-application deployments to use a mp.metrics.defaultAppName property (766)

14 of 20

MicroProfile Telemetry 1.1

14

Trace request flows between service boundaries

What's new

Consume the OpenTelemetry Java release v1.29.0. The full comparison with the v1.19.0 supported by MicroProfile Telemetry 1.0 can be found here.

Other Changes

  • Consume the latest OpenTelemetry Tracing (88)
  • Clarify which API classes must be available to users (91)
  • Clarify the behaviour of Span and Baggage beans when the current span or baggage changes (90)
  • TCK: Implement tests in a way that is not timestamp dependent (44)
  • TCK: TCK RestClientSpanTest Span Name Doesn’t Follow Semantic Conv (86)
  • TCK: Adding missing TCKs (89)
  • TCK: TCK cannot be run using the Arquillian REST protocol (72)

15 of 20

MicroProfile OpenAPI 3.1

15

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

16 of 20

MicroProfile Rest Client 3.0

16

Type-safe rest client defined as Java interfaces

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 © 2023, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)