BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Is Gartner's Report of Java EE's Demise Greatly Exaggerated?

Is Gartner's Report of Java EE's Demise Greatly Exaggerated?

This item in japanese

Bookmarks

Gartner has produced an analyst report called “Market Guide for Application Platforms”, citing Java EE’s “revenue decline” in reporting “a clear shift” downward in the application platform market. The report was quickly picked up by chief Java EE competitor Pivotal on their website

According to Gartner:

Digital business initiatives require new features and capabilities in application platforms, and Java EE has failed to keep pace.

Application leaders responsible for modernizing application infrastructure should develop a strategy to deal with the obsolescence of Java EE.

By 2019, fewer than 35% of all new business applications will be deployed in Java EE application servers.

The report is attributed to Gartner distinguished analyst Ann Thomas, who has been in research and publishing since 1988, and Aashish Gupta, a researcher since the early days of his career in 2011.  The report precludes the common use case where technologies complement each other in the deployment. 

Unsurprisingly, the report has proved controversial in some quarters.  Reza Rahman, former Oracle Java EE evangelist and now leading the Java EE Guardians, told InfoQ:

It is understandable that this is non-technical staff, and does not seem to admit the reality that if anything there is a trend away from the traditional three-tier model, and frameworks and Java EE frequently sit side by side in the application stack.

Author, technologist and consultant Kito Mann amplified that:

Java EE is not monolithic; it is a collection of standards and you can pick and choose which pieces you want to use. Even Pivotal's Spring Boot is built on some core Java EE specs, like Servlet, JPA, and Bean Validation.

According to Rahman, the data driving Gartner’s report contradicts contemporary independent industry findings:

This is basically a "data driven" report with no clear indication of the quality, source or quantity of data. 

Fortunately, we do have public data to counter this where we know a bit more about the source, quality and quantity of the data. There are a number of surveys we have curated on the Java EE Guardians site: https://javaee-guardians.io/java-ee-adoption-surveys/.

There's also a much less prominent but more recent survey here: https://twitter.com/alejandro_du/status/780414499467780096, citing sources but not quantity of data.

Independently, ZeroTurnaround, maker of the popular JRebel and XRebel software, conducted their own annual industry survey, which corroborates the Java EE Guardian conclusion.

Rahman summarizes the results in a chart that demonstrates the growth of Java EE by version.

Java Community Process member, author, and lifelong enterprise technologist Josh Juneau told InfoQ:

I've skimmed through the report, paying particular attention to those areas that are declaring "the obsolescence of Java EE". The report is clearly geared towards management and development teams that are newer to the market; those who are not familiar with Java EE or all of the many options available for building and deploying enterprise applications. The report paints the picture of Java EE being out of date, although I would argue that much of the community and enterprise customer base would say that this is not the case.

Although in the recent months/years there has been a clear shift in the development strategies that are being taken for building enterprise applications, there is still a place in the market for standard Java EE applications...and there will be for many years to come. That said, Java EE does remains relevant in the market by continuing to release new standards that are geared towards the latest development trends. There was uncertainty in the air (and there still is) around the next release of Java EE since Oracle was very quiet throughout most of calendar year 2016. However, Oracle along with the community are moving Java EE forward in 2017 and continuing to bring new standards to the platform. If one takes a look at the JSR mailing lists, they will see that activity is beginning to ramp up on those specifications that are scheduled for release in Java EE 8.

The microservice and cloud hype is not something that can be ignored. However, those are two areas that may not be pertinent to every enterprise customer; there are many that will never deploy their applications to a cloud environment, and simply require the need to retain full control over their enterprise. For those customers, the current Java EE application server methodology is a great fit.

It is also possible to develop service-based applications using an application server strategy. The "fat JAR" deployment of microservices is not going to work for everyone...nor does it make sense in many cases. This is something that needs to be considered prior to the development of any enterprise application....choosing the best tool and strategy for the task at hand. Enterprise customers should not be choosing microservices or gearing for cloud simply because it is a hot trend, but the report contradicts that argument.

Lastly, Java EE is not meant to be a ground breaking revolutionary platform that brings new techniques and strategy to the market. It is meant to be a consistent and standard environment that is solid, proven, and dependable. Java EE is based on proven standards, and microservices are not yet at a point where they can be standardized; the development methodology is still evolving.

But Juneau expressed one caveat:

I feel that when Java EE 8 is released, it will pave the way for a more standard approach to building microservices and cloud deployments. If the currently projected timeline for release of Java EE 9 remains on track, then I believe Java EE is on target for providing a sound and standard environment for deploying microservices and cloud based applications, as well as continuing to be a great platform for those applications that have been built on the solid Java EE stack over the years. That said, the community and JCP expert groups need to remain vigilant and keep on top of Java EE to ensure that it remains on target. Many in the community had known that reports such as these would be crafted to show that Java EE is in decline, given that Oracle hasn't remained on target with the initial release schedule. This report plays on keywords and new strategies...it does not pertain to enterprise customers that require a solid and standard approach.

