The runtime component of SpringSource tc Server (tc Runtime) is an enterprise version of Apache Tomcat. tc Runtime is 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 customers to add the functionality they need to run and manage their applications more effectively with the least amount of effort.
SpringSource tc Runtime also adds many business-critical features to standard Apache Tomcat. The following sections compare the two:
SpringSource tc Runtime and Apache Tomcat share key standard features of application servers.
Table 3.1. Standard Application Server Feature Comparison
| Application Server Features | SpringSource tc Runtime | 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 |
Because SpringSource tc Runtime is based on Apache Tomcat 6, it provides a powerful yet lightweight platform that is compatible with existing Tomcat-based applications and 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 Runtime to gain the benefits that SpringSource tc Runtime provides beyond the base Apache Tomcat.
Table 3.2. Enterprise Application Server Feature Comparison
| Enterprise Application Server Features | SpringSource tc Runtime | Apache Tomcat |
|---|---|---|
| Multiple runtime instances from a single binary installation | Yes | No |
| New high-concurrency JDBC connection pool` | Yes | No |
| Preconfigured 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 |
SpringSource tc Runtime has a number of advanced configuration features that Apache Tomcat does not.
Table 3.3. Advanced Configuration Feature Comparison
| Advanced Configuration Features | SpringSource tc Runtime | 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 datasources. | Yes | No |
| Modify HTTP and AJP connector settings. | Yes | No |
| Create and view general services. | Yes | No |
| Modify general engine configuration. | Yes | No |
| Pre-tuned JVM options. | Yes | No |
SpringSource tc Runtime includes advanced, distributed management and monitoring capabilities through a centralized management console called Hyperic HQ user interface.
The tables in this section list the capabilities that SpringSource tc Runtime provides over and above the base Apache Tomcat and also notes the features that HQ provides for existing Apache Tomcat environments.
SpringSource tc Runtime provides a wide range of capabilities that enable developers, administrators, and operators to centrally diagnose, measure, and monitor the distributed application infrastructure.
Table 3.4. Diagnostics, Metrics, and Monitoring Feature Comparison
| Diagnostics, Metrics, and Monitoring Features | SpringSource tc Runtime | Apache Tomcat |
|---|---|---|
| Application deadlock detection | Yes | No |
| Uncaught exception detection | Yes | No |
| Garbage collection metrics, including throughput and count | Yes | No |
| SQL query time monitoring metrics. | Yes | No |
| Enhance response 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 Hyperic HQ) |
| Automated inventory of application servers and software resources | Yes | Yes (via Hyperic HQ) |
| Real-time metric collection and monitoring of tc Runtime, Tomcat, Apache Web server, Apache ActiveMQ, underlying JVM, operating system, and other resources | Yes | Yes (via Hyperic HQ) |
| Charting and graphing performance | Yes | Yes (via Hyperic HQ) |
| Advanced alerting: multi-conditional, availability, event, and recovery alerts, group-based alerting, and escalation schemes. | Yes | Yes (via Hyperic HQ) |
| Log file tracing, alerts on event levels | Yes | Yes (via Hyperic HQ) |
| Alerts based on configuration file updates | Yes | Yes (via Hyperic HQ) |
| Performance baselining for alert thresholds | Yes | Yes (via Hyperic HQ) |
SpringSource tc Runtime provides a centralized, secure dashboard that enables administrators and operators to organize, operate, and control their distributed applications and infrastructure.
Table 3.5. Centralized Operations and Management Feature Comparison
| Centralized Operations and Management Features | SpringSource tc Runtime | Apache Tomcat |
|---|---|---|
| Secure, distributed, JMX-based server management | Yes | No |
| Create application server groups | Yes | Yes (via Hyperic HQ) |
| Application server start/stop/restart from central console | Yes | Yes (via Hyperic HQ) |
| List deployed applications and current status | Yes | No |
| Application deploy/undeploy/reload/start/stop | Yes | No |
| Security and access/authorization control | Yes | Yes (via Hyperic HQ) |
| Scheduled control: maintenance activities, on-demand actions, scheduled remediation actions, or scheduled responses to alert conditions | Yes | Yes (via Hyperic HQ) |
SpringSource tc Runtime provides scripting support for administrators and operators who prefer to create and run scripts to handle distributed configuration and deployment steps.
Table 3.6. Scripting Feature Comparison
| Scripting Features | SpringSource tc Runtime | Apache Tomcat |
|---|---|---|
| List deployed servers. | Yes | No |
| Create server groups. | Yes | No |
| Add and delete servers to and 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 |
| Set (push) configuration files and JVM parameters to a server group. | Yes | No |
| Start, stop, and restart a server or group of servers | Yes | No |