Geoprocessing services are how you expose the powerful analytic capability of ArcGIS to the world-wide web. Geoprocessing services contain geoprocessing tasks, and a task takes simple data captured in a web application, processes it, and returns meaningful and useful output in the form of features, maps, reports, and files. A task could calculate the probable evacuation area for a hazardous chemical spill, the predicted track and strength of a gathering hurricane, a report of land cover and soils within a user-defined watershed, a parcel map with historical details of ownership, or a permitting application for a septic system. The possibilities for these services are infinite.
A useful way to think about services is as four separate activities: designing, authoring, publishing (or sharing), and using (or consuming). The topics in this book about geoprocessing services address the mechanics of authoring, publishing, and using. That is, how to use ArcGIS for Desktop and web programming to create and access geoprocessing services and their tasks. The design of services—the work they perform, how useful they are, and how they mesh with your suite of applications and your organizational goals, is beyond the scope of this documentation, but you'll find many design tips and ideas throughout the topics in this book.
Service and tasks, toolboxes, and tools
If you have experience with using geoprocessing in ArcGIS for Desktop, you can think of a geoprocessing service as a toolbox and tasks as tools within the toolbox. The main difference is when you execute a task in a geoprocessing service, it executes on the server computer, using resources of the server computer. In fact, using a service and its tasks in ArcGIS for Desktop is so similar to using a toolbox and its tools that you may not notice the difference.
A geoprocessing service, like a toolbox, is just a container; it doesn't perform any processing. However, there are properties of a service, such as whether results are to be drawn with a corresponding map service, execution mode, number of processes, the locations to write data, and so on, that are inherited by all tasks within the service.
When discussing geoprocessing services and tasks, it's easy to blur the distinction between a service and the tasks within, especially if a service contains only one task. In casual conversation, equating a service and a task is common and doesn't (usually) cause confusion. But throughout this documentation, the distinction between service and task is always made.
Authoring, publishing, and using
To author a geoprocessing task, you typically create a geoprocessing tool using ModelBuilder or Python scripting. You don't have to create your own tool—you can use one of the many system tools installed with ArcGIS.
To publish the tools you've authored, you execute the tool in an ArcGIS for Desktop application such as ArcMap or ArcGlobe. Executing the tool creates a result in the Results window. You right-click the result and choose Share As > Geoprocessing Service to open a step-by-step wizard that both defines the service and the initial task within the service. This initial task is the same as the tool that created the result. You can add additional results to the service. Each result becomes a task within the service.
To publish a service, you need publisher or administrative access to an ArcGIS for Server installation.