Web and Application Servers for Java
1. Overview
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
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 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.