An overview of geoprocessing with ArcGIS Server

ArcGIS Server is a comprehensive Web-based GIS that provides a range of out-of-the-box applications and services for mapping, analysis, data collection, editing, and management of spatial information.

A geoprocessing service contains geoprocessing tasks accessible by clients. Tasks are created by publishing geoprocessing toolboxes or map documents containing tool layers. When you execute a task in a geoprocessing service, it executes on the server computer, using resources of the server computer.

Geoprocessing services and their tasks are accessed through the public Internet and private intranets and can be used in ArcGIS Desktop, ArcGIS Explorer, and Web applications such as a Web site built using ArcGIS Server Manager installed with ArcGIS Server. In ArcGIS Desktop, you connect to a server and view its geoprocessing services in the Catalog window. Geoprocessing services appear as toolboxes, and tasks become tools within the toolbox.

ArcGIS Server is a separate product, but clients don't need to have ArcGIS Server installed to use published services. Once ArcGIS Server is installed on the server, toolboxes can be published as geoprocessing services, making them available to anyone with an Internet connection.

Learn more about using geoprocessing services with ArcGIS Desktop

If you are familiar with geoprocessing

If you are familiar with building geoprocessing tools in ArcGIS Desktop, then you are only a few steps away from creating and publishing your tools to ArcGIS Server. Below is a summary of key concepts and rules—details can be found in Key concepts for geoprocessing services as well as other topics in this book.

  1. Model and script tools that execute in ArcGIS Desktop will need to be modified to execute on ArcGIS Server.
    • Only certain input and output parameter data types are allowed. For example, tools that have feature class input will have to be modified to have feature set input instead. It is easy and straightforward to change a model or script to take feature set input rather than feature class input.
    • Due to the fact that your tools can be executed on multiple server computers, there are specific rules about where intermediate and output data can be written. You will have to modify your models and scripts to follow these rules for writing intermediate and output data.
  2. You need to think about how the outputs of your tools will be displayed in the client application. When using tools in ArcGIS Desktop, you may not give output display much thought—you use ArcMap layers to create a good cartographic display of tool outputs. ArcGIS Server clients may not have the capabilities of ArcMap, so you need to think carefully about how your outputs should be displayed and specify good symbology.
  3. Geoprocessing services need to be fast and efficient. Clients want and expect fast service. Since ArcGIS Server can service multiple clients at once, inefficient services can overload your server. The more efficient your services, the more clients can be serviced with the same computing resources. You may need to tune your models and scripts for faster execution.

Guide to topics



A quick tour of sharing tools

This is the overview topic for the geoprocessing documentation book, Sharing tools. Although the topics in this module are not specific to ArcGIS Server, they do describe and discuss issues common to sharing tools, and since ArcGIS Server is just another way to share geoprocessing tools, the topics are relevant.

Key concepts for geoprocessing services

This topic describes the key concepts you need to know for building and publishing geoprocessing services and tasks. This topic is full of information and may be a bit overwhelming at first. You will probably need to visit this topic several times. Nevertheless, start with this topic, then try your hand at one or more of the example services.

Guide to the geoprocessing service examples

This is the overview topic for the geoprocessing service examples that are provided with the ArcGIS tutorial data. There are many examples with information on how to build, publish, and use a service with ArcGIS Desktop. Pick one of the example services, examine it, then publish and use it. After you gain an understanding of one service, try other example services, perhaps modifying them to suit your particular needs.

Guide to related geoprocessing with server topics

This topic provides links to other topics in the documentation system that are relevant to building geoprocessing services.

Input and output data types

When you create a variable in ModelBuilder or define a parameter for a script tool, you provide a data type that defines the values for the variable or parameter, such as Feature Class or Linear Unit. There are restrictions on what data types you can use with ArcGIS Server. While data types are discussed in Key concepts for geoprocessing services, Input and output data types provides greater detail.

Creating models for geoprocessing services

Summarizes the rules for creating models that can be published to a server.

Preparing map documents containing tool layers

A common method for creating services is to publish a map document containing tool layers. This topic summarizes the steps for creating tool layers.

Defining output symbology for geoprocessing tasks

This topic describes the layer symbology and symbol types supported by clients.

Defining symbology for input feature sets

Feature sets define the symbology to display features that the user creates. This symbology must be compatible with the client. This topic establishes the rules for feature set symbology.

Publishing geoprocessing services

Describes the methods for publishing services using the Catalog window or ArcCatalog.

Managing the jobs directory

The jobs directory is where intermediate and output data is written. This topic discusses management of job directories.

Data access considerations for geoprocessing tasks

Any data your tools use must be accessible by all machines in your ArcGIS Server configuration. This topic summarizes the issues you must consider and how to deal with them.

Creating tasks for the UNIX/Linux environment

Your ArcGIS Server configuration may include computers running the UNIX or Linux operating system. While you can only create tools on a Windows platform, they can reside and execute on a UNIX or Linux system. This topic shows you how to build tools on Windows that can execute on UNIX or Linux.

Creating script tools for geoprocessing tasks

Script tools can be published as geoprocessing services. Script tools follow the same rules as model tools. This topic reviews the rules and demonstrates certain aspects of creating script tools suitable for publishing.

Using geoprocessing tasks in Python scripts

Shows how to use a service in a script.

Spatial reference considerations for geoprocessing services

A spatial reference is how ArcGIS describes the map projection and coordinate system of geographic data. Clients can request output data in any spatial reference, and ArcGIS Server handles all conversions for you. Occasionally, you may need to output data in a specific spatial reference—this topic shows you how.

Performance tips for geoprocessing services

Tips on how to increase service performance.

Checklist for authoring and publishing geoprocessing services

Reviews all the requirements for authoring and publishing geoprocessing services.

Guide to topics for existing geoprocessing users

If you are new to geoprocessing

The guide to topics below is for those of you who have little or no experience with ArcGIS Desktop or geoprocessing. Perhaps you have discovered (or heard a rumor) that geoprocessing can help you provide rich GIS functionality in your Web application without having to develop the functionality from scratch. This is true—by building and publishing models and scripts to ArcGIS Server, you can create an infinite number of useful and powerful tools that can be accessed from your Web application. Before you get started with ArcGIS Server, become familiar with ArcGIS Desktop and geoprocessing.

The table below guides you to introductory geoprocessing topics.



What is geoprocessing?

A quick tour of geoprocessing

These two topics describe the basic premise of geoprocessing and the main software components (such as the ArcToolbox window and ModelBuilder) that you will interact with.

Geoprocessing framework

This topic describes how geoprocessing is an integrated development environment for automating work.

Geoprocessing tools

Geoprocessing as an integrated development environment for automating work is only one part of the story. This topic is your launch point for understanding geoprocessing tools and their capabilities. There are hundreds of tools that perform a wide variety of functionality, from adding a field to a table to performing sophisticated spatial analysis across multiple datasets.

A quick tour of finding tools

A quick tour of executing tools

An quick tour of managing toolboxes

These topics are all about finding and executing tools and managing toolboxes.

What is ModelBuilder?

A quick tour of ModelBuilder

These topics are about creating models. Models are one way you can create custom tools.

Writing Python scripts

A quick tour of creating script tools

Scripts are another way you can create custom tools.

Guide to topics for new geoprocessing users