I just announced the new Spring 5 modules in REST With Spring:

>> CHECK OUT THE COURSE

1. Overview

In this quick article, we’ll describe the different popular servers for Java development.

2. Web vs. Application Server

We’re going to see what are the differences between a web and application servers and which Java EE specifications these support.

Simply put, the core difference is that application servers have full support for the Java EE spec, whereas web servers support a small subset of that functionality:

3. Apache Tomcat

One of the more popular web servers in the Java ecosystem is Apache Tomcat.

Its current stable version is 8.x and current beta version is 9.x.

Tomcat 9 runs on Java version 8 and above, where the version 8.x runs on 7 or above.

Here’s a nice table with the exact specs Tomcat supports in each version.

You can also contribute to the project here.

4. Jetty

The Jetty web server is developed under the Eclipse Foundation, and, at the time of writing this article, the latest stable version is 9.4.

Because it’s so lightweight, it can be easily embedded in devices, frameworks and application servers. Some of the products that use Jetty are Apache ActiveMQ, Eclipse, Google App Engine, Apache Hadoop and Atlassian Jira.

Naturally, the project is open-source and you can contribute to it here.

Let’s now move on from web servers to application servers.

5. Apache TomEE

The Apache TomEE 7 is a full application server built on top of the standard Apache Tomcat, and primarily supported by Tomitribe.

TomEE enables us to use some of the features of Java EE that aren’t supported by Tomcat.

This application server is, as the name suggests, under the umbrella of the Apache Foundation.

You can contribute to the project here.

6. Oracle WebLogic

WebLogic 12 is also worth mentioning, as it’s the primary application server offering from Oracle.

The latest release has support for Java EE 7 and runs on Java 8.

7. WebSphere

IBM has also developed their own application server, called WebSphere. Version 9, the latest at the time of writing, naturally, also supports Java EE 7.

WebSphere is not an open source project, but it has given the WebSphere Liberty application to Eclipse – which makes some essential code of WebSphere open for developers to use and contribute to.

You can contribute to that project here.

8. WildFly

Wildfly is an open source Java application server, developed by Red Hat.

Wildfly is gaining popularity for Java EE applications, with the latest release version – 11.0.0 – and support for Java EE 7.

You can also contribute to the project here.

9. Apache Geronimo

Apache Geronimo is developed by the Apache Software Foundation under the Apache license, which makes it an open source project so we can also contribute, the same as in the previous application servers.

The latest release available is 3.0.1. It is developed in Java and supports the Java EE 6 specification.

You can contribute to the project here.

10. GlassFish

Glassfish is an open source application server, also sponsored by Oracle. It already has support for the specification of Java EE 8. Its current version is 5.0 and was released on 21 September 2017.

You can contribute to the project here.

11. Conclusion

In this quick, list-style article, we had a very high-level look at the web and application server landscape in the Java ecosystem.

I just announced the new Spring 5 modules in REST With Spring:

>> CHECK OUT THE LESSONS