39

Could anyone advise as to the pros and cons of using Pivotal tc Server as opposed to just vanilla Tomcat for a Spring-MVC Java web application? Could find very little about Pivotal other than on their website and the fact it's packaged as part of the Spring Tool Suite. This lack of info is making me a bit wary about being dependent on it...

Background: Am preparing the development environment for a Spring-MVC project and currently evaluating whether to use the packaged Spring Tool Suite (STS) or just start with the latest Eclipse (possibly combined with the Eclipse STS plugin). Came across Pivotal tc Server as one of the optional components in this plugin.

Community
  • 1
  • 1
Steve Chambers
  • 31,993
  • 15
  • 129
  • 173
  • 1
    You may have answered your own question. Always follow the better documented and used/suported software. Also you must look into what type of growth and support you requite in the future. Tomcat is widley supported. – Kenneth Clark May 02 '14 at 09:08
  • 1
    Agreed but the difficulty here is it being packaged with STS - does this perhaps make it the more supported product to use in this case? – Steve Chambers May 02 '14 at 09:11
  • what app server you are in using now. Could you use Spring Boot which embedded a servlet container, default is tomcat but can be jetty, undertow. – Thang Hoang Dec 23 '15 at 08:18
  • 2
    In the end we just used vanilla Eclipse, Spring and Tomcat. – Steve Chambers Dec 23 '15 at 11:07

4 Answers4

42

Pivotal tc Server contains all of vanilla Tomcat, and has a few optional extensions designed to make it easier to deploy and maintain. Broken out into three groups, the diff looks like this:

Configuration extensions (No altered code, just config changes we implement)

  • Multi-Instance using shared binaries
    • Trivial to change Tomcat versions while preserving app and configuration
  • Variable Substitution in config files
  • Async Logging
  • Mild Security Tuning (ports, mgmt apps, JMX)

Code Extensions

  • Patch version releases – fix flaws in current release [e.g. tomcat-7.0.32.B.RELEASE]
  • Extended JMX interface
    • Additional Metrics
    • Application Deployment
  • Diagnostics Valve - good troubleshooting info when there's a slowdown
  • Config Templates – including custom-created
  • Change log level on the fly
  • Advanced Session replication (Gemfire)
  • Oracle DB Connection Proxy

Add-Ons

  • Windows Service Wrapper
  • RPM / Apt-Get / Debian installers (linux)
  • Startup scripts (linux)
  • Chef Recipes
  • Puppet Scripts
  • Password Encryption
  • Spring Insight for performance tuning

FYI on the tag thing, there's still the old "springsource-tc-server" tag. SpringSource is now Pivotal. (Can/should we update the tag or add a new one?)

Hope this helps.

Carwin
  • 438
  • 5
  • 5
  • 1
    Wow, thanks! Good to get such a comprehensive answer (and straight from the horse's mouth - "Consulting Product Manager at SpringSource"). – Steve Chambers May 20 '14 at 21:48
5

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, 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.

find more information at http://static.springsource.com/projects/tc-server/6.0/getstart/cgsdiffs.html

Makarand.Thorat
  • 247
  • 2
  • 7
5

This doesn't answer your question about the pros and cons, but I found this site really helpful in getting tc server up and running in STS. http://sosiouxme.wordpress.com/2012/04/06/the-missing-guide-to-creating-and-modifying-tc-server-instances-for-sts/

Kyle Walker
  • 551
  • 3
  • 12
  • 25
2

To me it seems a high price for just getting a servlet container. Specifically, it (the tc server) seems to try to mimmic a production quality application server (servlet engine) with the added features. For development it seems overkill. You could just as well use Tomcat stand-alone or Glassfish or Jetty.

I would choose the tc server if my target was some cloud implementation of Cloud Foundary that was ultimately my target production deployment environment.

Finally, I just noticed that the tc server is a commercial offering. So, the licensing implications should the features become integral to your delivery, might have a cost that your project would not bear: https://www.cdw.com/shop/products/SpringSource-tc-Server-Spring-Edition-license/2156278.aspx

Beezer
  • 937
  • 9
  • 14