What types of services can you publish?
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 the GIS software installed. Instead, the server stores the resource, hosts the service, and does the GIS work, sending back a common format of result—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 document 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, you will follow the common pattern of creating resources in ArcGIS 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 one.
Service type |
Required GIS resource |
Map service |
Map document (.mxd, .pmf) or map service definition (.msd) |
Geocode service |
Address locator (.loc, .mxs, SDE batch locator) |
Geodata service |
Database connection file (.sde) or personal geodatabase or file geodatabase or map document referencing data from a versioned geodatabase |
Geometry service |
Does not require a GIS resource |
Geoprocessing service |
Map document with a tool layer or toolbox (.tbx) |
Globe service |
Globe document (.3dd, .pmf) |
Image service |
Raster dataset or mosaic dataset or layer file referencing a raster dataset or mosaic dataset |
Search service |
Folders and geodatabases of GIS content that you want to search |
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 a geocoding capability to allow someone to find a place by its address. By enabling capabilities, you can provide the GIS functionality that the users of your applications will 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 will view these capabilities as separate services.
The capabilities that are available for a resource vary depending on what type of resource it is and, in the case of a map document, what layers are inside it. Map documents have the most available capabilities. Some, like WMS and KML, are always available. Others, such as Geodata Access and Geoprocessing, require special types of layers. This chart details the capabilities you can enable and the GIS resource required to expose each one.
Capability |
What it does |
Services that expose this capability |
---|---|---|
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 |
Geodata Access |
Allows an end user to perform replication and data extraction in ArcMap. Enabling this capability while publishing a map document creates an associated geodata service. |
Map services |
Geometry |
Provides an engine internal to your applications for performing geometric calculations such as project and densify. |
Geometry services |
Geoprocessing |
Provides access to geoprocessing models from either a toolbox or tool layer. A tool layer represents a model that has been added to a map document's table of contents. Enabling this capability while publishing a map document creates an associated geoprocessing service. This capability is always enabled when you publish a geoprocessing service. |
Geoprocessing services, map 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 ITTVIS. | 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 document. This capability is always enabled when you publish a map service. |
Map services |
Mobile Data Access |
Allows extraction of data from a map document to a mobile device. |
Map services |
Network Analysis |
Solves transportation network analysis problems using the Network Analyst extension. |
Map services |
Search |
Allows searching of folders and geodatabases shared across an enterprise |
Search services |
WCS |
Creates a service compliant with the Open Geospatial Consortium, Inc. (OGC) Web Coverage Service (WCS) specification. |
Geodata services, image services, map 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. |
Image services, map services |
It's important to know which capabilities are available and to choose the ones that will 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 to display the contents of a map document in a Web application, you need to publish the map document as a map service. The Mapping capability is always enabled for this type of service. See the Map services book.
- If you want to make images of your map available on the Web using an open, recognized standard, you need to create a map document and publish it with the WMS capability enabled. See WMS services.
- If you want to create a service that is accessible from Google Earth, you need to 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 get data from a map document into your mobile device, you need to publish the map document with the Mobile Data Access capability enabled. See Mobile data services.
- If you want clients to use ArcMap to check out data from a geodatabase on the server, perform edits, and check in the changes, you need to create a map document and add the geodatabase layer. Then, publish the map document with the Geodata Access capability enabled. See the Geodata services book.
- If you want clients to be able to run a model you created, you need to incorporate the model in a tool layer in a map document. Then, publish the map document with the Geoprocessing capability enabled. Alternatively, you can just publish the toolbox containing the model. See the help for Geoprocessing with ArcGIS Server.
- If you have multiple sites that need to perform routing analysis, you need to 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 have data that you want to display in 3D, you should create a globe document and publish it as a service. The Globe capability will be enabled by default. See the globe services book.
- If you want multiple sites to synchronize the information in their geodatabases, you need to publish the geodatabases as a geodata service. The Geodata capability is always enabled for this type of service. See Geodata services.
- If you want clients to be able to geocode addresses, you need to 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 book.
- If you want to make geographic feature data available over the Web through an open, recognized standard, you can publish a geodata service or a map service and enable the WFS capability. See WFS services.
- If you have a large collection of raster data that you want to make available through the Web, you need to publish it as an image service. The Image Service capability is always enabled for this type of service. See Image services.
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 have a large amount of GIS content spread throughout your enterprise that you want to make easily searchable, publish a search service. The Search capability is always enabled for this type of service. See Search services.
- If you have a specific piece of functionality that you need to make available to client applications, you can develop your own capability. You can develop capabilities for any type of service. In ArcGIS Server development, services are referred to as server objects, and capabilities are server object extensions. The Developer Help contains topics and samples about creating your own server object extensions.
Making services available on the Web
When clients connect to the server, they can do so through a local or wide area network (LAN or WAN) or through the Internet. When clients connect to a GIS service through the Internet, they're accessing it as a Web service.
When you publish a service, it is automatically enabled for Web access and given an associated URL. The URL is used by ESRI applications to connect to the service when you use the ArcGIS Server Internet option. You cannot enter the URL in a browser directly; however, if you enter the URL in a browser and append ?wsdl, you can see the service's Web service definition and verify that the service is working correctly.
You can always disable Web access or set security parameters that limit who can access the service through the Internet.
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 Query; therefore, if you didn't want clients to be able to use an Identify tool with a map service, you would 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. You set the messaging format at the root folder level of your server. Therefore, the format you choose applies to all other folders.
By default, both SOAP and binary 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 be able to consume the service; only ArcGIS clients can use the binary messaging format.
Web service URLs
For clients to access Web services, they will need to know the URL. When you make an Internet connection to the server, you will use a URL in this format:
http://<server name>/<instance name>/services
To connect to a specific service, the URL takes a longer format:
http://<server name>/<instance name>/services/<folder name (if the service resides in a folder)>/<service name>/<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 the documentation topic specific to the type of service you are creating. To change the format of the URL, you can use URL mapping.
Capabilities that require Web access
Some capabilities require that clients access the service through the Internet; therefore, there is no option to disable Web access for these capabilities. The capabilities that require Web access are KML, WMS, and Mobile Data Access.