Web Application Server Systems
AcIS and other groups at Columbia had a desire to create database driven web applications using the Java web application standards published by Sun Microsystems. There was also a strong interest in using Cocoon and other XML processing technologies which depend on Java and servlets. These systems are often difficult to administer and configure, and can be quite expensive.
R+D began to explore whether the Open Source web application server called Tomcat could be a viable option. Tomcat is a project sponsored by the Apache Foundation (which also produces the Apache web server, which Columbia uses on its central servers).
The goals which motivated the design of our Tomcat installation included:
- Keep the system secure.
- Make it easy for developers to add applications and restart the system.
- Provide access to databases such as DB2 and Oracle.
- Provide redundancy so that applications could continue running despite the outage of a single server.
- Build a modular system to meet the needs of new customers, or to accomodate expansion to additional computers.
Initial testing began in early 2001, this led to an installation of Tomcat version 3.3 on computers administered by Unix Systems in September 2001. The initial users of the system were developers at the Columbia Center for New Media and Technology. In December 2001 an additional installation was created for use by DKV.
The Tomcat 3.3 system has performed well, and we have learned a lot about how to make Tomcat work within the AcIS infrastructure. Currently we are performing a major upgrade to Tomcat 4.1. Besides updating the software two significant changes in the design of the system have been implemented, due to our initial experiences with Tomcat:
- R+D has committed to adopting Unix Systems' software distribution standards. This will greatly simplify the task of installing Tomcat onto a new host, or building a Tomcat system for a new customer.
- Computers separate from the main Columbia web servers have been allocated to the Tomcat project. This will allow for easier expansion in the future, and will accomodate a more disciplined development process. (There are dedicated development, test, and production environments.)
In addition to updating the application server environment for R+D, DKV, and CCNMTL, we are also setting up a test environment for another group within Columbia. As demand for web applications grows, we also are working to anticipate the issues that may arise when a larger pool of computers is used.