Introduction: Let the debates begin…
What type of Java app server should you choose for your next project? Well, that kinda depends on what kind of app you’re building, what your needs are, what type of organization you work in, and lots of other factors too. Hence the debate. So perk up your ears, and get ready for a showdown.
What makes an App Server, Mr. Lebowski?
What makes an application server is a contentious question to many, as the definition is unclear. Wikipedia, the unquestionable source of all knowledge, states:
“Java Platform, Enterprise Edition or Java EE (was J2EE) defines the core set of API and features of a Java Application Server.”
Well, sorry Wikipedia, but for the sake of this report, we don’t care about pedantic definitions and full Java EE implementations, we care more about what a developer wants and uses.
Most developers work on web applications and rarely use all of the bells and whistles that come with the EE specification. In fact many of the application servers available today with only the basic functionality are the most used, as our Developer Productivity Report section on application servers recently showed:
What we’re looking at in this part of the report are the real developer concerns and metrics including:
Ease of download and installation
Real performance metrics
We’re going to compare and contrast many aspects of these servers scoring each and placing each of them based on our findings. We then address the big questions: Which app server is the best? Doesn’t someone in a big company have different needs than a hobbyist developer geek working at home? How should we weight what’s important to different profiles of people? And so on…
The Application Servers we will be discussing in this report are Tomcat, Jetty, GlassFish, IBM WAS Liberty Profile and JBoss (aka WildFly):
At first, we were going to include IBM WebSphere and Oracle WebLogic into this report, following the same pattern as with the other app servers. But it felt unfair, as these servers are really targeted for large-enterprises and apps in production rather than lightweight development; however, we didn’t want to dismiss them completely, so they’ll have their own section at the end :-)