Quick Installation guide for ArcIMS 3.1

The installation of ArcIMS 3.1 is well known to be a complicated and error prone process. Mostly this is because ESRI relies on third party Java runtimes and web server servlet engine without providing an integrated user friendly install program for those components which most of us think should be bundled with ArcIMS.

In particular the Java Servlet engine required to integrate the Java core of ArcIMS with a web server can be difficult to setup, there are several free and commercial servlet engines that can be used, each of them coming with different instructions for installation.

Now, with the recent release of Tomcat 4.01 by Apache a user friendly Windows installation is included and setting up ArcIMS with Tomcat becomes a simple procedure, taking less then an hour instead of days... Another way of simplifying the installation is using the standalone manager applications instead of the web browser based application, basically you will find these run just fine "out of the box" Getting the Web based manager application to work and Integrating ArcIMS with IIS or Apache will require additional steps which are considered optional and are not included in this guide.

Basically the steps for installing ArcIMS 3.1 with Tomcat are:

1. Install the Java 2 runtimes and SDK

2. Install Tomcat 4.01

3. Install & configure ArcIMS 3.1

4. Configure Tomcat to Run ArcIMS

5. Configure IIS to run Tomcat and ArcIMS Manager (Optional)

6. Using the OpenGIS WMS connector

The following paragraphs will guide you through each of these steps.

In this guide the ActiveX and WMS connectors are installed and configured, in your scenario you may want to install additional connectors.

All the Java components will be installed in a common directory ("C:\Java\") and ArcIMS is installed in the default program directory.

 

1. Install the Java 2 runtimes and SDK

First, install the Jdk provided by ESRI by running the installer j2sdk-1_3_0_02-win.exe from the ArcIMS CD
Change the installation directory to C:\Java\jdk or some other location where you prefer to put it.
You can unselect the Demos and Java sources to save some disk space.

Secondly, install the Jre runtime provided by ESRI by running the installer j2re-1_3_0_02-win-i.exe from the ArcIMS CD
Change the installation directory to C:\Java\jre or some other location where you prefer to put it.

This completes the Java engine installation, no need to manually configure anything !

 

2. Install Tomcat 4.01

You can find the free Jakarta Tomcat Servlet engine on internet at http://jakarta.apache.org/tomcat/  
Fortunately, starting with version 4, setup of Tomcat has been greatly simplified by the windows installer provided for it. You should make sure you download the executable file, not the zip archive. The current 4.01 release can be found at:

http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.1/bin/jakarta-tomcat-4.0.1.exe

After downloading it, run the installer.
Make sure you check the NT Service component, you can set the installation directory to C:\Java\tomcat\ or some other directory if you like

This completes the Tomcat installation, note that you can access it's configuration files and documentation from the Start menu !

To verify that tomcat is working properly, first reboot your machine and then open http://localhost:8080 in your browser and try the Servlet examples.

 

3. Install and configure ArcIMS 3.1

Insert the ArcIMS CD and run the Setup.exe installation program.

Select the Custom installation option, at the next screens do the following:
- Click the Options button for Manager and select the Manager Applications option instead of the default manager.
- Click the Options button for Application Server Connectors and select both the Servlet Connector  and ActiveX Connector
- Leave other settings at their defaults, though you may want to add some samples and documentation as well

At the next screen, if the Java JRE is not detected, browse to the directory where you installed the JRE, in this case C:\Java\jre

At the next srcreen (Host Name and Working Directories), APPEND THE 8080 PORT NUMBER TO THE HOST NAME (i.e. localhost:8080)
You may also want to change the ArcIMS working directories, put them on another drive then the one where ArcIMS itself is installed.

At the next screen, (Application Server Information) don't change anything, click next to go to the Servlet connector option screen.
Set the servlet directory according to what the Help button suggests for Tomcat 3.2, in this case it is:

C:\Java\Tomcat\webapps\ROOT\WEB-INF\classes\

Then Finally, provide the installer with an administrator login so it can complete the installation and reboot the computer !

Basically at this point the ArcIMS installation is done, without manually editing a single configuration file, the 8080 port number now is the key to running ArcIMS manager applications.
If you start the ArcIMS manager applications from the start menu they should work fine and at this point you can start setting up "spatial servers" on the machine.

To be able to run web applications with these spatial servers, the next step will be creating the virtual directories on the web server for the ArcIMS working directory.
At this point, the web server basically is Tomcat, which is running the Java applications, not IIS or Apache. By appending the 8080 port number to the hostname, you can run ArcIMS applications directly on Tomcat without the need to integrate the ArcIMS applications with IIS or Apache. Also, you have the option to run Tomcat at the default http port and use it as the main web server.

 

4. Configure Tomcat to Run ArcIMS

Now here's where a little manual editing of configuration files comes in, and the documentation included with Tomcat will come in handy.
Select the Server configuration file from the start menu, server.xml and scroll down to the section starting with "<!-- Tomcat Root Context -->"
Examine how the Context entries work, we will add a context for each of the ArcIMS working directories directly below the "\manager:" context:

<!-- ArcIMS Context, use default directories -->
<Context path="/Website" docBase="d:/ArcIMS/Website" debug="0"/>
<Context path="/output" docBase="d:/ArcIMS/Output" debug="0"/>

In this case the ArcIMS working directory was d:\ArcIMS if you need to modify this, beware that forward slashes are used in the XML  file instead of backslashes for directories.
Also beware that Tomcat is case sensitive ! Restart the Tomcat Service or reboot the computer to activate the virtual directories. Any Website you generate now with ArcIMS designer and author will by default appear at http://localhost:8080/Website/../

If you are interested, there are a few other things you can do with Tomcat, and you may want to make it stop loading some components that are not required for ArcIMS, like the Apache connector, check the Tomcat documentation for more info....

If you have had previous experiences with ArcIMS installation, you will no doubt agree setting up ArcIMS has never been as easy like this, the only thing unconventional about it is that you can stop at the the point where ArcIMS runs at port 8080 on Tomcat, and of course the Windows installer for Tomcat took most of the pain out of the process.

When using the Active-X Connector, this interfaces with ArcIMS Application server directly so you can built applications with IIS and Tomcat running in tandem, it should all work fine as soon as the IIS side of things is aware that ArcIMS Servlets are running on the 8080 port. Also, the WMS connector (if enabled) has been working OK with ASP scripts in IIS posting requests to it.

If you're not afraid of fixing less then a dozen of case sensitivity issues in the html files making up the web based ArcIMS Manager, you can also install the web based manager and setup a virtual folder for it in Tomcat, but that is not part of this step-by step instruction guide.

 

5. Configure IIS to run TomCat and ArcIMS Manager (Optional)

To be able to integrate the Tomcat Java Servlets in Microsoft's Internet Information Server (IIS), usually, an ISAPI filter is installed in IIS, a little DLL which redirects requests to /servlet/ and other paths to Tomcat. This way, the Servlets in Tomcat can be accessed without requiring the 8080 Port designation, not a big deal really but tricky to setup.

There is a document at www.apache.org about running Tomcat 4 over an old ISAPI DLL that came with Tomcat 3.3, but I have not yet succeeded in getting this to work, and honestly, I am not sure I need it anymore...!

http://jakarta.apache.org/tomcat/tomcat-4.0-doc/config/ajp.html

I will try again, just to see if I can make this section complete...