http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#//009300000029000000
A geoprocessing service contains geoprocessingtasks accessible by Web-enabled clients. Tasks are created by publishing geoprocessing model and script tools.
There are two ways to create a geoprocessing service in ArcGIS Desktop:
- Publish a geoprocessing toolbox. Each tool in the toolbox becomes a task in the geoprocessing service.
- Publish an ArcMap document containing geoprocessing tool layers. Each tool layer becomes a task in the geoprocessing service.
- A raster digital elevation model (DEM)
- A point feature class
- A polygon feature class
- Insteadof operating in a study area defined by the user, it would work in aspecific study area. Since the model has a known study area andoperates on a specific DEM, the DEM is no longer an input parameter.
- As ageoprocessing service, clients cannot upload feature classes. Instead,the user will digitize points in the client application that representwatershed pour points. The service would snap these points to the DEMusing a precomputed snap distance appropriate for the resolution of theDEM.
- Insteadof extracting polygons from an input feature class, the model wouldoperate on a known set of data, such as land-cover polygons. The outputwould be land-cover polygons within the computed watershed. The inputpolygon is no longer needed.
- When you publish a toolbox, all tools within the toolbox become geoprocessing tasks within the geoprocessing service.
- When you publish an ArcMap document, all tool layerswithin the map document become geoprocessing tasks within thegeoprocessing service. (Tool layers are created by dragging anddropping tools into the ArcMap table of contents.)
- Whenpublishing an ArcMap document containing tool layers, you can alsospecify that you want the ArcMap document to become a map service thatwill be used to draw the output of tasks. A map service that draws taskoutputs is called a result map service.
- The result of your task is a (potentially) large dataset.
- Thedata type of your output is unsupported by the client, such as rastersin ArcGIS Explorer. In this case, you use the result map service todisplay the output.
- You want to protect the result of your task by allowing it to only be viewed as a map and not downloaded as a dataset.
- You have complex cartography that needs to be drawn by the result map service and not by the client.
- When aresult map service is added to the application, all layers in the mapservice are available for display. These layers include geoprocessingtool layers used to draw output, layers that may contain sensitivedata, or layers used by your geoprocessing service but that make nosense to the user (like tool layers).
- Basemapsare multiscale and multiresolution. As you zoom in and out, the basemapchanges, showing details at large scales and aggregating details intogeneralizations at small scales (for example, rivers change from linefeatures at small scale to polygon features at large scales).Constructing a multiscale and multiresolution basemap that drawsquickly is not something your result map service needs to be dealingwith—its job is to draw outputs. You need to keep the design andimplementation of basemap map services separate from the design andimplementation of result map services.
- In ModelBuilder, right-click any intermediate data variable and choose Managed.Caution:Do not set output variables to Managed, only intermediate variables.
- Use variable substitution (%scratchworkspace%) for paths. For example:%scratchworkspace%/templines.shp %scratchworkspace%/scratch.gdb/outWatershed
- The client draws the data.
- The result map service draws the data.
- The list of fields will contain the list at the time you published.
- If the user of your task picks another layer, the list of fields will not refresh.