ArcGIS Server hosts GIS services. A service represents a geospatial resource—such as a map, locator, or geodatabase connection—made available to client apps.
GIS products in ArcGIS Enterprise, such as web maps and apps, are powered by ArcGIS Server services. Actions taken by your users—from viewer actions such as panning and zooming a map to editor actions such as updating or deleting a feature—make requests to the services running on your ArcGIS Server site's machines.
Services make it easy to share the use of resources across clients. You can be sure that each client has the same view of the resource, and you save resources because the server is storing the resources and the clients don't need to have GIS software installed. Instead, the server stores the resource, hosts the service, and does the geospatial work, sending back a result in a common format—such as images or text—to the client.
Working with services
You don't need any specialized GIS software to work with a service; you can consume the service within a web browser or custom application. However, ArcGIS Pro and ArcGIS Enterprise serve as common client applications for services.
When you work with a service hosted by ArcGIS Server, you have, in most cases, the same level of access to the resource that you would have if the resource were located on your machine. A map service, for example, allows client applications to access the contents of a map on the server in much the same way that they would if the map were stored locally.
Publishing a GIS resource as a service is the key to making that resource available to other people. As you deploy ArcGIS Server, follow the common pattern of creating resources in ArcGIS Pro and publishing the resources as services so that client applications can use them.
ArcGIS GIS Server service types
The types of services that you can publish will vary based on the licensing role you have established for ArcGIS Server.
For example, if you licensed ArcGIS Server as an ArcGIS GIS Server, the following table summarizes the services you can publish and the GIS resource required for each:
Service type | Required GIS resource |
---|---|
Geocode service | Locator (.loc) |
Geodata service | File geodatabase or enterprise geodatabase connection file (.sde) to a traditional versioned workspace |
Geoprocessing service | A successfully completed Geoprocessing history item |
Image service (cached, dynamic) | Raster dataset or a layer file referencing a raster dataset |
Map service (cached, dynamic) |
See an introduction to sharing web layers for a summary of layer types that can be published from ArcGIS Pro. |
Vector tile service | ArcGIS Pro vector tile package (.vtpk) |
ArcGIS Image Server service types
If you licensed ArcGIS Server as an ArcGIS Image Server, the following table summarizes the services you can publish and the GIS resource required:
Service type | Required GIS resource |
---|---|
Image service (cached, dynamic) | Raster dataset or mosaic dataset, or a layer file referencing a raster dataset or mosaic dataset |
ArcGIS GIS Server and ArcGIS Image Server service types
If you licensed both ArcGIS GIS Server and ArcGIS Image Server, the following table summarizes the services you can publish and the GIS resource required:
Service type | Required GIS resource |
---|---|
Image service (cached, dynamic) | Raster dataset or mosaic dataset, or a layer file referencing a raster dataset or mosaic dataset |
Map service (cached, dynamic) | See an introduction to sharing web layers for a summary of layer types that can be published from ArcGIS Pro. |
GeoEvent Server service types
If you licensed ArcGIS Server as a GeoEvent Server, the following table summarizes the services you can publish and the GIS resource required for each:
Service type | Required GIS resource |
---|---|
Stream service | GeoEvent Server service components |
ArcGIS GeoAnalytics Server service types
If you licensed ArcGIS Server as an ArcGIS GeoAnalytics Server, you cannot publish stand-alone services. Services generated on the GeoAnalytics Server are preconfigured and initialized as part of the GeoAnalytics Server install process and used as input to various analytics tasks.
Enabling capabilities
When you publish a GIS resource to ArcGIS GIS Server, you can enable capabilities that define the various ways clients can use the service. For example, you might enable the feature access capability on a map service to allow someone to edit features over the web. By enabling capabilities, you can provide the GIS functionality that the users of your applications need.
As an ArcGIS Server administrator, your view of the server focuses on GIS resources and the services you create from them. However, a client's view of the server focuses more on the capabilities that you enabled when you published the resource, since that is what can be consumed. As an administrator, it's possible for you to publish one GIS resource and enable many capabilities for that resource. The person who uses these services views these capabilities as separate services.
The following table details the capabilities you can enable and the GIS resource required to expose each:
Capability | What it does | Services that expose this capability |
---|---|---|
Maritime Chart Service | Provides access to S-57 and S-63 encrypted AML, BIENC, ENC and IENC datasets for visualization and analysis. | Map services |
Feature Access | Provides access to vector features in a map. | Map services |
Geocoding | Provides access to a locator. This capability is always enabled when you publish a geocode service. | Geocode services |
Geodata | Provides access to the contents of a geodatabase for data query, extraction, and replication. This capability is always enabled when you publish a geodata service. | Geodata services |
Geoprocessing | Provides access to geoprocessing models. This capability is always enabled when you publish a geoprocessing service. | Geoprocessing services |
Imaging | Provides access to the contents of a raster dataset or mosaic dataset, including pixel values, properties, metadata, and bands. This capability is always enabled when you publish an image service. | Image services |
KML | Uses a map document to create Keyhole Markup Language (KML) features. | Map services |
Linear Referencing | Analyzes, visualizes and maintains your location referenced networks and associated event data. | Map services |
Mapping | Provides access to the contents of a map, such as the layers and their underlying attributes. This capability is always enabled when you publish a map service. | Map services |
Network Analysis | Solves transportation network analysis problems using the ArcGIS Network Analyst extension. | Map services |
Network Diagrams | Exposes various functions to create, access, edit, and maintain published network diagrams. | Map services |
Parcel Fabric | Provides access to parcel fabric layers, which can be edited and consumed in ArcGIS Pro. | Map services |
Topographic Production | Produces a layout or map based on an existing map product definition. | Map services |
Trace Network | Provides the ability to work with traces, trace configurations, and validate the network topology. | Map services |
Utility Network | Provides the ability to perform network traces, subnetwork management, and network topology management tasks to solve utility network analysis problems. | Map services |
Validation | Exposes management capabilities that support evaluation of geodatabase rules (attribute rules and topology rules) that enhance data management and quality control. | Map services |
Version Management | Exposes management capabilities to support feature services that work with branch versioned datasets. | Map services |
WCS | Creates a service compliant with the Open Geospatial Consortium, Inc. (OGC), Web Coverage Service (WCS) specification. | Map services, image services, geodata services |
WFS | Creates a service compliant with the OGC Web Feature Service (WFS) specification. | Map services, geodata services |
WMS | Creates a service compliant with the OGC Web Map Service (WMS) specification. | Map services, image services |
WMTS* | Creates a service compliant with the OGC Web Map Tile Service (WMTS) specification. | Map services, image services |
WPS | Creates a service compliant with the OGC Web Processing Service (WPS) specification. | Geoprocessing services |
Note:
*Unlike other types of OGC services, there is no WMTS capability option to enable or disable when you create a cached map service. The map service and its tiles are automatically accessible using the WMTS specification.
What service capability should I enable?
It's important to know which capabilities are available and to choose the ones that best meet your needs. The following examples may help get you thinking about which capabilities you should enable when you publish your GIS resources:
- If you want clients to support data quality assurance and quality control workflows, refer to the help for the ArcGIS Data Reviewer server extension.
If you want clients to access the vector features of your map and perform editing, publish a map document as a map service with the Feature Access capability enabled. For more information, see the Feature services help topics.
If you want clients to geocode addresses and places, create a locator and publish it as a geocode service. The geocoding capability is always enabled for this type of service. See the Geocode services help topics.
If you want multiple sites to synchronize information in their geodatabases, publish the geodatabases as a geodata service. The Geodata capability is always enabled for this type of service. See the Geodata services help topics.
If you want clients to run a model you created, publish the results of the model. See the help for geoprocessing with ArcGIS Server.
If you have a large collection of raster data that you want to make available on the web, publish it as an image service. The Imaging capability is always enabled for this type of service. See the Image services help topics.
If you want to create a service accessible from Google Earth, publish a map document with the KML capability enabled. This capability is enabled by default on new map services. See Viewing services as KML.
If you want to display the contents of a map document in a web app, publish the map document as a map service. The mapping capability is always enabled for this type of service. See the Map services help topics.
If you have multiple sites that need to perform routing analysis, create a map document with a network analysis layer and publish the map with the Network Analysis capability enabled. See Routing services.
If you want to make your imagery available through an open, recognized standard, you can enable the WCS capability on the image service. You can also enable this capability on a map or geodata service. See WCS services.
If you want to make geographic feature data available on the web through an open, recognized standard, publish a geodata service or map service and enable the WFS capability. See WFS services.
If you want to make images of your map available on the web using an open, recognized standard, create a map document and publish it with the WMS capability enabled. See WMS services.
If you want to make your ArcGIS Server maps run faster on the web using an open, recognized standard, create a cached map service and access it through an OGC WMTS-compliant application. When you create a cached map service using ArcGIS Server, the map service and its tiles are automatically accessible using the WMTS specification. See WMTS services.
If you want clients to run a model you created using an open, recognized standard, publish the results of a geoprocessing model with the WPS capability enabled. See WPS services.
If you have a specific piece of functionality you need to make available to client applications, extend the service with your own capability. You can develop custom capabilities for map and image services. See About extending services.
Making services available on the web
When you publish a service to ArcGIS Server, it exposes itself through the common web service technologies SOAP and REST. If you don't want everyone in your organization to see the service, configure ArcGIS Server security to set limits on access. You can also restrict what types of things users are allowed to do with the service by disabling the allowed operations discussed below.
Allowed operations
ArcGIS Server web services have operations that define what users are allowed to do with the service. Each operation represents a group of related methods. When you disable an operation, you prevent clients from executing those methods. When you allow an operation, clients can call all the methods in that operation.
For example, map services have Map, Query, and Data as their allowed operations. The Identify tool uses a method in the Query operation; therefore, if you don't want clients to use the Identify tool with a map service, disable Query. For each type of service, you can find a list of operations and their associated methods in Tuning and configuring services.
Messaging formats
ArcGIS Server web services support both SOAP and binary messaging formats. SOAP is a common web service messaging protocol. Binary is used by certain ArcGIS client applications to view services.
By default, both binary and SOAP messaging formats are enabled. You can, however, choose to use just one of these formats. Be aware that if you choose just binary, standard web clients will not consume the service; only ArcGIS clients can use the binary messaging format.
To change the messaging format for your services, use the ArcGIS Server Administrator Directory to edit the site's properties. For instructions, see Server Properties in the ArcGIS REST API.
Web service URLs
Clients need to know the URL to access web services. To access a server through REST, use the following format:
http://gisserver.domain.com:6080/arcgis/rest/services
This displays a page called the Services Directory. You can navigate the links in the Services Directory to get the URL for any service on your server. You'll notice that to connect to a specific service, the REST URL takes a longer format:
http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/service type
To access a server through SOAP, format your URL as follows:
http://gisserver.domain.com:6080/arcgis/services
To access a particular service through SOAP, use the following format:
http://gisserver.domain.com:6080/arcgis/services/folder/service/service type (required for some services)/capability type (required for some services)
For further instructions on the URL formats to use with your services, see Components of ArcGIS URLs.