Overview of Spatial Servers, Virtual Servers, and ArcIMS services expand/collapse all
Related Topics

ArcIMS Application Server, Monitor, Spatial Server, and Tasker processes

ArcIMS Connectors and Web Application Developer Frameworks

expand/collapse item About Spatial Servers, Virtual Servers, and ArcIMS services

When you administer your site using the ArcIMS, you should be familiar with the definition and relationship among Spatial Servers, Virtual Servers, and ArcIMS Services. You should also understand the general guidelines for adding Spatial Servers and instances.

Spatial Servers

The Spatial Server handles requests for maps and related information. When a request is received, the Spatial Server performs one or more functions. Each function can be thought of as a component of the Spatial Server.

A Spatial Server contains either:

The Spatial Server is a process that runs on your machine. When you look at your list of running processes, this process is named aimsserver.exe. After using the Typical installation option of ArcIMS, only one Spatial Server process is running. The process includes all components except ArcMap Image. On Windows, Solaris, and Linux, if you install ArcMap Server, you will have two additional Spatial Server processes running that contain only the ArcMap Image component.

Spatial Server process and its components

You do not have much direct access to Spatial Servers. Managing Spatial Servers is limited to adding and removing them from the configuration as the need arises. Instead, most of your interaction with a Spatial Server is through Virtual Servers.

Virtual Servers

Since you do not interact directly with Spatial Server processes, you need some way to manage them. Imagine if you have five machines, each with four Spatial Server processes. This means you have 20 processes to manage. To help manage all these processes, ArcIMS has the concept of a Virtual Server. It is important to remember that a Virtual Server does not exist; it is merely a management tool. Each Spatial Server is assigned to one or more Virtual Servers. In the following example, the image component of two ArcIMS Spatial Servers are assigned to a Virtual Server named ImageServer1.

Assigning Spatial Server components to a Virtual Server

Each Virtual Server corresponds to a component of the Spatial Server. Therefore, one Spatial Server process can have multiple Virtual Servers referencing it. The exception is a Spatial Server process dedicated to ArcMap Server. When you install ArcIMS, the initial assignments are done for you. You have the option to modify the assignments when necessary. The following table lists the types of Virtual Servers and the default Virtual Server created during the install.

Virtual Server type Default name Description
Image (public) ImageServer1 A new map image is generated each time a client requests new information. For example, if a user zooms in on an area of a map, a message is sent from the client to the server. A new map image of the zoom extent is generated by the server and sent back to the client, replacing the old image. The image is sent to the client in one of three formats: jpeg, gif, or png.
ArcMap Image (public) ImageServerArcMap1 Publishes maps created in ArcMap. A new map image is generated each time a client requests new information. The image is sent to the client in one of following formats: jpeg, gif, or png.
Feature (public) FeatureServer1 Data from shapefiles and ArcSDE layers is read and streamed to the client. The client uses a Java applet to assemble the streamed data into a map. Most processing is done by the Java applet. Requests are only sent to the ArcIMS site when additional data is needed. For example, a request would be sent if a query were made on data beyond the visible map extent.
Metadata (public) MetadataServer1 Provides a forum for sharing data by allowing users to search and browse metadata that you have published. For information, see An overview of Metadata Services.
Query (private) QueryServer1 Provides query functionality for Image Services. Different querying capabilities such as identify, select, find, and buffer are supported. Data is returned as tabular data to the user.
Geocode (private) GeocodeServer1 Supports geocoding and address matching on shapefiles and ArcSDE layers for Image and Feature Services.
Extract (private) ExtractServer1 Extracts selected features from shapefile and ArcSDE vector layers in an Image Service and creates a ZIP file of shapefile data.
Route (private) RouteServer1 Calculates routes between a set of two or more stops. You must have purchased and installed the optional Route Server extension to ArcIMS.
SDCGeocode (private) SDCGeocodeServer1 Supports geocoding on Route Server data when using Image Services. You must have purchased and installed the optional Route Server extension to ArcIMS.

Virtual Servers are either public or private. When you use one of the administrative tools, only the public Virtual Servers are exposed to you. You can select them when creating or changing a service. Private Virtual Servers work behind the scenes and are called when an Image or Feature Service needs specific functionality. You cannot manage private Virtual Servers directly.

ArcIMS Services

The ultimate goal for managing Spatial and Virtual Servers is for you to have an easy way to create and administer ArcIMS services. When you start an ArcIMS service, you can select from one of four service types.

Service type Description
1. Image Service An Image Service delivers map content to a client application as JPEG, PNG, and GIF images. A new map image is generated each time a client requests new information.

Use an Image Service when:

  • You want to use the Web ADF, Servlet Connector, ActiveX Connector, ColdFusion Connector, or WMS Connector.
  • You want a lightweight client.
2. ArcMap Image Service An ArcMap Image Service is a special type of Image Service that lets you publish maps you create in ArcMap or ArcReader. It behaves similar to the way Image Services behave.

3. Feature Service A Feature Service is a service that delivers map content to the user as streamed features. Feature streaming is a temporary compressed format that remains only as long as the client is open. Requests are sent to the Spatial Server only when additional data is needed.

Use a Feature Service when:

  • You want to use a Java Viewer.
  • You want to use the WFS Connector.
  • You want more processing to happen on the client side instead of the server side.
  • You want to let your users access local data.
  • You want to use EditNotes.
4. Metadata Service A Metadata Service lets you and your users share metadata - information about a data set. Metadata for geographic data typically describes the content, quality, type, collection date, and spatial location of the actual data. Looking at metadata can help your users determine whether a particular data set is appropriate for their needs. In fact, it's often easier to judge the suitability of the data from its metadata than by examining the actual data itself.

From a management standpoint, you assign your service to a corresponding Virtual Server. For example, an Image Service would get assigned to the ImageServer1 Virtual Server. Behind the scenes, all the Spatial Servers assigned to that Virtual Server will receive the information to start the service. Where applicable, each private Virtual Server is instructed to start the service when appropriate. The following table summarizes the Virtual Servers each service is assigned to.

Service type Public Virtual Server Default Name Private Virtual Servers
Image Service Image Server ImageServer1 Query Server
Geocode Server
Extract Server
Route Server
SDEGeocode Server
ArcMap Image Service ArcMap Image Server ImageServerArcMap1 None
Feature Service Feature Server FeatureServer1 Geocode Server
Metadata Service Metadata Server MetadataServer1 None

Spatial Server instances

A Spatial Server process consists of one or more server instances. ArcIMS, by default, assigns two instances per Virtual Server process. In other words, two instances are assigned to handle the Image component, two are assigned to handle the Query component, two are assigned to handle the Geocode component, and so on. The exception is for Spatial Servers hosting ArcMap Image Services. These Spatial Servers are assigned one instance each.

Instances associated with a Spatial Server

The number of instances equates to the number of requests that can be handled simultaneously. For example, if a Spatial Server has two instances of the image component, two requests for an Image Service map can be processed at the same time. If a Virtual Server consists of two Spatial Servers each with two instances, then that Virtual Server can handle four simultaneous requests.

Virtual Server can process four simultaneous requests

The optimum number of Spatial Servers and instances on a machine is limited by the hardware. Although you can continue to add many Spatial Servers and instances, you will start to see diminishing returns quickly. When starting out, a general guideline for the number of Spatial Servers and instances per machine is:

After analyzing CPU usage following the general guidelines, you can start adding instances or Spatial Server processes to try to maximize CPU usage. Since every site is different, there is no one answer on the ideal number of Spatial Server processes and instances.

Search code: @arch_servers