Tomcat

Service Description

Apache Tomcat® version 7.0 implements the Servlet 3.0 and JavaServer Pages 2.2 specifications from the Java Community Process, and includes many additional features that make it a useful platform for developing and deploying web applications and web services.

Tomcat provides an environment for Java applications (servlets) that run on the server to generate standard web pages. It is not intended primarily to serve HTML documents (though it can); cannot support other languages such as PHP, Python, C#, Perl, etc.; and should not be chosen without a thorough grasp of the necessary structure imposed on the servlets it hosts.

Web Services’ Tomcat offering supports multiple servlets/applications per configured instance and separate instances for each customer group. This allows for separation of privilege, access, and control with minimal fate sharing between different groups.

Web Services’ Tomcat offering only supports a limited set of URLs, though redirects are available, and provides access to Purdue IT’s supported database systems (MS SQL Server, MySQL and Oracle). Java packages exist to interact with Purdue IT’s Central Authentication Services (CAS).

Developers have access to the Development server via ssh or SFTP and use a web-based Deploy Tool to move their WAR files to QA and Production.

Getting Started

Web Services offers Tomcat hosting to any college, department, or business unit of Purdue University that requires hosting of a Java servlet or JavaServer Pages for the support of the business of the University. It is expected that the customer is familiar with Java and the Tomcat environment — we are unable to provide detailed assistance.

At the present time, there is no charge for a Tomcat instance.

Requesting a Tomcat Instance

To request a Tomcat instance, please contact Web Services to open a ticket. In this email, please include:

  • Owner – This is the person ultimately responsible for administrative decisions related to the instance. They may or may not also be a developer.
  • Developers – These are the people who should have access to the Development server instance and the Deploy Tool for access to QA and Production.
  • Group Name – A name for the customer group. This is used in part to refer to the instance and identifies a common thread for the applications. Ex: Biology
  • Database Requirements – This is optional at this stage, and should not include the details of the database connection string (that will come later) but should include something like “an Oracle database hosted by Purdue IT” or “a MySQL database hosted by department X”. This allows us to discuss the details with you before we head down a path that might not work as desired.

Once your instance has been created, please see our Getting Started Guide for Tomcat for detailed information about how to connect to the servers, deploy your applications, etc.

About Service Tiers

The Tomcat service is provided in three tiers — Development, QA (Quality Assurance), and Production.

Development

  • The URL is usually your Production URL with “dev.” added to the beginning. For example, dev.tomcat.www.purdue.edu is the Development version of tomcat.www.purdue.edu.
  • Used for initial application development.
  • Only accessible on campus or via the campus VPN.

QA

  • The URL is usually your production URL with “qa.” added to the beginning. For example, qa.tomcat.www.purdue.edu is the QA version of tomcat.www.purdue.edu.
  • Used to test your application in a “near-production” environment without jeopardizing your production instance.
  • Only accessible on campus or via the campus VPN.

Production

  • This is your live, Production site.
  • Accessible to the world unless you request otherwise.

Developer Resources

Local Resources

Remote Resources

Other Purdue IT Teams

Getting Help

Tomcat is a service for customers familiar with building Java servlets. Due to the fact that a Java servlet can do a wide variety of things and that Web Services does not have Java developers on staff, our ability to offer support is limited to the server environment. There is little we can do to help with coding or interface issues. However, we do offer support for the following:

  • Changing the Tomcat configuration to support a setting that cannot be accomplished within the application
  • Restarting qa and production instances on owner request
  • Removing a retired application from qa and production
  • Coordinating interaction with Purdue-IT-supported databases
  • Providing copies of logs that cannot be achieved by customer means
  • Answering questions about the environment
  • Restoring files from backups
  • Basic troubleshooting to rule out server issues

Support Requests

Please submit all requests for support by contacting Web Services to open a ticket. If the issue involves a production service outage, please follow the instructions in the automated response to escalate the priority of the ticket.

When opening a support ticket, please provide the following (at a minimum):

  • What exactly are you needing?
  • What is the URL of the application?
  • If there is an error or malfunction:
    • What is the error?
    • How can we reproduce the error?
    • What is the expected result?
    • A screen capture that includes the URL in the browser can also help.
  • If you are requesting a new or changed JNDI (database connection), please provide:
    • The name of the JNDI
    • The database type (Oracle, MS SQL, MySQL, etc.)
    • The database server (MS SQL and MySQL only)
    • The database username
    • DO NOT provide the database password! We will contact you to exchange the password securely!
    • Any special settings you might require
  • If you are requesting a file to be restored from backups, please be sure to provide:
    • The full path to the file(s) or folder(s) to be restored
    • The date and time the last known good file(s)/folder(s) existed
    • Whether you would like us to overwrite the file(s)/folder(s) or place them in an alternate location

Service Specifications

Software Versions

Tomcat is provided on an Oracle Enterprise Linux v7 platform with:

  • Apache Tomcat v7.0.76 (with security patches)
  • OpenJDK v1.8.252
  • Oracle Instant Client v19.6
  • Microsoft SQL Server JDBC Driver v8.2
  • MySQL Java Connector v5.1.25

Database Support

Database connections to Purdue-IT-hosted databases (Oracle, SQL Server, and MySQL) are tested and known good. Connections to departmental database servers that are compatible should work.

Server Specifications

Servers are configured with:

  • Development: 1 CPU, 4G RAM
  • QA: 1 CPU, 4G RAM
  • Production: 1 CPU, 4G RAM

Memory and processor usage is monitored and will be increased as needed.

Patching and Backups

Patching is performed automatically on a monthly basis with non-production patching early on the 2nd of each month and production patching early on the 21st of each month.

System backups are performed on a daily basis and are retained for a minimum of 14 days.

Accessing Firewalled Services

If you will be connecting from your Tomcat application to a service that is protected by a firewall (a departmental database, for example), you will need to send a request to whoever maintains your firewalls to allow the following IP addresses through:

Public and Zoned IP addresses of Tomcat Systems
Server Tier Server Name Public Address Zoned Address
Development dev.tomcat.www.purdue.edu 128.210.23.115 172.30.196.115
Quality Assurance qa.tomcat.www.purdue.edu 128.210.7.124 172.30.140.124
Production tomcat.www.purdue.edu 128.210.7.125 172.30.140.125