Gateway Service: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
No edit summary
Line 1: Line 1:
==Overview==
==Overview==




{|
{|
|Orange
|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.
|[[Image:Gateway service.jpg|right|500px]]
|[[Image:Gateway service.jpg|right|500px]]
<center>Gateway Service Diagram</center>
<center>Gateway Service Diagram</center>
|-
|-
|}
|}
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 ==
== 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.  
The gateway_module for the BES is written. Version 0.1 is checked into subversion repository and we are currently testing the software.  
Line 19: Line 27:


== OLFS gateway_service ==  
== OLFS gateway_service ==  
which is responsible for decoding the incoming dataset URLs.
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.


This is all very similar to a version of the WCS gateway that we put up a while back.
== Encoding data source URLs ==


Since the 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:
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
   http://scm.opendap.org/svn/trunk/olfs/src/opendap/gateway/EncodeDecode.java
I have also attached a picture that you may find useful.
Nathan

Revision as of 19:42, 28 January 2011

Overview

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.
Gateway service.jpg
Gateway Service Diagram

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