In the context of Geographic Information System’s evolution from monolithic systems to personal desktop GIS and then to collections of remote Internet services, we discuss the combination or chaining of distributed geospatial web services. The adoption of web services technology provides remote access to a diverse and wide array of geospatial datasets and allows developers to create web applications (web browser-based or GIS client-based), hiding the underlying server functionalities from their public interfaces. A major challenge in working with these remote services, as opposed to a single desktop application, is to properly integrate ad hoc services to build a coherent service chain; this is especially tricky in real-time scenarios where web applications need to be built on-the-fly. This chapter discusses strategies for geospatial web service chaining and poses some challenging issues, many related to semantics, to be resolved for geospatial web service chaining to become a commonplace activity.
Chaining Geospatial Services
Interoperability, or the ability of software components to interact with minimal knowledge of the underlying structure of other components, has become a basic requirement for distributed information systems (Sheth, 1999), and so it is also critical to GIS and to geospatial web services. The Open Geospatial Consortium (OGC) has formed working groups within the GIS community to foster interoperability between geodata and geospatial services in order to define well-established interfaces to a wider range of geospatial web services (Whiteside, 2005). Table 1 lists a sample of key geospatial web services interfaces as defined by OGC.Table 1.
Examples of geospatial Web services
|Service name||Service description|
| Web Map Service (WMS)|| Dynamically produces spatially referenced maps of client-specified criteria from one or more geographic datasets, returning pre-defined maps in an image or graphics format (png, jpeg, gif)|
| Web Feature Service (WFS)|| Allows clients to filter and retrieves vector representation of geospatial features and feature collections|
| Web Coverage Service (WCS)|| Retrieves client-specified coverage or image dataset|
| Catalog Service (CSW)|| Retrieves object metadata stored that meets specified query criteria|
| Gazetteer Service|| Retrieves location geometries for specified geographic names|
| Web Terrain Service (WTS)|| Dynamically produces perspective views from geographic feature and/or coverage data, returning pictorial renderings of data in an image or graphics format|
| Web Coordinate Transformation Service (WCTS)|| Transforms the coordinates of feature or coverage data from one coordinate reference system (CRS) to another, including for example, conversions and rectification|
| Coverage Portrayal Service (CPS)|| Dynamically produces pictorial renderings in an image or graphics format of a coverage subset dynamically retrieved from a Web Coverage Service (WCS)|
Key Terms in this Chapter
Service Chain: Sequence of services where, for each adjacent pair of services, occurrence of the first service is necessary for the occurrence for the second service [paraphrased from ISO 19119].
GML: The Geography Markup Language is a XML grammar defined by OGC to express geographical features. To help users and developers to structure and facilitate the creation of GML-based application, GML provides GML profiles that are XML schemas that extend the very GML specification in a modular fashion. A GML profile is a GML subset for a concrete context or application but without the need for the full GML grammar, simplifying thus the adoption of GML and facilitating its rapid usage. Some common examples of GML profiles that have been published are Point Profile, for applications with point geometric data, and GML Simple Features profile, supporting vector feature requests and responses as the case of WFS.
Service Metadata: Metadata describing the operations and geographic information available at a particular instance of a service [paraphrased from ISO 19119].
Service Provider: The role of service provider provides software applications as web services, creating functional descriptions and making them available in public registries.
Service: Functionality provided by a service provider through interfaces [paraphrased from ISO 19119].
SOAP: A protocol for exchanging XML-based messages between services over a computer network, usually the Internet. A SOAP message may think of as an envelope that wraps mainly two elements: a header, with useful information to interpret the data, and a body, which actually contains the exchanged data among web services.
OGC: The Open Geospatial Consortium is an international industry consortium participating in a consensus process to develop publicly available interface specifications. OGC members include government agencies, commercial companies, and university research groups.
ISO/TC211: ISO Technical Committee 211 in Geographic information/Geomatics is in charge of establishing a set of standards for digital geographic information concerning objects or phenomena that are directly or indirectly associated with a location relative to the Earth.
WSDL: A XML-based specification that allows service providers to describe syntactically service interfaces. Basically, a WSDL description allows service providers to describe a web service’s function and its input and output parameters in order to be discovered and invoked by client applications and other web services.
UDDI: A specification/protocol that allows service providers to publish service descriptions in a service registry and service consumers to discover services in a service registry according to their service descriptions, usually described in WSDL. The main element of UDDI is the business registry, a service registry based on XML that contains three kind of information for each web service published: white pages or contact information, yellow pages include business categorization, and green pages that comprise technical information of the web service along with a link to its WSDL description.
Service Consumer: The role of service consumer requires certain requirements and needs that are fulfilled by one or more web services available over the Internet.