Instances are a standard Apache Tomcat feature. They allow you to create individual deployment and/or development servers that share the core Progress Application Server that you installed.
Instances are independently running copies of the core Progress Application Server. 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. Each instance has an alias. The default value is the directory in which the instance was created, but it can be set to some other string.
As a best practice, Progress recommends that you deploy your web applications to an instance of the Progress Application Server, rather than deploying to the Progress Application Server 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 Progress Application Server is removed during an uninstall.
You use $CATALINA_HOME/bin/tcman.sh create command to create a new instance.
Some 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.
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) Progress Application Server 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 /bin scripts.)
All instances of a core Progress Application Server execute a set of common JAR files, scripts, and libraries from the following directories on the parent server: