Step 2: Planning an ArcIMS site configuration

 

An ArcIMS site can consist of one or more computers, depending upon the needs of your site. It is therefore advisable to plan your ArcIMS site configuration before installing ArcIMS. This section includes an overview, and some common site configuration scenarios to help get you started on planning your ArcIMS site configuration.

Overview

The ArcIMS architecture and functionality has been engineered specifically to serve geographic data and services on the Internet. The software is designed so that it is easy to create maps, develop Web pages that communicate with the maps, and administer the ArcIMS site. The software is also designed for distribution across a network and for scalability as the demand for maps increase.

 

An ArcIMS site consists of one or more computers where the ArcIMS host (ArcIMS Manager (includes Manager, Manager Applications and Service Administrator), Application Server Connectors and ArcIMS Application Server), ArcIMS Spatial Servers and data reside. The Application Server Connectors, ArcIMS Application Server, and ArcIMS Spatial Server are the components needed to create and manage services that process requests and responses. The ArcIMS framework also requires a Web server, Java Runtime Environment (J2SE JRE), and servlet engine. For more information on these components see the Overview topic of the Install Guide Introduction.

 

The ArcIMS site management applications (Manager, Author, Designer and Administrator, and Service Administrator), provide access to ArcIMS components for authoring maps, administering ArcIMS services and Spatial Servers, and designing Web sites. If you want to use the Web based Manager, it is strongly recommended that Manager be installed on your Web server machine. The Manager Applications (Author, Designer and Administrator) can be used on any machine. A Manager installation will install Manager, Manager Applications (Author, Designer and Administrator) and Service Administrator.

 

There are many possible ArcIMS site configurations. Some sites run all ArcIMS components on a single computer while other sites are comprised of multiple computers. Configurations will vary depending on the available computer resources and the mapping services provided. For ArcIMS Spatial Servers, processing speed and the ability to handle the load are important. Will the ArcIMS Services perform process-intensive functions or create basic map displays? How many services will be created at one time? Will the Web server computer be dedicated to the Web site or used for other purposes as well? Answers to these types of questions will assist in planning an ArcIMS site configuration.

Configure an ArcIMS site based on the anticipated number of simultaneous users visiting the site and the number of maps generated each day. For example, a Web site with very few anticipated users, averaging 100 to 1,000 maps per day, could run from one computer. A high volume Web site, with 100,000 to 1,000,000 maps per day, should be distributed to multiple ArcIMS Spatial Servers.

 

 

When planning your ArcIMS site configuration, there are some installation recommendations to take into account. The installation configuration diagram above illustrates ArcIMS installation features and some of the installation recommendations.

 

 

ArcIMS background processes

There are three background processes (Windows services or UNIX/Linux daemons) associated with ArcIMS:

 

Common site configuration scenarios

This section presents a series of common configuration scenarios that illustrate how to distribute various installation components across various computer platforms.

ArcIMS site on one machine

Multiple ArcIMS Spatial Servers

Dedicated Web server machine

Multiple Application Servers

 

ArcIMS site on one machine

The ArcIMS site must have a Web server configured and communicating with a servlet engine before installing ArcIMS.

 

The entire ArcIMS site on one machine is referred to as a typical installation. This installation consists of the ArcIMS host (ArcIMS Manager, Application Server Connectors and ArcIMS Application Server) and ArcIMS Spatial Server installed on the Web server machine. A typical installation of ArcIMS will install Manager, the ArcIMS Application Server, the default ArcIMS Application Server Connector (the Servlet Connector), and the ArcIMS Spatial Server. Additionally, a typical ArcIMS installation will install Metadata Explorer, and some selected samples and documentation.

 

This site configuration is useful for those with limited resources or light server loads. If you are new to ArcIMS, start with this site configuration.

 

See Performing a typical installation for steps on installing these ArcIMS components on the same computer. To include ArcMap Server, leave all installation features checked, and in-addition check the box to install ArcMap Server.

 

Multiple ArcIMS Spatial Servers

Additional ArcIMS Spatial Servers can be added to the ArcIMS site configuration, as the number of requests increases, if redundancy needs to be built in or to optimize performance.

 

There is no one formula for determining how many ArcIMS Spatial Servers are needed. The Spatial Server configuration will vary among ArcIMS sites depending on the number and size of services, time required to process requests, number of requests, Web and network traffic, and other factors specific to the site.

 

