BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Tomcat used by 64% of Java Developers

Tomcat used by 64% of Java Developers

This item in japanese

Bookmarks

Apache Tomcat is the most used application server by the Java community, according to a recent study conducted by BZ Research. The study found that Tomcat is used by 64 percent of corporate Java developers. With its support for clustering, session replication, and JMX based server monitoring and management, Tomcat container has gained more popularity and support by the developers and system administrators, compared to other application servers. IBM WebSphere and RedHat JBoss application servers, which came second and third in the research study.

Alex Handy wrote about this trend in an article in Software Development Times magazine saying that Java developers are looking for simplicity when it comes to choosing a J2EE container to host their applications on.

Mark Brewer at Covalent, an open source support company, said that Tomcat's success came about with the developers starting out with a stand-alone Tomcat server on their desktop and promoting their web applications to higher environments where WebSphere or JBoss application servers are used to host the applications. Since both of these servers bundle Tomcat as the servlet container, much of the code developers tested out in the local Tomcat server could be moved to the production environment without any changes in the code or configuration files. Another Java EE 5 compliant application server Apache Geronimo also uses Tomcat as its servlet container. 

The sweet spot for Tomcat is where most of the enterprise applications don't really need the J2EE components such as EJBs, Java Messaging (JMS), or distributed transactions (XA) offered by a full-blown commercial J2EE application server. All they really need is a Java 5-compliant Web container with clustering support. Tomcat development team introduced clustering and session replication features in version 5.0 back in 2004, which are continued in the latest version (6.0). They have also enhanced the server monitoring support based on JMX technology. With clustering in the mix, many of the companies including financial organizations such as Morgan Stanley are moving their Java application portfolios to Tomcat platform.   Terracotta, the vc-backed open source distributed clustering solution also offers out of the box session clustering for Tomcat.

At the recent QCon conference track on Architectures you've always wondered about, most of the speakers indicated that they are not using EJBs or XA transactions when architecting their enterprise applications.

Michael Goulde at Forrester Research group said that Tomcat is probably the third most used open source component, after the Apache Web server and MySQL database; he also said that it's not just Web developers who are interested in using Tomcat but SOA developers are also showing the interest. The integration of SOA tools such as ActiveMQ and Apache CXF with Tomcat container makes them good candidates to consider in an enterprise SOA stack.

Tomcat version 6 has introduced some new features:

  • Comet support which allows asynchronous HTTP request processing so a servlet can process the input as well as write data back to the client asynchronously.
  • Executor which allows the web administrators to configure a shared Executor element that the catalina connectors can use to share one or more thread pools. In the previous versions, there was a separate thread pool for each connector. Executor element is defined in the server.xml configuration file.
  • NIO connector allows to configure a non blocking Java connector (called Http11NioProtocol) in addition to the traditional HTTP and AJP connectors used in Tomcat.

Tomcat 6 supports Servlet 2.5 and JSP 2.1 specifications and is available under Apache License Version 2.0. The developers can download the latest version 6.0.14 as well as subscribe for tomcat-users mailing list to participate in the user discussions.

BEA WebLogic, Oracle Application Server, Sun Java Enterprise Server, Apache Geronimo, and SAP NetWeaver are the other application servers that were included in BZ Research study.

Rate this Article

Adoption
Style

BT