Thursday, April 28, 2022 - 06:00
  • Share this article:

The latest version of MicroProfile, the baseline platform definition optimizing Enterprise Java for microservices architecture, is now available: MicroProfile 5.0 was released in December 2021. If you haven’t yet, now is the time to migrate to the latest version. 

MicroProfile 5.0 Aligns With Jakarta EE 9.1

When Java EE rehomed to the Eclipse Foundation, it became Jakarta EE. So, technologies that use Javax had to update their dependencies to Jakarta. 

By aligning MicroProfile with Jakarta EE 9.1, MicroProfile APIs will be able to work with Jakarta EE 9.1, which uses the Jakarta namespace. 

To minimize the migration effort required to adopt MicroProfile 5.0, the MicroProfile specifications didn’t add any new functionalities or include any new features. So, if you’ve been running an application on MicroProfile 4.1, you can move directly to 5.0. 

It was very important to release MicroProfile 5.0 early because it’s going to be the foundation for future innovation in MicroProfile. 

Update Before MicroProfile 5.1 or 6.0 Releases

The next release of MicroProfile, however, will introduce new features and functions, on top of MicroProfile 5.0. 

It is highly recommended that you migrate your MicroProfile applications to MicroProfile 5.0 first. If you go directly to the new version and things aren’t working, it’s more difficult to fix and more problematic. But if you adopt now, work out the kinks, and get a stable codebase, you’ll have a much easier time with future releases. 

There is a tool called Eclipse Transformer that I highly recommend using to transform either the source code or the binary. It can be used to directly transform a package from Javax to Jakarta. 

Once you’ve migrated your code base to MicroProfile 5.0, deploy it to Open Liberty or another MicroProfile runtime that supports MicroProfile 5.0 and see whether it works. 

What Comes After MicroProfile 5.0

A few MicroProfile specifications are planning new updates after MicroProfile 5.0. Let’s look at the details.

MicroProfile OpenTracing to Be Replaced by the New Specification MicroProfile Telemetry

MicroProfile 5.0 and previous platform releases include MicroProfile OpenTracing. Since OpenTracing and OpenCensus were merged and formed OpenTelemetry, the future lies in OpenTelemetry. Consequently, the MicroProfile community is working towards stabilizing MicroProfile OpenTracing and replacing it with MicroProfile Telemetry. MicroProfile Telemetry Tracing will offer similar functionalities as MicroProfile OpenTracing. For example, it will automatically trace the JAX-RS method of location, allowing you to correlate the tracing ID and connect all the spans into one trace. 

There are also three levels of instrumentation being developed for OpenTelemetry:

  • Automatic Instrumentation: Jakarta RESTful Web Services and MicroProfile Rest Clients are automatically enlisted to participate in distributed tracing without code modification.
  • Manual Instrumentation: explicit manual instrumentation can be added into a MicroProfile application using Tracer annotation or programmatic lookup.
  • Agent Instrumentation: OpenTelemetry agent instrumentation automatically adds the tracing information without code.

MicroProfile Metrics Planning a Major Update

The MicroProfile Metrics specification group is also working on a major version update. In the last few years, Micrometer has become very popular. The MicroProfile Metrics team is working on the specification so that the implementors can bring in Micrometer, as well as other metrics libraries. This way, MicroProfile developers can continue using MicroProfile Metrics APIs as well as using the new well-adopted metrics libraries to produce more consumable metrics data.

Minor updates to MicroProfile OpenAPI and MicroProfile JWT are also in progress. 

Get in at the Ground Level of Next-Gen MicroProfile

MicroProfile 5.0 represents, in some ways, a new beginning for MicroProfile as it has updated its dependencies from the dead Javax to the long-lived Jakarta namespace. From now on, MicroProfile will focus on innovation. As a result, getting involved now is an opportunity to get involved at the ground level of the next generation of MicroProfile. 

We encourage people to join the Google group conversation. Bring your ideas on how to evolve current specifications or new ones you want to develop. And we really encourage people to adopt MicroProfile 5.0. The sooner you adopt, the fewer headaches you’ll have. 

And, of course, you can always check out our GitHub, join the mailing list, or have a look at the full breakdown of MicroProfile 5.0. 

Go here to migrate over to MicroProfile 5.0. 

About the Author

Emily Jiang

Emily Jiang

Emily Jiang is a committer to the MicroProfile project, and an Eclipse Architecture Council Appointee. Emily works as a Liberty Cloud Native Architect and Advocate at IBM.