Since it is possible to have multiple ArcIMS Spatial Servers on multiple machines, a mechanism is needed to manage these Spatial Servers and the services running on them. ArcIMS uses a Virtual Server concept to manage services on multiple ArcIMS Spatial Servers. See the ArcIMS technical paper, ArcIMS 4 Architecture and Functionality, located on http://support.esri.com and the ArcIMS Help for more information on managing Spatial Servers and Virtual Servers.

 

Spatial Servers can be distributed across an ArcIMS site in several ways as illustrated below.

 

 

 

To set up your machine with more than one ArcIMS Spatial Server on the same machine, see the topic Installing additional ArcIMS Monitors. For the additional ArcIMS Spatial Server (Monitor service/background process) running on the same machine, an additional ArcIMS Application Server is required. For more information on additional ArcIMS Spatial Servers on the same machine, see the ArcIMS Help, and the ArcIMS High-Availability Site Configuration whitepaper, available in PDF from the ESRI Support Site.

 

 

 

 

To install multiple ArcIMS Spatial Servers on additional machines, see the topic Installing multiple ArcIMS Spatial Servers on additional computers.

 

 

Dedicated Web server machine

Your site may require your Web server to be on one machine while the ArcIMS components reside on a different machine. In this configuration, the Application Server Connectors must reside on the same machine as the Web server.

 

 

If your Application Server is on a different machine than your Application Server Connector, some additional configuration of the Application Server Connector is required. If you are using the Servlet Connector, the Web server-servlet engine configuration available in the post installation will automatically edit your Esrimap_prop file with the Application Server name you provide.  If you are using the ColdFusion Connector see the CustomizingColdFusion.pdf for details on the servername attribute value for any action. For the Java Connector see the CustomizingJavaConnector.pdf for information on the ConnectionProxy object or the tcpConnection.tag.

 

If you will be using Manager, Service Administrator and/or Metadata Explorer, it is also recommended that Manager, and/or Metadata Explorer be installed on the Web server machine. If you will be using Metadata Explorer and/or Service Administrator, J2SE JDK 1.3.1 or higher is required on this machine. See the topic Verify your system requirements for system requirement information.

 

Multiple ArcIMS Application Servers

The ArcIMS Application Server runs as a background process (Windows service/UNIX/Linux daemon) and handles the load distribution of incoming requests. The Application Server also catalogs which services are running on which ArcIMS Spatial Servers. Using this information, the Application Server dispatches an incoming request to the appropriate Spatial Server.

 

Installing multiple ArcIMS Application Servers on different machines can improve load distribution of incoming requests and help create redundancy (failover). Installing the ArcIMS Application Server on a different machine to other ArcIMS components is common in a secure network environment where the Web server is located in the DMZ. The DMZ is established by an outside firewall. See the technical articles for ArcIMS located at http://support.esri.com for more information on system design strategies.

 

For high-volume implementations of ArcIMS, it is possible to have a single Web server communicate with several Application Servers in round-robin or failover configuration. If used for round-robin, the Application Server will rotate requests among the specified Application Servers. If used for failover, the back-up Application Server will serve maps when the primary Application Server machine is inaccessible. To support multiple Application Servers, the Application Server names and ports must be added to the Esrimap_prop file, located in your Web server's servlet directory. If more than one Application server is specified in the Esrimap_prop file, you cannot administer multiple Application Servers with Administrator. To administer multiple Application Servers, you can use the Service Administrator (installed with the Manager installation feature).

 

Below is an example of a multiple Application Server set up:

 

 

Steps to set up this scenario:

 

  1. Set up a public Web server machine.

 

 

This machine will serve the Web sites to users.

 

IMPORTANT: You will be using Service Administrator to administer the Application Servers. Service Administrator will be installed on this machine by the Manager feature. J2SE SDK is required to use Service Administrator. The document linked above includes instructions on installing J2SE SDK for your Web server and servlet engine configuration.

To verify that your Web server and Servlet Engine are communicating see the topic Verifying your servlet engine.

  1. Run the ArcIMS setup. Choose to install the following (Uncheck all other ArcIMS installation features so that these features will not be installed):

  1. Follow the installation directions on the screen.

  2. During the post installation setup you will be required to provide the following information:

  1. At the end of the post installation setup you will be required to stop and restart your Web server to apply configuration changes.

  2. Share the directory containing the data you will be using (if it is local data and not ArcSDE data). Each Spatial Server machine must be able to access the data for map services created. The AXL files must be accessible by the Application Server.

 

  1. Create Application Server machine 1

 

 

