Jakarta EE and MicroProfile — thoughts on the path forward

Jakarta EE and MicroProfile — thoughts on the path forward

Regular readers of this blog have noticed me writing about MicroProfile and Jakarta EE several times, including here, here and here.

There are a lot of similarities between them:

  • Both are governed under the Eclipse Foundation
  • Both are sets of specifications for Java
  • Both are typically implemented by a runtime or application server
  • Both are open source
  • Several of the same people are in both working groups
  • Jakarta EE Core is used in both

On the other hand, there are notable differences:

  • Jakarta EE has, in different facets, been around for decades, and is widely used, where MicroProfile is still relatively new, established in 2016
  • The process for advancing Jakarta EE is significantly more complicated than MicroProfile’s
  • MicroProfile is, as the name implies, tailored at micro services, whereas Jakarta EE targets even more aspects of enterprise Java applications

In 2016, Java EE was owned and controlled by Oracle, and not much had happened to it since the release of Java EE 7 in May 2013. The impression in the industry was that Java EE was getting stale, and further development was hard to see and not very motivating to rely on.

This lead to MicroProfile being coined in June 2016, with the purpose of enhancing enterprise Java through moving fast with limited overhead and processes.

2017 until now

2017 was a transformative year for the enterprise Java sphere.

First, Oracle released Java EE 8 in August.

Then, shortly after, they announced that they intended to transfer Java EE to the Eclipse Foundation. A precondition for this move was that the name should no longer contain Java, along with a gazillion of other legal and mercantile tasks, all of which Arjan Tijms elaborates precisely in this blog post.

As part of the process, Java EE rebranded into Jakarta EE. New organization, new governance process, but the same specifications and the same concepts.

September 2019 saw the release of Jakarta EE 8 — the first Jakarta EE release. Over two years had passed since Java EE 8 hit the market, and two years had gone since the transfer to the foundation started, and finally the mercantile issues were sorted out and laid behind us.

A major obstacle for enhancing the platform was the code namespaces, though. A prerequisite for updating the code base was that the namespaces of java.* and javax.* had to be changed, so all parts of the code was now moved into the new jakarta.* namespace. This required a lot of work, primarily to ensure that the switch would be easy for the end users — application developers — so this was the entire release of Jakarta EE 9, which was released in December 2020.

Only now, functional and technical improvements to the platform could be published. Jakarta EE 9.1 came out in May 2021, bringing the first actual changes for almost four years.

Since then, we’ve seen Jakarta EE 10, introducing many new features, including the Core Profile that MicroProfile now depends on.

Also, Jakarta EE 11 is partly released, with the full release coming up soon, and there are ongoing discussions on establishing a stable release cadence, with new releases of Jakarta EE coming at a given frequency — say every 18 months or every second year.

Updated circumstances

For MicroProfile, the changes in Jakarta EE has somewhat altered its basis of existence. The state where Java EE was stale and moving very slowly is no longer the case.

The evolution of Jakarta EE leading to the introduction of the Core Profile also switched things around a bit, in the sense that MicroProfile now has an explicit dependency to a given Jakarta EE version, where it used to be more indirectly through the dependency on each specification.

Now what?

There have been discussions on the MicroProfile mailing list this spring on hosting MicroProfile in Jakarta EE.

To my knowledge, no conclusion has been made yet. My guess? Several of the most influential voices in the community have advocated for this merge, so my bet is that some kind of merge will happen, or at least be approved, during 2025.


Jakarta EE and MicroProfile — thoughts on the path forward was originally published in Compendium on Medium, where people are continuing the conversation by highlighting and responding to this story.