Dissecting the 2021 Jakarta EE Developer Survey
Wednesday, 22 September 2021

This survey comes from the Eclipse Foundation and provides technical insights into enterprise Java that give answers to questions like which Java based framework is on the rise, whether Java is used for Cloud native development and much more.

 

Jakarta EE provides a way to modernize infrastructure and reuse the developer pool of the aging(?) Enterprise Java developers in a new setting. We saw something like that in  Vaadin Reaches Version 21, about the Vaadin framework which supports using the Java stack for writing both the back and front ends of Web applications, without having to learn Javascript or another client framework like Vue or Angular. This is an obvious advantage for those working with long-established code which albeit reliable, is that agile compared to lighter and more modern software development shops.

Just like Vaadin, Jakarta EE finds itself mostly used in an Enterprise setting. That property is embossed in its name after all; EE for Enterprise Edition.

Born in 2017 out of Java EE when Oracle contributed it to the Eclipse Foundation, it was subsequently relaunched as Jakarta EE as well as open-sourced. What it essentially represents, is Java's ability of modernizing, but at the same time keeping ties with the past - a quality highly sought after by those enterprise environments.

At its core Jakarta EE is a both a framework and a collection of APIs for mainly developing Web services as well as enabling interoperability between distributed systems. Its versatility lies in that while you can use it in building microservices, you can also use it in developing monoliths.

As the Eclipse Foundation 2021 Jakarta EE Survey reveals, the trends want Jakarta departing from the old model of monolithic applications and transitioning exclusively to the Cloud, meaning that it facilitates enterprises taking that step forward without having to dump their existing infrastructure.

In fact, Jakarta EE underpins many such infrastructure technologies:

Apache Tomcat implements four Jakarta EE specifications — Jakarta Servlet, Jakarta Standard Tag Library, Jakarta WebSocket, and Jakarta Authentication.

Spring Boot embeds Apache Tomcat, Eclipse Jetty, or Undertow as a runtime.

Eclipse Jetty implements the Jakarta Servlet, Jakarta Server Pages, and Jakarta WebSocket specifications. .

MicroProfile implements four Jakarta EE specifications – Jakarta RESTful Web Services, Jakarta Contexts and Dependency Injection, Jakarta JSON Binding, and Jakarta JSON Processing.


In sync with the trends, the survey's focus was on understanding how the cloud native world is unfolding for enterprises and what that means for their strategies and businesses.

The Key Findings

Unsurprisingly, Spring/Spring Boot continued to dominate this space too with a coverage of 60%, up 16% since last year, but Jakarta EE followed closely at second place with a 47% adoption, up 12%. The rest of the share goes to Microprofile with a hefty 34%, up 5%, followed by Micronaut and Dropwizard in that order.

On the other end I was surprised that Microprofile has gained just a 5% raise since last year, considering that it is feature complete; Config, Health, Metrics, Opentracing and OpenAPI, it's all there.

The second finding is that the adoption of microservices using Java as its tooling is on the rise with an increase of 4% since 2020 (39%) and that the three most popular cloud native technologies were Docker, Kubernetes, and Jakarta EE.

On another note, it seems that developers are at last moving away from Java version 8 and are embracing Java 11, with an increase of 28% since last year. This is not surprising as Java 11 plays an important role in cloud environments because it is tuned to make Java workloads more efficient under containers.

The surprising fact was that, despite the strict licensing scheme, most people in this survey preferred using Oracle's JDK (at first place with 40%), rather than going all out with OpenJDK which has much more lax licensing. That said, AdoptOpenJDK followed breathing down Oracle JDK's neck just one percent lower, 39%.

Given the findings of Snyk's JVM Ecosystem Report 2021, which had AdoptOpenJDK ranked at first place with 44% and Oracle's JDK at 3rd with 23%, I would not have expected Oracle JDK to come top. However, it seems that especially on cloud native production environments, Oracle's propriety JDK is preferred, probably due to enterprises valuing Oracle support.

The top 5 runtimes/application servers in a cloud native environment were Apache TomCat as usual, WildFly, Quarkus, Jetty 4 and JBoss Enterprise Application Platform, in that order. I can understand Wildfly in second place due to its easy  configuration, support for JAX-RS2 and it being lightweight on resources. But can anyone tell me where Weblogic lies? Is it almost non-existent because it is the opposite of Wildfly? Looking at the Jakarta EE compatibility charts, Weblogic support stopped with Jakarta's version 8. Does that constitute breaking ties with the past in order to modernize?

Next were the top three architectural approaches for implementing Java systems on the cloud. Again Microservices is in 1st place with 43%, Hybrid 2nd with 29% and Monoliths 3rd with 18%. The share of Monoliths still sounds high, but looking behind the numbers consider that:

Use of the hybrid architecture approach for implementing Java systems in the cloud has increased since last year with 29% adoption reported in 2021 (up from 23% in 2020) and has outpaced monolith, which was ahead of hybrid last year.

Finally, over 48% of respondents have either already migrated to Jakarta EE or plan to within the next 6-24 months while the top three priorities that the Jakarta EE community should be focusing on were:

 

  • Native integration with Kubernetes (2021: 63% vs 2020: 47%)
  • Better support for microservices (54% up from 41% in 2020)
  • Faster pace of innovation (33%)

 

Wrapping up, I think that the summary goes beyond Jakarta and Cloud Native. It is a testament to Java's timelessness, being out of fashion but never out of work. But even that retro aspect is currently under siege too, due to the release of the long-awaited version 17 which is a game changer. So if you are a Java developer, you will just continue doing it for years to come - under any environment, Cloud or not.

2021JakSurvey

More Information

2021 Jakarta EE Developer Survey Results

Download the report (requires filing a form)

Why Jakarta EE Is Taking Off Globally

Related Articles

Keep Track Of Java Features with JEP Search

Java 17 Release Promises Faster Performance

Vaadin Reaches Version 21

 

{loadposition signup}

{loadposition moreNEWS}

{loadposition moreNEWSlist}

{loadposition comment}

Last Updated ( Wednesday, 22 September 2021 )