This will be the main Application Server machine. This machine will host the ArcIMS Application Server and the ArcIMS Spatial Server. The service Administrator will be used to administer this ArcIMS Application Server. We will also create an identical set up on another machine, which will be the back-up machine for failover.

    1. Verify you meet system requirements.

    2. Install the following ArcIMS features (Uncheck all other ArcIMS installation features so that these features will not be installed):

    3. Follow the installation directions on the screen.

    4. During the post installation setup you will be required to provide the following information:

    1. Each AXL file references the path to the data used. Verify that the path to the data is accessible by the Spatial Servers that are registered with the Application Servers, on Application Server machine 1 and Application Server machine 2. In general, the path to the data must be valid from the perspective of any Spatial Server. It is recommended that the path used be a UNC pathname.

 

  1. Create Application Server machine 2

 

 

This machine will be identical to Application Server machine 1. If used for round-robin, it will rotate requests among the two Application Servers. If used for failover, it will serve maps when Application Server machine 1 is inaccessible. This machine, like Application Server machine 1, will host ArcIMS Application Server and ArcIMS Spatial Server. Service Administrator will be used to administer the Application Server.

 

Follow the same steps above to set up Application Server machine 2, as you did to set up Application Server machine

 

 

  1. Configure the public Web server machine for multiple Application Servers

    1. Find and open in a text editor the Esrimap_prop file located on your public Web server machine in the Web server servlets directory.

The following lists common default servlet directories for specific Web server and servlet engine combinations on Windows:

 

Apache with Tomcat: C:\<Tomcat installation directory>\Webapps\Servlet\WEB-INF\classes

Apache with ServletExec: C:\Program Files\New Atlanta\ServletExec AS\se-<instance name>\Servlets

IBM HTTP Server with WebSphere: C:\Websphere\AppServer\installedApps\sampleApp.ear\default_app.war\WEB-INF\classes

Sun Java System 6.0 (formerly Sun ONE)  : C:\iplanet\servers\docs\servlet

Microsoft IIS with JRun: C:\Program Files\Allaire\Jrun\servlets

Microsoft IIS with ServletExec: C:\Program Files\New Atlanta\ServletExec ISAPI\Servlets

Microsoft IIS with Tomcat: C:\<Tomcat installation directory>\Webapps\ROOT\WEB-INF\classes

Oracle Application Server: C:\Oracle\iAS\Apache\Jserv\servlets

WebLogic: C:\bea\wlserver70\config\<mydomain>\applications\DefaultWebApp\WEB-INF\classes

 

    1. Edit the AppServerMachine parameter in the Esrimap_prop file with the names of the Application Servers you installed (The names of Application Server Machine 1 and Application Server Machine 2, for example, appservermachine1,appservermachine2)

 

 

  1. For round-robin, leave the failover parameter in the Esrimap_prop file set to false.

 

  1. For failover, set the failover parameter in the Esrimap_prop file to true. This will specify that requests should be sent to the first Application Server machine listed, until it fails to return a response, then requests will be sent to the next Application Server listed.

 

  1. After editing the Esrimap_prop file, save changes and stop and restart your Web server.

 

 

  1. Create your map services for both Application Servers.

The Service Administrator will be used to administer the ArcIMS Application Servers. If you met all system requirements, and you used the post installation setup to configure your Web server, the Service Administrator will have been set up. If you manually configured your Web server you must manually configure your Web server for Service Administrator (see Configure your Web server for Service Administrator).

 

To access Service Administrator open your browser (on any machine), and type: http://<Web server machine name>/esriadmin

For example: http://publicwebserver/esriadmin

 

By default the log in page for Application Server 1 will be displayed. The Application Server specified in the esriadmin.properties file determines the default log in page displayed. Provide the user name and password to log in to administer Application Server 1.

 

To administer Application Server 2, adapt the URL as follows:

http://<Web server machine name>/esriadmin/logincheck.jsp?host=<Application Server Machine 2>&port=<appservermachine2port>

For example: http://publicwebserver/esriadmin/logincheck.jsp?host=appservermachine2&port=5300

 

For more information on using Service Administrator, see the ArcIMS Help.

 

Services created on each Application Server should be completely identical. The image below illustrates the parameters used in this scenario to create new services on Application Server machine 1 and Application Server machine 2. The public Web server machine serves the Web sites to the users, so the output files should be stored on this machine. The Server output locations were manually changed to point to the public Web server machine (In this example, "publicwebserver" will be the host name of your public Web server machine).  In this example, the Axl file used is also stored on the public Web server machine, the UNC pathname to the Axl file is provided in the File Path field.

 

 

 

Once you have determined your ArcIMS site configuration, see Step 3a: Installing ArcIMS.