The Naval Research Laboratory's ongoing implementation of the Open Geospatial Consortium's Catalogue Services specification

The Naval Research Laboratory's (NRL) Digital Mapping, Charting and Geodesy Analysis Program (DMAP) team, located at Stennis Space Center, conducts research involving the online storage and manipulation of geospatial data. One aspect of this research concerns metadata. Metadata is “data about data” or simply put, various bits of information that provide an understanding of certain aspects of the data such as source, resolution, date created, geographic location and many others. Standardized metadata formats allow data to be easily categorized and thereby easily searched. Most geospatial data producers have realized or are starting to realize that creating standardized metadata along with their data is crucial for allowing their data to be utilized by standards-conforming Geographic Information Systems (GIS). But having the metadata in standard formats is only part of the solution. How can this metadata be stored, updated and queried in a standard way? To this end, the Open Geospatial Consortium (OGC) has created an open specification for cataloging metadata. This specification is named “Catalogue Services” and defines a base metadata and interface model to allow querying and updating a metadata catalog. The base model is an abstraction that is actualized by a “protocol binding”. A protocol binding defines the mapping between the interfaces of that binding and those of the base specification. The Catalogue Services specification defines CORBA, Z39.50 and HTTP protocol bindings. The HTTP protocol binding is also known as “Catalogue Services for the Web” (CSW). The Catalogue Services specification also defines the concept of “application profiles” which allows the base model to be extended to support a particular user community's needs. The base catalog specification, protocol bindings, and application profiles together provide a very flexible and powerful metadata cataloging architecture. The DMAP team has decided to investigate implementing the CSW component of Catalogue Services to complement its geospatial work. CSW was chosen due to the popularity of web services and the DMAP team's familiarity with them. CSW defines seven operations which map to operations in the base model. Four of these operations are required to be implemented and three are optional. These operations are required to be implemented using either HTTP POST or HTTP GET requests. Request parameters are required to be sent using either Key-Value-Pair (KVP) or Extensible Markup Language (XML) documents. Responses to these requests are formatted as XML documents. SOAP (a way to standardize web service communication) can optionally be used if the implementation supports it. Part of the task of creating a CSW implementation involves the storage of metadata records. In this case, the metadata records are in the form of Extensible Markup Language documents that conform to certain geospatial metadata schemas (declared by the Catalogue Services base model or by an application profile). Currently, there are two popular types of databases for XML document storage. These are “XML-Enabled” and “XML-Native”. XML-Enabled is an extension to tradition relational database software that provides some XML-specific functions. In this scheme, the data from an XML document is extracted and stored in relational tables. XML-Native is a newer database concept designed from the beginning to store XML files and uses the XML document as the base unit of storage. There are several commercial and open source XML database applications to choose from. However, some of these do not provide needed functionality and others have little or no current development activity. Finding one that solves your particular needs can be a challenge. DMAP has chosen the open source XML-Native database project eXist for initial CSW prototyping due to high developer activity level, open source code, ease of use and no cost. This paper will further discuss the Catalog Services specification, XML databases, XML query languages, geospatial metadata schemas, implementation challenges and DMAP's current state of CSW development.