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.
You do not have to have any specialized GIS software in order to work with a service; you can consume the service within a Web browser or a 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, then publishing the resources as services so that client applications can use them.
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 | Required GIS resource |
Mapping | Provides access to the contents of a map document. This capability is always enabled when you publish a map service. | Map document (.mxd) or published map document (.pmf) |
WMS | Uses a map document to create a service compliant with the Open Geospatial Consortiom's (OGC) Web Map Service (WMS) specification | Map document |
Mobile Data Access | Allows extraction of data from a map document to a mobile device | Map document |
KML | Uses a map document to create Keyhole Markup Language (KML) features | Map document |
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 document with a layer from a geodatabase |
Geoprocessing | Provides access to geoprocessing models from either a toolbox or a tool layer. A tool layer represents a model that has been dragged and dropped from ArcToolbox into 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. | Toolbox (.tbx), ArcSDE toolbox, or a map document with a tool layer |
Network Analysis | Solves transportation network analysis problems using the Network Analyst extension | Map document with a network analysis layer referencing a network dataset |
Globe | Provides access to the contents of a globe document. This capability is always enabled when you publish a globe service. | Globe document (.3dd) |
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. | SDE connection file (.sde), Personal Geodatabase, File Geodatabase, or a map document with a layer from a geodatabase |
Geocoding | Provides access to an address locator. This capability is always enabled when you publish a geocode service. | Address locator file (.loc), ArcView 3 locator (.mxs), ArcSDE locator, Personal Geodatabase locator, File Geodatabase locator |
It's important to know which capabilities are available, and 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:
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. You can always disable Web access, or set security parameters that limit who can access the service through the Internet.
ArcGIS Server Web services have operations which you can toggle to define what clients 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 of 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 Securing a service.
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.
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.
Some capabilities require that clients access the service through the Internet; therefore there is no option to disable Web access for these capabilites. The capabilities that require Web access are KML, WMS, and Mobile Data Access.