Differences Between tc Server and Apache Tomcat

SpringSource tc Server is an enterprise version of Apache Tomcat, the widely used Web application server. SpringSource tc Server is hardened for enterprise use and is coupled with key operational capabilities, advanced diagnostics, and is backed by mission-critical support.

SpringSource tc Server is designed to be a drop in replacement for Apache Tomcat 6, ensuring a seamless upgrade path for existing custom-built and commercial software applications already certified for Tomcat. Maintaining this level of compatibility enables our customers to add the business-critical functionality they need to more effectively run and manage their applications with the least amount of effort.

The following sections list the additional features that SpringSource tc Server adds to standard Apache Tomcat.

Standard Application Server Features

The following table lists the standard application server features of both SpringSource tc Server and Apache Tomcat.

Application Server Features SpringSource tc Server Apache Tomcat
Servlet 2.5 Support Yes Yes
Java Server Pages (JSP) 2.1 Support Yes Yes
HTTP Session Clustering Yes Yes
Advanced I/O Features Yes Yes
Pre-built advanced non-blocking I/O components Yes Yes
Basic Windows service wrapper Yes Yes

Enterprise Features

SpringSource tc Server is based on Apache Tomcat 6 and therefore provides a powerful yet lightweight platform that is compatible with existing Tomcat-based applications as well as with Web applications that run on other Java EE application servers such as IBM WebSphere or Oracle Weblogic. Applications can be seamlessly moved from Apache Tomcat to SpringSource tc Server in order to gain the added benefits that SpringSource tc Server provides beyond the base Apache Tomcat.

The following table compares the enterpise features of SpringSource tc Server versus Apache Tomcat.

Additional Application Server Features SpringSource tc Server Apache Tomcat
Multiple runtime instances from a single binary installation Yes No
New high-concurrency JDBC connection pool` Yes No
Pre-configured for JMX management Yes No
Includes latest security vulnerability and bug fixes Yes Rebuild tomcat yourself to apply incremental fixes
Binary patch updates Yes Binary patches are not provided by Tomcat community
Unix boot scripts Yes No
Enhanced Windows service wrapper Yes No

The following table compares the advanced configuration features of SpringSource tc Server versus Apache Tomcat.

Advanced Configuration Features SpringSource tc Server Apache Tomcat
Templated production-ready configuration out-of-the-box Yes No
Create Tomcat single server configuration Yes No
Modify general server configuration including JVM startup parameters Yes No
Modify context container configuration Yes No
Modify server defaults for JSPs and static content Yes No
Add, modify, and delete JDBC data sources Yes No
Modify HTTP and AJP connector settings Yes No
Create and view general services Yes No
Modify general engine configuration Yes No
Pre-turned JVM options Yes No

Business-Critical Operational Features

SpringSource tc Server includes advanced, distributed management and monitoring capabilities via a centralized management console referred to as AMS (Application Management Suite).

The tables in this section list the capabilities that SpringSource tc Server provides over and above the base Apache Tomcat and also notes the features that AMS provides for existing Apache Tomcat environments.

SpringSource tc Server provides a wide range of capabilities that enable developers, administrators, and operators to centrally diagnose, measure, and monitor the distributed application infrastructure their applications are deployed on.

Diagnostics, Metrics, and Monitoring Features SpringSource tc Server Apache Tomcat
Application deadlock detection, including pre-configured deadlock trigger set to create heap and thread dumps with URL-to-thread association. Yes No
Uncaught exception detection, including heap/thread dumps Yes No
Garbage collection metrics including throughput and count Yes No
SQL query time monitoring metrics Yes No
Enhance reponse time monitoring metrics Yes No
Enhanced connection pool health metrics Yes No
Enhanced thread pool health metrics Yes No
Role-based customizable dashboard Yes Yes (via AMS)
Automated inventory of application servers and software resources Yes Yes (via AMS)
Real-time metric collection and monitoring of tc Server, Tomcat, Apache Web server, Apache ActiveMQ, underlying JVM, operating system, and other resources Yes Yes (via AMS)
Historing charting and graphing performance Yes Yes (via AMS)
Advanced alerting: multi-conditional, availability, event, and recovery alerts, group-based alerting, and escalation schemes. Yes Yes (via AMS)
Log file tracing, alerts on event levels Yes Yes (via AMS)
Alerts based on configuration file updates Yes Yes (via AMS)
Performance baselining for alert thresholds Yes Yes (via AMS)

SpringSource tc Server provides a centralized, secure dashboard that enables administrators and operators to organize, operate, and control their distributed applications and infrastructure.

Centralized Operations and Management Features SpringSource tc Server Apache Tomcat
Secure, distributed, JMX-based server management Yes No
Create application server groups Yes Yes (via AMS)
Application server start/stop/restart from central console Yes Yes (via AMS)
List deployed applications and current status Yes No
Application deploy/undeploy/reload/start/stop Yes No
Security and access/authorization control Yes Yes (via AMS)
Scheduled control: maintenance activities, on-demand actions, scheduled remediation actions, or scheduled responses to alert conditions Yes Yes (via AMS)

SpringSource tc Server provides scripting support for administrators and operators who prefer to create and run scripts to handle distributed configuration and deployment steps.

Scripting Features SpringSource tc Server Apache Tomcat
List deployed servers Yes No
Create server groups Yes No
Add/delete servers to/from groups Yes No
List deployed applications, including current status Yes No
Deploy application WAR file Yes No
Undeploy application Yes No
Start, stop, and reload deployed applications Yes No
Get (download) configuration files and JVM parameters from a server Yes No
Modify configuration files on an individual server Yes No
Se (push) configuration files and JVM parameters to a server group Yes No
Start, stop, and restart a server or group of servers Yes No