Meet Pivotal tc Server 4.0 with Apache Tomcat 9

March 27, 2018 Jason Konicki

Pivotal tc Server gives you a secure, supported, and extended Java application server that is based on—and fully-compatible with—Apache Tomcat. Pivotal tc Server strikes that balance for both development and operations teams by including optional extensions and packages that facilitate installation, maintenance, upgrade, and performance management, without breaking the essential qualities that make Apache Tomcat so popular.

What’s New in Pivotal tc Server 4.0

We just released Pivotal tc Server 4.0. The team added some great new features to this release.  We have also made some changes to how the product is installed and used. We decoupled the tc Server installation from the tc Runtimes (our fully-compatible versions of Apache Tomcat), user instances, and custom templates. This decoupling provides a better approach to upgrades. It addresses the needs of our customers, by making it easier to apply the latest tc Runtime patches to their instances.

Here are some of the highlights:

Pivotal tc Runtime 9.0

Pivotal tc Runtime 9.0 is fully compatible with Apache Tomcat 9.0. Tomcat 9.0 is the latest major release from the Apache Software Foundation. This version is based on the following specifications: Servlet 4.0, JSP 2.3, EL 3.0, WebSocket 1.1, and JASPIC 1.1.

Notable features in Tomcat 9.0

  • Tomcat 9.0 requires at least Java 8

  • Adds support for HTTP/2

    • This requires the use of either Java 9 or having the Tomcat Native library installed.

  • Adds support for using OpenSSL for TLS support with the JSSE connectors, specifically NIO.

  • Adds support for TLS virtual hosting, or Server Name Indication (SNI).

Why we chose to include Tomcat 9.0 in Pivotal tc Server

In the past major release versions of tc Server we included the two most recent Apache Tomcat releases in the package.  Pivotal tc Server 4.0 is only packaging the latest release of Apache Tomcat, version 9.0. However, tc Server 4.0 still retains functionality for installing and running older supported releases of Apache Tomcat. Pivotal tc Server has an  on-demand (or as-needed) approach for those versions, which will be described more in the on-demand section below.

So, why did we only include Apache Tomcat 9.0? Apache Tomcat 9.0 is the current version released. Tomcat 9.0 has been stable for quite some time now and is ready to be used in production environments. We recommend that customers move to the latest version because the Apache Tomcat community always builds new features and enhancements in their latest versions and they only bring those features into older version if there are enough requests to do so. Tomcat 9.0 will be supported for a much longer period of time, so customers will have the advantage of not needing to make a big version change any time soon. Apache Tomcat 9.0 also supports the latest specifications and features that applications can be built upon.

Consolidation of Commands

Pivotal tc Server 4.0 has consolidated all provisioning, control, and administration commands into one single script. In previous versions, there were three separate scripts for provisioning, control, and administration commands. In 4.0, we now have a single script called 'tcserver' that allows a user to perform all the functionality in tc Server. This consolidation gives a simpler approach to the user experience.

On-demand Access to tc Runtimes (compatible Apache Tomcats)

As mentioned above, we are only shipping the current version of Apache Tomcat (9.0), but we still provide the customer with two simple methods of retrieving other version of Apache Tomcat. One method is to use our on-demand commands available from our 'tcserver' script.  The other method, for enterprises that restrict internet access, is to download the tc Runtime from Pivotal’s download site and extract the archive into the tc Server runtime directory.  

Our on-demand runtime commands list all available runtimes and the ability to choose which one you would like to install. Not only will other major versions of tc Runtimes be shown, but all of the maintenance updates will be available. This will allow users to easily upgrade their tc Runtimes that contain fixes for bugs, regressions, and security issues. It also lets us provide quicker access to individual runtimes.

The tc Runtimes are available in our remote runtime repository. They can be installed by executing a command on the 'tcserver' script. This will retrieve the tc Runtime version specified on the command line and add it to the local runtimes directory.

Listing the available tc Runtimes:

> tcserver list-runtimes

Checking available tc Runtimes

 Available tc Runtimes for tc Server 4:

   7.0.84.B.RELEASE

   8.5.27.B.RELEASE

   9.0.6.B.RELEASE - INSTALLED

Retrieving one of the available tc Runtimes:

> tcserver get-runtime 7.0.84.B.RELEASE

Checking available tc Runtimes

Retrieving tc Runtime version 7.0.84.B.RELEASE

Extracting tc Runtime version 7.0.84.B.RELEASE to /Users/tcserver-installations/4.0.0/pivotal-tc-server/runtimes

Separation of Installation Package, tc Runtimes, Instances, and Custom Templates

We separated the tc Server installation, runtimes, instances, and custom templates into their own directories (we use the term repositories for instances, runtimes and templates). Each type now has their own location, which allows each of these component types to be upgraded independently without risk of adverse effects in the other component areas.  These locations have default locations, but are configurable through the tcserver.properties file.

This separation also gives us the chance to separate the RPMs for RHEL/CentOS platforms. Going forward,  we will release a separate RPM for the tc Server installation package and an RPM for each tc Runtime. This allows for easier package management and cleaner installs.

For More Information

About the Author

Jason Konicki

Jason Konicki, is the Technical Lead of tc Server and Engineering Manager at Pivotal. Jason started working on tc Server during it's introduction in 2009. He also manages the Pivotal AppSuite team and the Steeltoe .NET framework team. Jason is always looking for better ways to bring great products and functionality to Pivotal's customers.

Follow on Twitter
Previous
New in PCF 2.1: App & Container Identity Assurance via Automatic Cert Rotation
New in PCF 2.1: App & Container Identity Assurance via Automatic Cert Rotation

Pivotal Cloud Foundry includes several new features to improve routing resiliency and security. In this pos...

Next
Spring Cloud Data Flow 1.4: UI/UX Refresh, Stream Deployment Builder, and Security Improvements
Spring Cloud Data Flow 1.4: UI/UX Refresh, Stream Deployment Builder, and Security Improvements

We are pleased to announce the general availability of Spring Cloud Data Flow 1.4. It improves stream deplo...