Tomcat used by 64% of Java Developers

| by Srini Penchikala Follow 41 Followers on Dec 03, 2007. Estimated reading time: 3 minutes |

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 Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Jetty out of the picture? by Toby Jee

Boy... it seems that Jetty was pushed out of the picture totally.

Tomcat is a web container by Hussein Baghdadi

>> Apache Tomcat is the most used application server
Tomcat isn't an application server.

Re: Tomcat is a web container by James Strachan

>> Apache Tomcat is the most used application server
Tomcat isn't an application server.

Why not?

Open Source Integration

Re: Jetty out of the picture? by Johannes Brodwall

My thought exactly. Netcraft clocks in Jetty now at over 80% of Tomcat in popularity. (194k versus 162k) Some time that little wonder got some more love.

Re: Tomcat is a web container by Johannes Brodwall

>> Apache Tomcat is the most used application server
Tomcat isn't an application server.

Why not?

Or, if not, why is that a problem?

Re: Tomcat is a web container by chatchai chailuecha

I don't know what the exact meaning of application server is but I see all products claiming themselves application server have both web container and EJB container.
Tomcat only has web container.

Re: Tomcat is a web container by Geoffrey Wiseman

I wouldn't hesitate to call Tomcat an application server, personally: I don't see EJB as a pre-requisite. I mightn't call it a "J2EE Server", since that tends to imply "J2EE Certified", which, AFAIK, requires EJB support.

Re: Jetty out of the picture? by Thom Nichols

Although this doesn't surprise me, it seems most developers use Tomcat simply because they haven't bothered to try out any of the alternatives.

Granted, Tomcat is dead simple to get running, but I decided to try Jetty too. I have to say Jetty wins hands down in a development environment because of its hot-reloading features, simpler configuration and better integration with IDEs, Maven, etc.

Re: Jetty out of the picture? by Greg Wilkins

Thebreakdown that Johannes gave was for .com domains. Tomcat has a bit more market share of global domains, but Jetty has around 60% of the market share of Tomcat on netcraft:

However, netcraft does not see embedded servers or those that are hidden behind firewalls or have ID's turned off. If embedded uses were included (eg Jetty is bundled with eclipse 3.3 as the help server and HTTP service in equinox) then the market share figures would be much more flattering to Jetty I think.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

9 Discuss