Understanding architecture, deployment, and workflows
This article is for GIS managers and analysts who want an understanding of the fundamental concepts of ArcGIS for Server and its capabilities. It provides a general overview of ArcGIS for Server and discusses key features, architecture, and implementation. It refers specifically to the ArcGIS 10.1 for Server release.
The paradigm for GIS work has evolved over the last few decades. In the 1980s, GIS work was typically done on computer workstations. In the late 1990s to early 2000s, personal computers were more common, and GIS work was performed across an organization’s internal network with the client/central server IT model. In recent years, the explosion of the Internet, mobile device usage (e.g., smartphones and tablets), and the desire to share and collaborate over the web have dramatically changed how GIS work can be done. Many organizations now have business workflows that require sharing GIS resources over the web, specifically by making them available as web services. A web service is a software function available at a network address over the web.
In ArcGIS for Desktop, you create, edit, analyze, and manage GIS resources such as spatial data, maps, and geoprocessing tools. ArcGIS for Server enables you to take these GIS resources and share them as web services. Web services are easily accessible over the Internet and can be consumed by clients such as smartphones, tablets, desktop applications, and web applications.
If you register and share your ArcGIS for Server web services with ArcGIS Online, other users can discover and use them, greatly expanding the number of end users who can consume and leverage your GIS resources. Using ArcGIS for Server to share GIS resources over the web empowers an organization and its members, enabling them to make better decisions because everyone can access, collaborate, and work with the same geographic knowledge. ArcGIS for Server includes a GIS Server, Web Adaptor, and ArcSDE technology.
This is the core software that installs on a server machine and enables an ArcGIS Server site to be created. An ArcGIS Server site is an instance of ArcGIS for Server that can share GIS resources as web services.
This is separate software that you can install into a third-party web server (e.g., Microsoft IIS, IBM WebSphere, Oracle WebLogic). The Web Adaptor is a lightweight application that allows you to integrate ArcGIS for Server with your organization’s existing web server architecture.
This is separate software that you can install to manage connections to your enterprise geodatabases.
When you install ArcGIS for Server, users can access it immediately by making web service requests through port 6080 (by default). An installation of ArcGIS for Server is called an ArcGIS Server site. An ArcGIS Server site can consist of a single machine (Figure 1) or be composed of several machines (a multimachine deployment). ArcGIS for Server is available for Windows or Linux operating systems, and can be either an on-premises solution or part of a cloud solution. Regardless of how it is physically deployed, its capabilities are the same.
When installing the GIS Server software on a machine, you must create or designate a single operating system level account called the ArcGIS Server account. This is the account used by ArcGIS for Server behind the scenes to execute its operations. Therefore you need to give this account permission to access and read from your data folders. After the installation, you can choose to either create a new GIS site or join an existing GIS site. When you create a new ArcGIS for Server site, you are creating a new ArcGIS Server instance on the machine. The option to join an existing GIS site will add the machine to an existing multimachine ArcGIS for Server site deployment.
Creating a new ArcGIS Server site requires a primary site administrator account. This is the default administrative account for managing the site. The primary site administrator account is used to initially log in to and configure the new site. Note that this account is a separate and different account from the ArcGIS Server account you use for the GIS Server software installation. The primary site administrator account only exists in the ArcGIS Server site and is not an operating system account like the ArcGIS Server account. Table 1 compares the two accounts and their roles.
An ArcGIS Server site has three main access points: ArcGIS Server Manager, the Services Directory, and the ArcGIS Server Administrator Directory.
ArcGIS Server Manager is a web browser-based application that enables you to administer the site by managing web services, configuring site properties (e.g., manage directories, set security), and querying and viewing logs (Figure 2a). The primary site administrator account or another administrator connection is needed to use all the functions of ArcGIS Server Manager. Publisher connections can log in with limited functionality. The different types of connections that can be made to ArcGIS for Server will be discussed later.
The Services Directory is a web browser-based view of all the GIS resources that are available from the site (Figure 2b). A GIS resource, such as a map, geoprocessing model, or locator, is shared from the ArcGIS Server site as a web service. These web services communicate through a Representational State Transfer (REST)-based architecture. You can request information and actions from the server by structuring your request URLs according to a defined format. As you navigate the Services Directory, you can observe your browser’s address bar to see how different URLs are used to retrieve information through REST.
ArcGIS Server Administrator Directory is commonly called the REST Admin API. It is a web browser-based view of the ArcGIS Server site’s configuration settings (Figure 2c). It provides a programmatic endpoint to administer the site. You can write automated scripts (in Python, for example) to remotely access and configure the site. The primary site administrator account or another administrator connection is needed to log in and work with this access point. Publisher connections can access it with limited functionality.
In addition to the GIS Server, two other essential components of an ArcGIS Server site are the configuration store and the server directories (Figure 3). The configuration store is a folder that contains all the main properties of the site (e.g., information on its web services, users, roles, data, and security settings).
The server directories consist of four subdirectories: Cache, Jobs, Output, and System.
- The Cache directory stores a collection of pregenerated image tiles that are used by cached map or globe services for faster display. Cached services often require large amounts of storage on disk, so ensure your Cache directory is large enough to handle the tiles created during the caching process for your services.
- The Jobs directory stores files needed by geoprocessing services such as temporary files, information about current processes, and their results.
- The Output directory is for temporary files needed by the server.
- The System directory is used to maintain information for the site such as the status of services, machines, and database connections. Files within this directory should not be manually modified or deleted.
Both the configuration store and server directories are critical to an ArcGIS Server site. It is strongly recommended that both are created in a redundant storage location if the site is supporting mission-critical applications. If you’re creating a multimachine ArcGIS Server site, the configuration store and server directories must reside in a network share that is visible to all GIS Server machines.
Another common component in an ArcGIS Server site is a multiuser geodatabase—the central data storage and management framework for the ArcGIS platform. Storing your spatial data in the geodatabase enables you to apply custom business rules and relationships, define advanced geospatial relational models (e.g., topologies, geometric networks, and network datasets), and support many multiuser workflows. A multiuser geodatabase is created inside a DBMS using ArcGIS geoprocessing tools.
When you are ready to deploy your ArcGIS Server site as an on-premises production environment, you should install the Web Adaptor. The Web Adaptor connects ArcGIS for Server with your enterprise web server. This configuration provides many benefits.
- The web server can host web applications, such as the ArcGIS Viewers for Flex and Silverlight, that use your GIS services.
- It provides a single endpoint into the site.
- You can expose your ArcGIS Server site through your organization’s standard website and pvort instead of the ArcGIS for Server default port of 6080.
- It provides more security by blocking access to ArcGIS Server Manager and the ArcGIS Server Administrator Directory from the view of external users.
- It enables you to leverage the security and logging functionality of the web server.
The Web Adaptor facilitates communication between the web server and the ArcGIS Server site. ArcGIS for Server clients access GIS web services by sending requests to the web server; the request is then passed to the Web Adaptor and on to the GIS Server. A Web Adaptor can only be configured for a single ArcGIS Server site, but a site can support multiple Web Adaptors. In other words, an ArcGIS Server site can be configured to have many access endpoints by using multiple Web Adaptors.
Multimachine ArcGIS for Server site deployments
ArcGIS for Server fully supports large IT enterprise systems. Multimachine site deployments are applicable for organizations that have business workflows with high capacity requirements. In a multimachine site, every participating GIS Server machines has ArcGIS for Server installed (Figure 5). For example, in a site that has three GIS Servers, if one machine becomes unavailable, the site will still function properly because there are two redundant GIS Servers. The Web Adaptor acts as the single point of entry into the site. Communication occurs between GIS Servers, and every GIS Server must have access to the ArcGIS Server site’s configuration store, server directories, and data sources for the web services (e.g., multi-user geodatabase). You could add as many GIS Servers to the site as are needed to meet your business requirements.
In multimachine sites, GIS Servers can also be grouped into a cluster. A cluster is a logical grouping of machines with the same hardware specifications (Figure 6). Each cluster can be configured to run a dedicated subset of web services. For example, you could create one cluster to run map services (shown in Figure 6 as GIS Servers 1 and 2 in cluster A) and another cluster with higher processing power to run geoprocessing services (shown in Figure 6 as GIS Server 3 in cluster B).
A GIS Server can be moved from one cluster to another at any time, enabling you to reallocate your GIS Server resources as needed. By default, every ArcGIS Server site (both for single and multimachine deployments) consists of a single default cluster.
A Workflow for Publishing GIS Resources as Web Services
The process of taking a GIS resource and making it into a GIS web service begins with ArcGIS for Desktop. In ArcMap, you create, edit, analyze, and manage GIS resources (e.g., spatial data, maps, and geoprocessing tools). Most GIS resources can be published to ArcGIS for Server using the Share as Service publishing wizard accessed by choosing File > Share As > Service. With this wizard, you can publish a new web service, overwrite an existing web service, or publish a service definition file. The first two options are self-explanatory.
The third option, publishing a service definition file, lets you define the properties of a web service and save the settings as a file on disk that can be published as a web service at a later time. As you progress through the wizard, you will connect to an ArcGIS Server site, configure the various properties of the web service (e.g., capabilities, cached versus dynamic, metadata) in the Service Editor dialog box. Optionally, you can register the web service with ArcGIS Online or Portal for ArcGIS so it can be easily discovered and used by others.
ArcGIS for Desktop can connect to an ArcGIS Server site as an Administrator, Publisher, or User. Each of these connections corresponds to a type of role in a site (Table 2).
When the properties of the web service have been configured in the Service Editor dialog box, ArcMap will analyze the GIS resource to ensure that its web service properties have been optimized and report any performance problems or unsupported features in your map that should be addressed before it generates the web service. After the web service is published, it will be listed in ArcGIS Server Manager and the Services Directory of the site. Table 3 shows the different types of web services available from ArcGIS for Server. By default, web services are public, but they can be secured to restrict who can access them. ArcGIS for Server follows many web service security standards and fully supports the security standards associated with service-oriented architectures.
Clients to ArcGIS for Server
ArcGIS for Server’s GIS web services can be accessed by a variety of ArcGIS platform clients and third-party clients. ArcGIS platform clients include ArcGIS for Desktop, ArcGIS for mobile (iOS, Android, Windows Phone), ArcPad, Esri Location Analytics (Esri Maps for Office, IBM Cognos, and Microsoft SharePoint), Business Analyst, Community Analyst, ArcGIS Viewers for Flex and Silverlight, and the ArcGIS Online and Portal for ArcGIS Map Viewer.
Working with ArcGIS Online and Portal for ArcGIS
ArcGIS Online and Portal for ArcGIS both provide a self-service mapping experience where end users can browse and discover GIS web services and create their own web maps and web applications. The former is hosted by Esri, and the latter is deployed on-premises in your organization. Both are complementary to ArcGIS for Server, because they can be conceptually thought of as providing an attractive front-end user experience to web services from an ArcGIS Server site.
When ArcGIS for Server web services are registered with either ArcGIS Online or Portal for ArcGIS, the services become items that can be easily discovered and consumed by end users. Using the ArcGIS Online or Portal for ArcGIS Map Viewer, the GIS web services can be mashed up with online and portal basemaps that can be leveraged in online web maps and deployed in web applications. This can further expand the pervasiveness and usage of your GIS web services within your organization. Instead of finding your GIS web services through ArcGIS for Server’s Services Directory, you can think of ArcGIS Online and Portal for ArcGIS as a fourth access point to your ArcGIS Server site—a more user-friendly one for finding and leveraging your GIS web services.
ArcGIS for Server is a key component of the ArcGIS platform. It enables you to share your GIS resources as web services that are easily accessed over the Internet and can be consumed by a variety of clients. A geoportal, such as ArcGIS Online or Portal for ArcGIS, can provide an attractive front end for the server that allows users with little GIS training to make and share web maps using your web services. These tools empower an organization and its members to perform better decision making because everyone can access, collaborate, and work with the same geographic knowledge.