A GIS server hosts GIS services. A GIS service represents a GIS resource—such as a map, globe, locator, or geodatabase connection—that is located on the server and is made available to client applications. 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 GIS 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 applications, such as ArcMap and ArcGlobe, can also act as clients to GIS 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 for Desktop and publishing the resources as services so that client applications can use them.
This chart summarizes the services that are available and the GIS resource required for each:
Service type | Required GIS resource |
---|---|
Geocode service | Address locator (.loc, .mxs, SDE batch locator) |
Geodata service | File geodatabase or database connection file (.sde) to a geodatabase |
GeoEvent service | GeoEvent service components |
Geoprocessing service | Geoprocessing result from Results window in ArcGIS for Desktop |
Globe service | Globe document (.3dd) |
Image service | Raster dataset or mosaic dataset, or layer file referencing a raster dataset or mosaic dataset |
Map service | Map document (.mxd) |
Stream service | GeoEvent service components |
Vector tile service | ArcGIS Pro vector tile package (.vtpk) |
Enabling capabilities
When you publish a GIS resource to the 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 view these capabilities as separate services.
This chart details the capabilities you can enable and the GIS resource required to expose each:
Note:
At the 10.4 release, map services published from ArcGIS Pro only support the Mapping, Feature Access, and WMS capabilities. In a future release, more capabilities will be supported. Further, these map services do not support caching or being extended with SOIs or SOEs.
Capability | What it does | Services that expose this capability |
---|---|---|
Electronic Navigational Charts | Gives access to S-57 ENC, AML, IENC, and encrypted S-63 datasets anywhere for visualization and analysis. | Maritime Chart services |
Feature Access | Provides access to vector features in a map. | Map services |
Geocoding | Provides access to an address 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 |
Globe | Provides access to the contents of a globe document. This capability is always enabled when you publish a globe service. | Globe 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 |
JPIP | Provides JPIP streaming capability when using JPEG 2000 or NITF (with JPEG 2000 compression) files and configured with a JPIP Server from Exelis VIS. | Image services |
KML | Uses a map document to create Keyhole Markup Language (KML) features. | 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 |
Mobile Data Access | Allows extraction of data from a map to a mobile device. | Map services |
Network Analysis | Solves transportation network analysis problems using the ArcGIS Network Analyst extension. | Map services |
Schematics | Allows viewing, generating, updating, and editing schematic diagrams. | 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 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, create an address 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 data that you want to display in 3D, create a globe document and publish it as a service. The globe capability is enabled by default. See the Globe services help topics.
If you have a large collection of raster data that you want to make available through 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 application, 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 want to get data from a map document into your mobile device, publish the map document with the Mobile Data Access capability enabled. See Mobile data services.
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 Network analysis services.
-
If you want to access your schematic diagrams in a server environment, create a map document with schematic layers related to those diagrams. Publishing the map with the Schematics capability enabled allows you to edit the diagrams (apply schematic algorithms, update) and generate new diagrams. See Schematics 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 over 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 didn't want clients to use an 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, such as ArcMap and ArcGlobe, 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 this 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.