Inside an ArcGIS Server site
An ArcGIS Server site consists of several components that can optionally be distributed across multiple machines to increase computing power. Each component in the site plays a specific role in the process of managing the resources that are allocated to a set of services.
The components of an ArcGIS Server site can be summarized as follows:
- Web server—Hosts web applications and provides optional security and load balancing benefits to ArcGIS Server.
- Web Adaptor—Integrates ArcGIS Server with your enterprise web server, forwarding incoming requests to your various GIS server machines.
- GIS server—Does the work to satisfy requests issued to the GIS web services. A GIS server can draw maps, run tools, serve imagery, synchronize databases, project geometry, search for data, and perform many other operations offered by ArcGIS.
This topic summarizes each of the components and provides links to additional information to help you effectively administer your ArcGIS Server site.
The web server
The web server hosts web applications and provides optional security and load balancing benefits to the ArcGIS Server site. ArcGIS for Server is compatible with many popular web servers, including Internet Information Services (IIS), WebSphere, and WebLogic.
The GIS server component exposes your services through HTTP without requiring you to have a separate, dedicated web server such as IIS. However, if you want to harness some of the native security benefits of the web server (such as authentication options), or if you want to host web applications, you can choose to include a web server in your deployment.
The Web Adaptor
The ArcGIS Web Adaptor is fundamentally a web application that forwards requests from your web server to your GIS server. The Web Adaptor keeps track of which machines have been added and removed from your site and forwards traffic to them appropriately. Using the Web Adaptor allows you to set your own name and port for your site, instead of using the default port 6080 and the default site name "arcgis". The Web Adaptor also allows you to leverage the native capabilities of your web server for security, and can block outside connections to ArcGIS Server Manager and the ArcGIS Server Administrator Directory.
When a web service request is received, the Web Adaptor forwards the request to one of the GIS server machines. The GIS server machines then communicate with each other to determine which specific machine is available and should be assigned to work on each request. If the Web Adaptor determines a GIS server is unavailable, it stops forwarding requests to that server.
Other web gateway options
The Web Adaptor is not the only way to configure a web gateway, or entry point, to your site. Other web gateway technologies can include physical HTTP load balancer and network router devices, or third-party software designed for load balancing purposes. In the Amazon EC2 environment, the Amazon Elastic Load Balancer (ELB) can act as a web gateway. If you already have existing technology in your organization that plays the role of a web gateway, it can be adapted to work with ArcGIS Server under most circumstances.
Although the web gateway and web server often work together, the presence of a web gateway in the deployment does not necessitate the presence of a web server. For example, if your web gateway is a physical router, it can send requests directly to the GIS server without needing a web server.
GIS server
Machines in your site that have ArcGIS for Server installed can be thought of as GIS servers. Incoming web service requests for maps, address coordinates, geoprocessing jobs, and so on, are each assigned to an available GIS server within the site. That GIS server then does the work of drawing the map, finding the address coordinate, running the geoprocessing tool, and so on, and returns the result to the client. Essentially, GIS servers are the work centers of your site.
The GIS server exposes your services through HTTP. You can supplement this with a dedicated web server running the Web Adaptor for additional functionality.
You may find it necessary to configure your ArcGIS Server site to use multiple GIS servers to protect against downtime if one of your GIS servers becomes unavailable. When a GIS server goes offline (whether planned or unplanned), the Web Adaptor can continue to distribute incoming requests to the remaining GIS servers in the site. Additionally, the GIS servers can detect when other GIS servers have been removed and added, creating a pluggable architecture that works well in cloud environments.
The above components of an ArcGIS Server site can reside on the same physical machine for development and testing purposes, or for supporting small deployments. See Deployment scenarios to learn about recommended architectures for small and large sites.
GIS server clusters
GIS servers can be organized in groups called clusters. Each cluster runs a dedicated subset of services, as configured by the site administrator. For example, you could create one cluster to run all your map services, and another cluster of servers (perhaps with higher processing power) to run your geoprocessing services.
To learn more about clusters, see the topic About GIS server clusters.
The configuration store
An ArcGIS Server site has a special folder designated as the configuration store, which contains all the properties of the site and its services. You specify the location for the configuration store when you create the site. In a multiple-machine site, the GIS servers access the configuration store through a shared network directory. In a site with multiple GIS servers, it's recommended that you keep the configuration store on its own fault-tolerant file server (separate from the GIS server machines).
Server directories
A server directory represents a physical directory on the network that is specially designated for an ArcGIS Server site to store and write certain kinds of information. There are server directories for storing caches, output, jobs, system files, uploads, input data, KML, and indexes. A set of server directories is created for you at a location you specify when you create the site. In a multiple-machine site, this needs to be a shared network directory.
For detailed descriptions of each server directory, see the topic About server directories.
Processes started by the GIS server
You can expect to see the following operating system processes on any GIS server machine that is started and participating in a site.
- One ArcGISServer.exe process
- One ArcSOC.exe process for each running service instance. An exception is geoprocessing services, which have two ArcSOC.exe processes per running instance.
- One rmid.exe process
- Two javaw.exe processes. These provide basic application server functionality and the ability to host web services.
You can tell that a javaw.exe process is associated with ArcGIS Server by looking at the Command Line column in Windows Task Manager. If the path includes the ArcGIS installation directory, you know it's a process associated with ArcGIS Server. You can derive further information about each process by examining its full command.
The Windows service ArcGIS Server represents the GIS server itself. Stopping this service effectively stops the GIS server on the machine and shuts down any running GIS service instances.
Clients
Clients of an ArcGIS Server site can include any of the following:
Web browsers
Anyone with a web browser and an Internet connection can work with ArcGIS Server services using a web application. These could include ready-made applications, such as the ArcGIS.com map viewer or ArcGIS Explorer Online, or applications designed using the ArcGIS web viewers or APIs. In either of these cases, end users of these web applications don't need to have any GIS software installed on their machines.
Mobile devices
Mobile devices such as phones and tablets can access web applications and services published on an ArcGIS Server site. These applications can help you view maps, search for locations, and do GIS analysis from the field. Esri has developed various APIs to simplify building mobile applications with ArcGIS Server web services. These include the ArcGIS APIs for iOS, Android, and Windows Phone.
ArcGIS Explorer
ArcGIS Explorer is a free, lightweight desktop application for data visualization and navigation. You can add your ArcGIS Server services as data in ArcGIS Explorer for a rich navigation and viewing experience. For advanced functionality, you can use the ArcGIS Explorer SDK to develop custom tasks that work with the services.
ArcGIS for Desktop
ArcGIS for Desktop acts as both a consumer of ArcGIS Server services and an administration tool, since some tools allow you to publish items to the server.
Applications that can access services include ArcMap, ArcCatalog, ArcGlobe, and ArcReader. In the Catalog window, you can connect to a GIS server by typing its URL. If the server requires authentication, you must also type a name and password. Once you're connected, you can point to and click the services you want to use. For example, in ArcMap, you can drag a map service from the Catalog window into the map.
The Catalog window can also act as an administrative interface for an ArcGIS Server site, allowing you to do things like adding folders, adding and deleting services, and registering databases. To get this functionality, you need to enter an administrator name and password when you make the server connection.
ArcGIS Engine applications
ArcGIS Engine applications can use the GIS server in a variety of ways. The simplest is by working with services in the form of data inside map or globe documents. An ArcGIS Engine developer could also design an application that sends data to the GIS server for advanced tasks, such as spatial analysis, that require extensions only licensed on the server machine. Conversely, the application might request data from the server to edit or analyze within the rich user interface of the ArcGIS Engine application.