Projects

An Overview of Apache Tomcat

Welcome to our series “Boomerang Back,” in which we revisit and reintroduce the many open source projects where one or more of the committers are returning to VMware following the Pivotal acquisition. In this instance, we take a look at Apache Tomcat, a web server environment for Java applications. tc Server is VMware’s web server for Java environments powered by Apache Tomcat.

An Overview of Apache Tomcat

Apache Tomcat is a web application server in which Java code can run. Tomcat brings together a subset of the Java EE technologies—including the Servlet, JavaServer Pages (JSPs), and WebSocket APIs—to run applications built on the Java programming language. These capabilities enable Tomcat to operate as a web application server while performing its primary function as a Servlet container.

The Tomcat project started at Sun Microsystems as the reference implementation of the Java servlet and Java Server Pages specifications. Sun donated the Tomcat code base to the Apache Software Foundation in 1999. The first release was version 3.0 in 2000, and it became a top level project (TLP) in May 2005. The currently supported versions are Tomcat 9.0.x, 8.5.x and 7.0.x and work has started on Tomcat 10.0.x (supporting Jakarta EE 9) with milestones currently being published.

What It Does

Widely used by web developers, Tomcat provides the means to make otherwise static HTML web pages interactive. It uses a web server to monitor incoming client requests and predefined APIs to interface with applications. Web applications typically use Servlets which are full Java classes to implement functionality.  The Servlets process the request and generate the response.  JSPs provide a simpler, scripting based alternative to Servlets.  WebSockets provide a bi-directional, full-duplex communication channel between the client and the server.  From a high-level perspective, Tomcat provides a run-time environment in which developers can develop, test, and run their Java applications.

Who Uses Apache Tomcat?

Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and user organizations, including Walmart, Cardinal Health, The Weather Channel, and E*Trade. Tomcat is estimated to hold over 60% of the market share of all Java application server deployments, making it the most popular application server used with Java web applications.

Why Apache Tomcat?

Apache Tomcat is a lightweight app, offering only the core functionality necessary to run a server, resulting in quick load and redeploy times. As a 20-year-old open-source project, Tomcat’s technology is very mature and enjoys a strong, stable community and a steady and predictable stream of new releases and updates on a monthly basis—making it a default web app server for any Java-based web browser or app.

What’s Next?

The Apache Tomcat software is developed in an open and participatory environment and released under the Apache License version 2. Tomcat is available in a binary version, and the source code for the Tomcat server is also available. Over its history, Tomcat downloads have surpassed 10 million.

You can learn more about Tomcat documentation on their website, or join the mailing list. And this fall, look for ApacheCon, the official global conference of the ASF. In the meantime, take a look at the notes from last year’s Apache Hackathon Tomcat gathering.

Stay tuned to the Open Source Blog for more updates around the Apache Tomcat server and other dynamic content about the open source project.