Free and lightweight application server
May 10, 2016
Free and lightweight application server
Score 9 out of 10
Vetted Review
Verified User
Overall Satisfaction with Apache Tomcat
Apache Tomcat is the most widely adopted application server used in our company. We have currently over 2000 Tomcat 6 and Tomcat 7 instances and we're starting the adoption of Tomcat 8. Tomcat is used to run internal applications and hosted applications.
- It's very easy to install and requires few customizations in order to be production grade.
- Very low memory consumption compared to, for example, to JBoss.
- Nearly immediate start up time.
- It lacks a built-in feature to provide auto-recovery in case of failure, for example,OutOfMemoryError.
- In our company, we've been forced to use external tools like Monit or Java service wrapper.
- Since it has no license costs, it's possible to scale up infrastructure without additional software costs.
- The lack of business support is not a problem since there's a huge knowledge base inside our company and in the open source community.
It's clear that JBoss is a full JEE stack implementation while Tomcat isn't, but if you don't need the whole JEE stack there are many lightweight alternatives that implement the required feature with Tomcat.
Apache Tomcat Feature Ratings
Using Apache Tomcat
Mainly developers, but also beta testers and, obviously system administrators
System administrators with middleware skills, in particular apache web server and mod_shib, Apache tomcat and Java.
- Corporate internal portal
- Web applications used by academic customers
- Shibboleth identity providers
- Tomcat is still the number one choice for new applications in our company
- We plan to use Tomcat inside docker containers
Evaluating Apache Tomcat and Competitors
- Price
- Product Usability
- Prior Experience with the Product
We have had a long-term positive experience with Tomcat, so we're happy to continue to use it; also because it's free.
In some cases, we've used JBoss enterprise, and while reviewing our choice we realized that probably Tomcat would have covered the customer requirements as well with no additional fees.
Configuring Apache Tomcat
It's important to remember to set up the ajp connector properly in server.xml. In particular, the maxThreads value has to be consistent with the number of maxActiveSessions defined inside the application context. It's also a best practise to set a value for connection Timeout for the ajp connector in order to avoid a waste of resources for inactive sessions.
No - there is no facility to customize the interface
No - we have not done any custom code
If you want to delegate authentication to some external entity (for example Shibboleth SP) just remember to set the tomcatAuthentication flag inside server.xml to "false"
Using Apache Tomcat
Pros | Cons |
---|---|
Like to use Relatively simple Easy to use Technical support not required Quick to learn Convenient Feel confident using | None |
- The configurations are file based (xml) and are well suited for puppet/docker integration
Apache Tomcat Reliability
Upgrading Apache Tomcat
Yes - We've faced the upgrade from Tomcat 6 to Tomcat 7 and the process has been really smooth.
- The main and most significant is that Tomcat 7 supports Servlet 3.0 specification
- Developers that want to use the more recent servlet and jsp specifications are asking Tomcat 8