OPENGIS XML- BASED WEB MAP INTERFACES
Ignacio Guerrero
Intergraph Corporation
Huntsville, Alabama 35894-0001
Abstract
This paper will present the process and value of using industry standard OpenGIS XML-based Web Mapping interfaces with GeoMedia products. The XML-based interface specifications, first benchmarked in the OGC Web Mapping Testbed (September 1999), provide a powerful, open environment for incorporating multi-vendor legacy data and software systems into critical Web-deployed applications. The initial specification has been expanded through the Web Mapping Testbed II (late 2000, early 2001) to include Web MAP Server (WMS), Web Feature Server (WFS) and Web Coverage Server (WCS) specifications and make use of the Geographic Markup Language (GML). These standard protocols allow disparate systems to interoperate. This presentation will highlight and demonstrate how GeoMedia products with its open architecture conform to and can use the OpenGIS interfaces to integrate seamlessly with other systems.
Interoperability
Interoperability refers to the ability for software components to integrate even when they are written by different software organizations or vendors. Over the past decade, several technologies have emerged which provide the infrastructure to enable interoperability. The Component Object Model (COM), the Common Object Request Broker Architecture (CORBA), and Java technology are the most notable of these technologies. It is fair to say that each of these technologies provides a certain degree of interoperability on its own. However, the goal of interoperability across platforms remains elusive.
Interoperability can be looked at from several angles. The strongest form of interoperability is in-memory interoperation. In this case, software components coordinate the allocation of object memory in order to coexist without collisions. This type of interoperability requires different systems (languages) to adhere to strict binary standards. This is not practical in many environments because the software is often supplied by different vendors tied to different platforms and targeted toward diverse user communities. A less tight, but no less useful form of interoperability, takes place when components communicate through data and messages. In addition, this is practical interoperability in the real world. Recently, XML has emerged as the standard for the exchange of data between heterogeneous systems. The reason for the wide acceptance of XML is its simplicity. As a text-based system to encode data, it is completely platform independent. This characteristic makes it especially suitable for use in the World Wide Web, which requires cooperation between a large variety of dissimilar software components. For a more complete discussion of interoperability levels, refer to Don Box [1].
XML
XML stands for Extensible Markup Language. XML uses tags to identify data:
<zip_code>35894</zip_code>
This simple construction lends meaning to the abstract figure 35894. XML is a format, similar to HTML, which is designed specifically for data transmission and storage. An XML source document consists of data elements formatted with a begin tag, an end tag, and data content.
Example:
Begin tag: <zip_code>
End tag: </zip_code>
Data content: 35894
XML can be formed by nesting data elements to create a hierarchical data structure. Tags are not pre-defined as in HTML, but they can be chosen freely provided they are structured correctly (according to XML syntactical rules). Often XML documents are accompanied by a Document Type Definition (DTD) that defines the structure (schema) for the XML document. This permits validations of XML documents for structural content.
Various professional organizations are standardizing tags to be used within their industries. For example, the World Wide Web Consortium (W3C) through the Micropayment Markup Working Group is creating standards to provide an extensible way to embed in a Web page all the information necessary to execute a micropayment. Micropayments are very small payments made over the Web for pages that you access that cover transactions which are too small to be economical as credit-card transactions. Other industry organization are actively working on standard XML-based data exchange formats.
The Open GIS Consortium (OGC) is adopting XML as the means to communicate geographic information within heterogeneous databases and software programs. The set of tags and nest structures is named Geographic Markup Language (GML) and will provide the same standardization to GIS and mapping users that the Micropayment Working Group is providing to commercial transactions.
Web Mapping Interfaces
There are literally thousands of Web sites around the world which provide map and image data. Unfortunately, they do not work together. Data from various sites cannot be registered, merged, and displayed on a single client. The OGC has been active in sponsoring an interoperability program. The goal of the OGC Web Mapping Testbed Project is to allow the seamless integration of unlimited sources of geospatial data accessible over the Web. See [2] and [3].
OGC Web Map Server Interfaces
Common interfaces have been defined to allow clients to connect, query, and display data from various Web servers. These are as follows:
Get capabilities - Provides information about what a server can do, what data layers it can serve, formats available, etc.
Get map - Provides maps as pictures (GIF, JPEG, PNG, etc.)
Get feature_info - Provides information about specific features on the map
These interfaces are sent from the client to the server via standard Web protocols. The response is sent back to the client in the form of an XML document. The data content and tags delivered in the XML document conform to the standards defined by OGC. OGC Web-compliant servers are servers which support these interfaces.
Note: We use the term "compliant" informally.
OGC is in the process of defining formal compliance. The specification has been submitted approved by OGC as adopted technology [4].OGC Web Map Server Interfaces
Web Feature Servers are capable of delivering data to clients in object form as oppossed to picture form. Web Features Server Interfaces were developed as part of the Web Mapping Testbed 2 during 2000. These specification are still under development and have been published in the form of an OGC discussion paper [5]
Get capabilities - Provides information about what a server can do, what data layers it can serve, formats available, etc.
DescribeFeatureType - Provides information about a feature schema (or record structure)
Get feature - Returns the result set of a query in GML format
Transaction – Describes data transformation operations that are to be applied to a web accessible datastore
LockFeature – Used to acquire a lock on a single feature or set of features
Intergraph has developed 2 "Adaptor Kits" for WMS and WFS respectively. These are templates which provide the necessary code on top of GeoMedia Web Map or GeoMedia Web Enterprise to support the OGC WMS and WFS interfaces.
Universal Client
The GeoMedia family of products was conceived as a universal data integrator that is very closely related to the conceptual OGC model for geodata access. This was done by intention, not by accident. The implementation model for GeoMedia data access is based on OLE/COM concepts. The standard geodata access API used in GeoMedia is referred to as Geographic Data Objects (GDO). GDO is an open standard which providers can use to expose data to GeoMedia clients. Data connectivity is tied to the existence of GDO data servers (data providers). This has proven to be extremely useful in resolving the cases where there was no data sharing due to disparate GIS systems in use in different departments of an enterprise. To take advantage of the fast-developing OGIS-XML standards, a GDO Data Server for OGIS-GML was developed. This immediately expands the reach and interoperability of GeoMedia by providing these clients access to OGC-compliant data sources on the Web, no matter where they reside.
This configuration can be complemented with application servers residing anywhere in the network and which can deliver specialized geoprocessing.
Conclusions
XML technology provides a vehicle for system collaboration ("cooperative applications") in heterogeneous computing environments. OGC standard interfaces create a common protocol for information exchange within the GIS community. OGC-compliant GML Servers will take GIS data connectivity to unprecedented levels.
The GeoMedia architecture, based on open universal data access, is well suited to take advantage of the World Wide Web. The benefits of this architecture are multiple:
References
[
1] Box, D "Lessons from the Component Wars: An XML Manifesto", MSDN Online Web Workshop. Microsoft Corporation, September 1999.[2] OpenGIS "A Request for Technology in Support of a Web Mapping Technology Testbed", October 28, 1998.
[3] OpenGIS "Request for Quotation and Call for Participation in the OGC Web Mapping Testbed Initial Operating Capability and Demonstration", March 8, 1999.
[4] OpenGIS "Web Map Sever Interface Specification version 1.0.0", April 19, 2000.
[5] OpenGIS "Web Feature Sever Interface Specification version 0.0.12", January 21, 2001