Gateway Service

From OPeNDAP Documentation
Revision as of 19:45, 28 January 2011 by Ndp (talk | contribs) (→‎Overview)
⧼opendap2-jumptonavigation⧽

Overview

Gateway service.jpg

The Gateway Service provides Hyrax with the ability to apply DAP constraint expressions and server side functions to data available through any network URL. This is accomplished by encoding the data source URLs into the request URL supplied to the gateway_service. The gateway_service decodes the URL and uses the BES to to retrieve the remote data resource and transmit the appropriate DAP response back to the client. The system employs a white list to control what data systems the BES will access.


A Data Service Portal (DSP), such as Mirador will:

  • Provide the navigation/search/discovery interface to the data source.
  • Generate the data source URLs.
  • Encode the data source URLs.
  • Build a regular DAP query as the DAP dataset ID.
  • Hand this to the client (via a link or what have you in the DSP interface)

BES gateway_module

The gateway_module

The gateway_module for the BES is written. Version 0.1 is checked into subversion repository and we are currently testing the software. Additional features are being added, such as

  • Whitelisting secure domains for passing through the Hyrax server.
  • Making sure temporary files are removed after being processed
  • Testing.

OLFS gateway_service

The gateway_service is responsible for:

  • Decoding the incoming dataset URLs.
  • Building the request for the BES.
  • Returning the response from the BES to the client.

Encoding data source URLs

T idea is that Mirador will generate URLs to be encoded and passed to the gateway as part of a DAP URL I am attaching a tar file that contains an application for encoding and decoding this URL content. Give it a whirl - it's a java application in a jar file. There is a bash script (hexEncode) that should launch it. You may need to adjust the file permissions on the script as ANT (which bundled the jar) may have dropped the executable permissions. The source code for it is available here:

  http://scm.opendap.org/svn/trunk/olfs/src/opendap/gateway/EncodeDecode.java