After you install the core Progress Application Server (PAS), you can create an instance.
Instances are a standard Apache Tomcat feature. They allow you to create individual deployment and/or development servers that are based on the core PAS that you installed.
The following figure illustrates the creation of multiple instances using the TCMAN command-line utility (with syntax simplified).
Figure 5. Generating PAS instances
Instances are independently running copies of the core PAS. Each instance runs on its own JVM, has its own configuration with unique ports, and hosts its own web applications. However, each instance runs a Tomcat server that uses a number of common files from the same $CATALINA_HOME directory.
There are a number of advantages when you deploy your web applications to an instance of the PAS, rather than deploying to the PAS that you installed. This practice prevents accidental corruption of the core executables, configuration settings, and libraries. It also prevents accidental deletion of web applications if the core PAS is removed when you uninstall a Progress PAS product.
Some additional advantages of instances are:
Updates to the core Apache Tomcat server libraries and executables do not affect your web applications. You avoid the necessity of updating the applications and/or re-configuring them.
You can establish different security policies for each of the instances.
You can tailor the JVM for individual applications, since each instance runs in its own JVM with its own configuration.
Instances provide you with quick way to create a test server for experimenting with new configurations and applications without the danger of permanently corrupting an existing server.
You can package an instance as a Web application and deploy it to other PAS core servers.
You use $CATALINA_HOME/bin/tcman.sh create command to create a new instance.
When you create an instance, the root directory of the instance is assigned to the CATALINA_BASE environment variable within the scripts in its /bin directory. The root directory of the installed (core) PAS is assigned to the CATALINA_HOME environment variable in the scripts in the instance's /bin directory. (Notice that the scope of these environment variables is limited to the context of an individual instance's /binscripts.)
All instances of a core PAS execute a set of common JAR files, scripts, and libraries from the following directories on the parent server:
$CATALINA_HOME/lib
$CATALINA_HOME/common/lib
$CATALINA_HOME/bin
However, each instance is created with :
A $CATALINA_BASE/bin/ directory with its own copy of some of the scripts from the core PAS. These include scripts for start up, shut down, deployment, running TCMAN actions, and so on.
A $CATALINA_BASE/conf/ directory with its own copy of properties and configuration files.
A $CATALINA_BASE/webapps/ which initially only contains the ROOT Web application.
A number of directories that are initially empty. These include /logs, /temp, /work, and /common/lib.