Technical author and JavaOne rockstar Ryan Cuprak told InfoQ:

This report is very confusing - I am not sure the authors fully understand the technologies they are comparing/analyzing.

What this report is trying to do is attack Oracle/IBM via Java EE. Notice, the article doesn't discuss cost savings, success, types of projects that are appropriate, concerns about vendor lock-in, etc. 

Java EE is relevant and will continue to evolve. Most Java developers use Java EE everyday even if they aren't aware of it. If you are implementing a micro-service using JAX-RS you are using a component from Java EE. You can't say the platform is dying when it is being used everywhere. Just because you didn't purchase WebLogic for a small departmental application doesn't mean you aren't benefiting from Java EE and using a piece of it.

Reza Rahman added:

Microservices and cloud are clearly on the Java EE horizon; that was the key focus of Oracle’s JavaOne keynote content vis-a-vis the promised accelerated schedule for Java EE 8 and Java EE 9.

Java EE vendors are also doing their part both in products like WildFly Swarm, Payara Micro, etc., as well as joint initiatives like MicroProfile.

As to platform comparisons, honestly it's not that credible to argue Java on the server side will not continue to dominate in the near future just as it has for many years now. If that's the case, really the only two viable choices so far are Java EE and Spring. I've already given you the many resources we have that show Java EE remains the most widely used API set in server-side Java.

The likes of Pivotal have argued otherwise for years now, but those basic facts have remained unchanged for all those years. It's unlikely that's going to change any time soon. As to revenue, the money Pivotal gets from Spring is a pittance compared to what Oracle alone makes from Java EE related offerings. That's not even counting IBM, Red Hat and the rest of the Java EE vendors. It's even more so when counting revenue from the various smaller vendors that build upon one or more Java EE APIs such as the JMS providers out there. 

We remain strong, vibrant and growing as a Java EE and open standards focused community. We have been for many years now which is why we could get the commitments that we have gotten out of Oracle.​

InfoQ also spoke to Alex Theedom, technical author, speaker, and lifelong technologist:

Java EE’s reputation for heavyweight bloat that is slow to add support for emerging application architectures is outdated by years. It was shown by Adam Bien back in 2009 that WAR deployments can easily be only a few kilobytes. Then in 2013 Arun Gupta showed how Java EE applications are clearly much lighter than Spring. Java EE developments are highly productive and lightweight, often requiring only one dependency; this is not something that can be easily said of other frameworks.

Microservices and the cloud are on everyone’s agenda and Oracle has clearly given their commitment. The next release of Enterprise Java, namely Java EE 8, JSR366, includes features that support cloud infrastructure and microservices. In addition to Oracle’s support, many vendors and community leaders are playing a pivotal role in the advancement of Java EE via initiatives such as the microprofile, a collaboration of vendors, community leaders and user groups that are successfully working to push Java EE in the microservices space.

The Java EE community and companies such as Payara, Tomitribe, IBM and Redhat are right behind Java EE devoting time, effort and resources to ensuring that it advances forward in the direction the community wants, and it is being advanced. How many other ecosystems get such support and dedication from those who use it every day?

To claim that Java EE is obsolete, irrelevant and not suitable for cloud-native applications demonstrate a lack of knowledge about what is really happening in the Java EE community, because from my perspective it is alive and well and thriving.

Werner Keil, JCP Executive Committee member points to a trove of important JSRs that are actively brewing, including CDI, JSON-P and JAX-RS, three JSRs used by microprofile. These are positioning Java EE 8 for Microservices and Cloud for release by late 2017 as intended. For HTTP 2 support in Servlet 4, JSON-B is nearing completion, and the new JSR 375, Java Security API, recently passed its renewal ballot and should be in a position to standardize security mechanisms for Java EE that are now only available in a proprietary manner.

Rahman also suggested that the report could have been sponsored, a claim denied by Pivotal when we spoke to them.

Seperately Ian Andrews, Vice President of Products at Pivotal, told InfoQ that

There's a lot of industry chatter about the decline of Java EE, as well as the declining use of legacy app servers. But, the real story is the rise of cloud native architecture. Gartner talks to global CEO's and CIO's every day, and they've astutely recognized this important shift towards cloud native, and advised their clients to pursue a modernization strategy for their existing application portfolio. Gartner's independent research on the rise of cloud native architecture echoes similar findings from other top tier research firms such as Forrester and Redmonk.

Over the past three years at Pivotal, we've witnessed a meteoric rise in the popularity of Spring Boot and Spring Cloud as the building blocks for cloud native applications. This is clearly evidenced by Spring Boot's 10.2 million monthly downloads in November 2016, a 425% increase year-over-year. We look forward to helping many more organizations use our Spring technology to adopt a cloud native architecture as they modernize their critical applications.

Update
This post was updated 22nd December 2016 to include the statement from Ian Andrews.

Rate this Article

Adoption
Style

BT