WCS Service Prototype

From OPeNDAP Documentation
Revision as of 20:57, 14 April 2009 by Ndp (talk | contribs) (New page: == Introduction == The WCS service prototype is written as a DispatchHandler implementation for the OLFS (essentially a plug-in). One of the challenges encountered when implementing a WC...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
⧼opendap2-jumptonavigation⧽

Introduction

The WCS service prototype is written as a DispatchHandler implementation for the OLFS (essentially a plug-in).

One of the challenges encountered when implementing a WCS service for Hyrax is catalog generation: How do we generate a list of coverages from existing holdings in Hyrax?

The initial plan was to use semantic web technology to crosswalk from existing (Climate Forcast, aka cf) metadata into the WCS metadata space. This effort is ongoing but the software technology involved has proved to be bleeding edge and somewhat difficult to make progress with. In order to move forward with the other aspects of WCS, we have implemented a configuration based catalog. In this catalog every wcs:CoverageDescription is essentially hand written and placed in a file in a designated directory. The directory is identified in the DispatchHandler's configuration object and at system start-up each file in the Coverages directory is ingested (with the assumption that the file contains a single wcs:CoverageDescription) and added to the catalog.

Although there are many drawbacks to this approach it is something that has a few positive qualities:

  • It works.
  • Although it's possible for a data provider to have large numbers of wcs:Coverages in their holdings, it is not practical:
    • Large numbers of wcs:Coverages will cause the wcs:Capabilities document to grow to such a size as to be indigestible by clients.
    • In practice many of these coverages would be appropriately aggregated into a singe larger coverage.

WCS Configuration

The wcs:Capabilites document contains 4 sections:

  • Service Identification
  • Service Provider
  • Operations Metadata
  • Contents

For any given installation of a WCS service the first three sections must be carefully localized. Their contents cannot realistically be ascertained by an automation. Thus, they are really part of the WCS configuration activity that must be performed by the service installer. The last section, Contents, can be automatically generated from the catalog of Coverages.

opendap.wcs.v1_1_2.DispatchHandler Configuration

   <Handler className="opendap.wcs.v1_1_2.DispatchHandler">
       <prefix>WCS</prefix>
       <ServiceIdentification>/absolute/path/to/the/document/ServiceIdentification.xml</ServiceIdentification>
       <ServiceProvider>/absolute/path/to/the/document/ServiceProvider.xml</ServiceProvider>
       <OperationsMetadata>/absolute/path/to/the/document/OperationsMetadata.xml</OperationsMetadata>
       <WcsCatalog className="opendap.wcs.v1_1_2.LocalFileCatalog">
           <CoveragesDirectory>/absolute/path/to/the/directory/coverages</CoveragesDirectory>
       </WcsCatalog>
   </Handler>