Not so long ago, a Market guide for Application platforms published by Gartner appeared. The market guide, as it’s authors Anne Thomas and Aashish Gupta named it, presents some very daring statements regarding Java EE world. Java EE is marked as an obsolete three tier technology that is fading in relevance. It also predicts Java EE’s market share to shrink rapidly during the years to come. As a conclusion, the report literally recommends “giving preference to vendors that articulate a platform strategy that supports modern application requirements”.
By writing this report, I believe Gartner has crossed the line of what is acceptable. It’s pure garbage. There are lots of mistakes and none of the authors understands even basic understanding of the field. In this blogpost, Gartner’s trustworthiness and realiability is doubted. Also, Gartner’s self proclaimed status of a company doing “research” is rejected. It is shown that Pivotal offers nothing more than Java EE or other technologies on the market can offer.
Main and most important goal of this reading is simply to stand against lies being spread. It also aims to show how a source pretending to be reliable can provide misleading information, as well as it might become a corrupted medium.
- Gartner’s analysts Anne Thomas and Aashih Gupta delivered incorrect/false information in their report
- Methods used in the article are not research methods
- They article is potentially sponsored
When the report is accessed from author’s pages, a registration and purchase is required. Right above the “Register now” button, there is a “Buy this document” text, claiming the price of 1,295.00$. Seems like world’s most expensive fairy-tale. It is strange that the link from Pivotal’s site shows the report directly, for free. I could only speculate why, so I will not do it.
Gartner is not a research company
Gartner itself on it’s websites claims that: “Gartner is the world’s leading information technology research and advisory company”. However, research has it’s specifics. In order for something to be called research, among other things, one must find reliable evidence to support your reasons (link). The reliable evidence part is crucial.
Researchers all around the world put evidence first to support to their conclusions. This point is, I believe, widely understood and accepted. If not, there is plenty of free examples available without the need to pay for them, like Google Scholar. There is also a project to provide free access to research papers for anyone, called Sci-Hub. Feel free to investigate the area there, rather than paying to Gartner. By looking at the structure of a typical research paper, few things can be observed:
- Proofs are used to support conclusions
- Authors demonstrate understanding of the field they’re researching in
- Citations showing the origin of information provided in the text are widely used
- There is no limited warranty, no disclaimer
In the market guide presented by Anne Thomas and Aashish Gupta, there is no sign of evidence. It just presents some information and the reader is supposed to believe it. The goal of these statements is doubtful - it may serve just to sell a report to uniformed readers, or to directly promote a company and it’s products, wrapped as a research. The information presented in the report are not facts, nor are proved. Logic, reasoning, citing other reaserchers, that’s not the style of this report. There are 3 citations for 11 pages of text in the Gartner’s report. And those sources are websites providing “hot news”. Or in another words, those are newspapers. All the graphs have source “Gartner”. How can Gartner be a source of information about the revenues of companies mentioned in the market guide ?
Researchers do stand for their work. Usually, a group of researchers works hard to answer certain questions. If answers are found, their correctness is backed by the many times mentioned proof. Anyone is free (and welcomed) to challenge content of any paper, proving it either wrong or write. However, under every Gartner’s report, there is one tiny, but important note. A disclaimer. A few setences telling that, pardon me, Gartner knows shit. I’m sorry for the language used, but I could hardly find other words. The following disclaimer can be found under every single one of their reports.
- The information contained in this publication has been obtained from sources believed to be reliable. Gartner disclaims all warranties as to the accuracy, completeness or adequacy of such information and shall have no liability for errors, omissions or inadequacies in such information. This publication consists of the opinions of Gartner’s research organization and should not be construed as statements of fact. The opinions expressed herein are subject to change without notice. Gartner provides information technology research and advisory services to a wide range of technology consumers, manufacturers and sellers, and may have client relationships with, and derive revenues from, companies discussed herein. Although Gartner research may include a discussion of related legal issues, Gartner does not provide legal advice or services and it’s research should not be construed or used as such.
This is completely insane. A company, marketing itself as “the world’s leading information technology research company” basically tells you they have no confidence at all. Well, I wouldn’t too if I cited newspapers. My advice is to go and buy access to real research papers. It’s cheaper and there is no disclaimer. While reading the disclaimer, Red Dwarf came to my mind:
“Let’s at least ask someone who’s at least going to give us a slightly more intelligent opinion: Hello, wall! What do you think?”
Ok, the report does not really have parameters of a research paper. But Gartner also states that it provides advisory services. Maybe this “market guide”, is just a pricy advice. I was wondering if the authors can bring any value to the guide, after it had been clear that the “market guide” is truly not a result of any research. Let’s have a look.
- Bachelor of Arts, Economics, Wellesley College
- Patricia Seybold Group, Editor in Chief, 3 years
- Sun Microsystems, Director of Market Innovation, 2 years
- Systinet, Chief Technology Officer, 1 year
- B.Tech, Computer Science
- M.B.A., Finance
- Axis Risk Consulting, Consultant, 1 year
- Copal Amba, Associate, 2 years
None of the authors ever touched Java EE profesionally. None of them ever made a living with Java EE. I sincerely doubt they have ever seen it and I also doubt they’re able to achieve even the simplest of tasks with it. I could not find any code or any note anywhere on the internet. Not a single line of code to be found. Not a single project they’ve worked on. Feel free to correct me if I’m wrong. Mr. Gupta is basically a bachelor with no experience in real software development, working for two years as an associate and another one year in a risk-consulting company. If managers dare to take an advice from a youngster with 3 years of experience in completely different field, when there is no evidence he has ever worked with the things he is talking about, bad for them.
Mrs. Thomas has some experience, working as a CTO for one year. Other jobs involve marketing only, yet those are interesting positions and I can honestly say that Mrs. Thomas is the more reliable source in this paper. Sadly, we don’t know who wrote which part. However, her education is economics and she probably does not understand the technology, as demonstrated in chapter two. Again, there is no evidence of any Java EE experience.
Don’t get me wrong, This is not personal. The authors clearly don’t understand the most simple things, yet they feel entitled to write this research, market guide or whatever the hell this is. But I don’t give such advices marked as “the world’s leading information technology research company”.
Reader is presented with a 1,295.00$ bill for a text which looks more like a fantasy literature, trying to tell the reader what he or she should do with technology budget for the next couple of years. For the price, there is absolutely no warranty. The sources are “believed to be reliable”. Therefore, the reader is reliant to believe Gartner that they belive the sources present. I wonder who is stupid enough to do this. What if Gartner released a report about your company, claiming it is obsolete, but providing no evidence ? They’re Gartner, they say so. You have to believe them. They’ve worked in marketing and therefore understand the technology well enough. Also, they cited some newspapers, for an extra added value ! If this is how people responsible for decision making obtain information…well, it’s their choice after all.
Just about every statement about Java EE in the market guide is wrong. I already took a quick look on some of them.
Java EE is not a three-tier framework
As Java EE and other three-tier frameworks, such as ASP.NET, fade in relevance, application leaders must build a strategy to shift to alternative platforms that support cloud-native applications.
That is in fact a huge faux-pas. Java EE is the standard in community-driven enterprise software, as defined by Oracle. It is a set of technologies proposed, reviewed, polished, accepted and update by the community. This process called the Java Community Process, or shortly, JCP. A short look into Gartner’s glossary says exactly the same. Three-tier frameworks, or multi-tier frameworks in general support an architectural approach, that’s it. It is a design where program’s functionality is separated into tiers, each providing certain functionality to it’s preceeding tier and makes use of the functionality provided by it’s successor to carry out it’s part of the overall request process (source). Java EE’s capabilities definitely allow creating n-tier application, but that’s only a subset of Java EE’s capabilities and it’s not definitely the point of Java EE’s existence. Also, I couldn’t find out where in specifications Java EE forces exactly three-tier approach. N-tier approach is a necessary part, but it’s not the only component there. Java EE is not defined by being an n-tier framework. The report also mentions ASP .NET to be a three tier framework, which I believe is also not correct (source).
Gartner warns it’s readers that: “Java EE is a framework for building three-tier client/server applications, but the three-tier model is obsolete”. Then they add in conclusion: “Shift from three-tier to MASA and adopt miniservices or microservices to improve agility and scalability”. This is outrageous. Microservices usually have interface and it’s definition is mostly fuzzy. A well known professional, Martin Fowler, explains them in his video. Have a look. But, and it is a big but, those microservices, nanoservices and whatever the marketing department comes with, have layers inside too. Data have to be taken from somewhere. Bussiness logic must be done somewhere. Of course, there can be a dedicated service for everything. But even those dedicated services will have layers inside. If not, the code would be a complete mess. Java EE is definitely not a three-tier framework, but has capabilities to build n-tier systems, if required. It may be a big surprise to Gartner, but Pivotal’s Spring Cloud, complemented with Spring itself, has the same attributes. It is also used to write three-tier applications in real world, but even Spring doesn’t force it. Every enterprise Java developer out there knows that and takes that for Granted, since it’s such a basic knowledge people in Gartner lack.
Java EE is fading in relevance
As prevously stated, Java EE is governed by the Java Community Process. It is an open process. Pivotal’s Spring Cloud is pushed as a better alternative to Java EE in the market guide. Spring Cloud on it’s own is dependent on Spring itself. Spring Cloud on it’s own is no replacement for Java EE, or Dropwizard, or anything else mentioned. Apples and oranges are mixed again.
It may surprise the managers reading it, but Spring has Java EE inside. Quite a lot of Java EE. Unlike e.g. Microsoft, Pivotal has no standalone product to compete with Java EE or other technologies on the market. Some of the open standards present in Java EE are the foundation of Spring. Spring took the ideas created in JCP process and built it’s own functionality around it. Historically, Java EE was the starting point of Spring’s bussiness. Now it’s Pivotal’s bussiness, since Spring is owned by Pivotal. So, according to the report, Java EE is good enough when sold by Pivotal, but not enough when sold by others. This is how the message of the report should be received ?
The sentence “Commercial Java Platform, Enterprise Edition (Java EE) platforms revenue declined in 2015” is to be found in the report. And as there are no sources mentioned in the article and source for all numbers and graphs is just Gartner, should the reader believe those statements and numbers ? It’s not proven and that’s the point. Those numbers could just be made up. What reasons does this leading, professional “research company” have to hide their sources, instead of supporting their “research” with reliable evidence ? I can only come up with one reason: there are no sources at all.
In 2007, Gartner already tried to scare everyone with “Established application server vendors must redefine their strategies to face competition from new layers bringing innovations to market.” Fast forward to 2017 and it looks like the “innovative competition” is gone and forgotten. It’s yet another Gartner’s fairy tale, for yet another 1,295.00$. One of the “competing companies” provides quotes from the report on their website. It’s Pivotal again. What a coincidence. In the article, Neelan Choski for example states that “developers are frustrated with the complexities of Java EE”. Those debates were here for a long time. As you can see, the Gartner report is perfectly in line with Spring’s long-term “communication strategy”. They use Java EE, they are depending on it, yet they would do everything to kill it and replace it with their own technology. Is there any other framework on the planet employing people who behave like that ? It’s just marketing strategy. Pivotal’s position is weak. They are dependent on technology developed by someone else, be it Spring or be it databases. I’ve seen quite a few companies from inside. Banks, telco, security, insurance companies … they all have Java. And they all have any of the variety of application servers out there. WebSphere, WebLogic, JBoss are among the most common AS to be found. When Spring is used, and it’s not used as often as one would think, it’s deployed into these servers or into Tomcat. Actually, Tomcat is very common. However, I never saw anyone buying Tomcat with support, called the tcServer. And eventhough tcServer is pratically done these days, it was almost never used by anyone in history. It is so rare to find it in production. I don’t know about any big bank, telco company, insurance company or any other company in Europe that uses it. I never met it in my carreer. My experience is confirmed by this report, clearly stating that Pivotal’s revenues lie much more in services than in products. Very few people buy Pivotal’s products, therefore their marketing shift to Cloud services is understandable. If nobody buys your products, you can try to re-wrap them and sell them as a service. What do you think runs inside Spring Cloud ? Anyway, let’s have a look at the revenues. Thats a drop in the sea compared to the big players. And Gartner gives us advice to leave the big players (who offer open standard) and go to Pivotal(proprietary). Gartner’s advice is to become dependent on a single “small” company. With Pivotal’s cloud services come their old products, only re-wrapped. And with Spring Cloud, whole Spring Framework comes. But wait, those are the same products nobody wants to pay for in real world. The old product did not sell well, so they rebranded it and now they sell the same thing under a new name.
Just read carefully the following quote from the report: “By the time Java EE catches up with basic features required for today’s applications, it will be at least two or three years behind the times again”. What are the basic features Pivotal or any other technology mentioned in the report offers that Java EE doesn’t have ? The report doesn’t say that. Spring’s configuration hell and String qualifiers probably. If nothing else makes me suspicious about who paid for this report, this section does. It really smells. Do I have to mention the lack of evidence, for I did it so many times ?
Java EE supports IoT and other technologies
The report tells it’s reader to “give preference to vendors that articulate a platform strategy that supports modern application requirements, such as public, private and hybrid cloud deployment, in-memory computing, multichannel clients, microservices, event processing, continuous delivery, Internet of Things (IoT) support and API management.”
I already addressed that in my previous post, but I’d like to focus on this a little bit more. It is now clear that neither of authors have even the smallest clue what Java EE is. I don’t expect them to understand any of these terms like Internet of Things or continuous delivery. The IoT buzzword is especially delightful. There is a lot of mathematics and especially statistics involved in making those devices behave intelligently in their environment, solving security problems or making autonomous intercommunication possible. Because programming every single specialized device is a time-consuming job nobody wants to do. A good reliable sources on IoT are these three papers:
- Internet of Things (IoT): A vision, architectural elements, and future directions
- Internet of things: Vision, applications and research challenges
- The internet of things: A survey
There is nothing Pivotal offers in this field not present in Java EE. I don’t see how they “articulate IoT”. I can’t even imagine how this can be done. By standing with a transparent on the sidewalk, reading “I articulate IoT” ? If Internet of Things is viewed as a group of small devices, or as a finite set of discrete groups of smaller devices, where smallers means limited size and thus limited computation resources, then I don’t see how Java EE is not usable, or is less usable than Pivotal’s products. Acutally, Java EE’s implementations are proved to be smaller in size than Spring. Few years ago by Arun Gupta, more recently by Sebastian Daschner. Which is probably better for resource-limited IoT devices ? Still, how Spring Cloud is related Internet of Things is left unexplained in the report. The report also recommends Mendix as an innovative platform.
The cloud deployment part is the same story. By the way, even Gartner itself claims private clouds fail to meet expectations (link), to put it politely. Every child now knows that cloud just means “someone else’s computer”. The original term “cloud” was somewhat extended, but the core principle of resources and services provided by a third party vendor remains the same. Those cloud machines run some operating system. Operating system handles processes. Applications build on top of Java EE standards are ran exactly that way. Just as Pivotal’s products do. Therefore, both solutions are cloud-ready. If you build your application on top of Spring Cloud with all the Spring-only products inside and Pivotal closes the shop one day, your application is screwed. This is not the case with Java EE.
Gartner in the report gives advice to move away from Java EE and it’s servers. Instead, they propose something called “Specialized platform technologies”, which is a term explained in the report as a “specialized platform technologies provide interesting alternatives to general-purpose application platforms”.
Hold on for a minute. What follows immeditely is really unbelievable. Authors say: “Open-source-embeddable platforms include Apache Tomcat, Caucho Resin, Eclipse Jetty and JBoss Undertow”. Those are products with Java EE inside. I don’t even mention that Undertow is something “slightly” different and authors yet again mix apples and, well, elephants. Just have a look at Resin’s site. It says “Resin is a fast, ultra-reliable Java EE integrated solution”. Go on, have a look at Apache Tomcat. It says: “The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies”. That’s whole lot of Java EE :) The same goes for Jetty.
So, Gartner says to get rid of Java EE buy using Java EE. This is insanity and the line is far from just being crossed. There is one thing those products have in common. They implement just enough of Java EE for Spring to run on it. And Spring is Pivotal’s product. So it looks like Java EE is ok as long as it serves Pivotal’s purpose. Beyond that, it’s wrong, eschewed and must be dimissed immeditaly. Ain’t gonna happen, Gartner. Let me just state that Resin, Tomcat or Jetty are great. Especially TomEE, which isn’t officially yet Java EE 7 compliant, but in reality it works perfectly. Especially for microservices. I wonder why they forgot to mention another products in Java EE world that are micro:
These recommendations don’t really go well with bottom-line recommendation in the report, which tells to “develop a strategy to deal with the obsolescence of Java EE and other three-tier application frameworks. Retain Java EE servers for legacy and system of record applications, but look beyond Java EE for digital business application development projects”. Java EE’s obsolence is an unproved statement repeated many times in the report. I’d much rather say it’s a lie. Besides, there is a Microprofile activity optimizing Enterprise Java for a microservices architecture. These people are asking the real-world developers directly about what they want. The same thing happened with Java EE 8 survey. In Java EE, community effort is recognized and matters.
Microsoft’s market share
The report first states: “Revenue market share doesn’t accurately reflect platform usage though.”, then “because it’s application server technology is embedded in the Windows Server operating system” immediately follows. A few words later, the final blow is delivered: “However, the Microsoft platform installed base is comparable to — and possibly larger than — the combined installed base of Oracle and IBM”. So, are you stupid or are you stupid ? First, authors admit it is hard to accurately measure platform usage. Few seconds later, without any evidence, they say it’s comparable or even larger than IBM’s and Oracle’s combined. What is the evidence for this ? Gartner’s trusted resources ?
Developers eschew Java EE
“But, at this point, Java developers eschew Java EE and use a wide variety of lightweight frameworks instead. Popular Java frameworks and platforms for building cloud-native applications include Apache Tomcat, Dropwizard, Spring Cloud and Play Framework.”
First, Apache Tomcat is an application container. A Java EE container. To say that Java EE is on decline, yet say a container based on Java EE should be used instead makes absolutely no sense. Most importantly, Apache Tomcat is not a framework. Everyone who ever did something in enterprise Java world knows this. This statement shows lack of even the most basic knowledge of the technologies. It serves as a funny proof that neither of these authors understand the technology they claim is eschewed by developers. This left me completely amazed by Gartner’s incompetence. The same things goes for Spring. Spring is Java EE complemented with some amount of custom code. I don’t want to argue if Spring’s solution is better than stock Java EE in this place. Developers definitely can build applications that work based on Spring.
There are many good technologies out there. And I sincerely believe that both Java EE and Pivotal has good engineers with great capabilities. This post only defended Java EE. It is not my intention to attack Pivotal or specifically Spring and it’s ecosystem. I started on Spring, disliked it, moved on. But hey, I worked with it for quite a long time and there are valuable modules. I just want to point out that this article is not primarily about Spring cloud, Spring or any other product sold by Pivotal. This is about Gartner & Pivotal themselves, marketing practices, trustworthiness and the way people make decisions. It takes real researchers, real experts in specific domains to do informed decisions.
The report is full of mistakes even a highschool student would not make. Authors have not even visited official websites of products they mention. If they did, they would know the content of the report is pure garbage. If the authors know nothing about the technologies and in every paragraph, there is a big mistake to be found, how they came to the conclusion that Java EE is deprecating and Pivotal is the way to go ? Which facts made them write such things ? Was it an uninformed decision that as a result does harm to Java EE unintentionally, or was it the much discussed, yet uncofirmed fact that Pivotal sent some money in exchange for this “report” ? I guess we will never know, we can only assume. Who reads these reports ? Who actually believes it ? Gartner still exists, thus they are making money on this …whatever it is. Therefore, there must be a pretty big amount of people stupid enough to buy this. And if those reports are in fact available for free, then my question is, who pays the bills ?
Among serious people who understand the realm of technology, there is no place for articles like this. There is no scientific evidence behind their findings. Maybe they could buy crystall balls for their “analysts” and establish a fortune-teller hotline, expanding their business. Yet some companies wish that one day, they’d be on the list. So they can go to their customers and say: “Hey, we’re recognized by Gartner ! We’re professionals”. And nobody asks who is Gartner. What mandate do they have ? How reliable they are: Yet they have tremendous power over the market.
Don’t trust the report. Pivotal is a company taking truly open technologies, adding proprietary “enhancements” to them. Once you’re hooked, it’s hard to get rid of the dependence. I can’t see a reason why Pivotal offers something better. The report does not explain this either.
Others reacted to the report as well. By reading it, you can get a view from people much more skilled and much more involved than I am. They can explain things better.
- John Clingan (Red Hat): Reanalyzing the State of Java EE
- Ondrej Mihályi (Payara): Java EE claimed obsolete by Gartner. Is that really true?
- InfoQ by Victor Grazi: https://www.infoq.com/news/2016/12/Gartner-downgrades-Java-EE
- Mark Little (Red Hat) A Java EE Interlude
- John K. Waters Gartner App Platform Report Calls Java EE Obsolete