opendap hyrax harnessing the power of the bes opendap hyrax back-end server patrick west...

17
OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West ( [email protected] )

Upload: warren-malone

Post on 29-Jan-2016

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

OPeNDAP Hyrax

Harnessing the power of the BES

OPeNDAP HyraxBack-End Server

Patrick West ([email protected])

Page 2: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

DATA

Extract from each file the sea surface temperature, cut the variable along the latitude and the longitude such that it matches the coast of Peru, cut along the time dimension such that it matches only the year 2010, assemble a single object

set container in catalog values c,myfile.nc;define d as c with c.constraint=”sst[1:3:21][1:1:27][1:1:45],time,lat,lon” aggregate by “time”;get dods for d return as “netcdf”;

OPeNDAP

OPeNDAP’s Hyrax

Page 3: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

OPeNDAP’s Hyrax

• Uses a modular architecture to support different application-level protocols– Data access using DAP– Catalogs using THREDDS– Browsing using HTML and ASCII

• Modules for data access– Different file types– Potential for database and scripting

• Modules for commands– Commands provide varying operations for different

protocols

Page 4: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

OLFS

Java Servlet Engine

BES

Unix Daemon

BES Commands

XML- encapsulated object

File system with data files,SQL Database, …

DAP2

THREDDS

HTML

Optional THREDDScatalogs

OPeNDAP’s Hyrax

Page 5: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Network Protocol andProcess start/stopactivities

Data Store Interfaces

BES Framework

PPT*

Commands**BES Commands/ XML Documents

*PPT is built in**Some commands are built in

The BES

Page 6: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Network Protocol andProcess start/stopactivities

Data Store Interfaces

BES Framework

PPT*Initialization/Termination

Commands**BES Commands/ XML Documents

*PPT is built in**Some commands are built in

The BES

Page 7: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Network Protocol andProcess start/stopactivities

Data Store Interfaces

BES Framework

PPT*Initialization/Termination

DAP2Access

DataCatalogs

Commands**BES Commands/ XML Documents

*PPT is built in**Some commands are built in

The BES

Page 8: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Network Protocol andProcess start/stopactivities

Data Store Interfaces

BES Framework

PPT*Initialization/Termination

DAP2Access

NetCDF3 HDF4 FreeForm…

DataCatalogs

Commands**BES Commands/ XML Documents

*PPT is built in**Some commands are built in

The BES

Page 9: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

BES Extensibility

In what ways can you extend the BES?

• New request handlers (data handlers like netcdf, hdf4)

• New response handlers (Cedar's Flat, Tab, Info responses)

• New commands (like our hello world example)

• Initialization/Termination

• Exception Handlers

• Reporters

• Container and Definition storage

• Aggregation engines

• Methods of returning your data (return as netcdf)

Page 10: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

say hello to world;

BES

hello world

Hello World

Page 11: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Hello World ModuleModules are dynamically loaded into the BES

•Within the BES configuration you specify the modules that you want to load into the BES.

•The module can add named handlers to the different pieces of the BES.

•The module can extend already existing modules, for example extending the DAP2 module.

•The module can modify already existing modules, such as changing the way certain responses are built.

•In the case of the Hello World module, you are adding a new command, a new request handler, a new response handler, and a new reporter.

Page 12: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Request Handler

Request handlers are the handlers that know how to fill in the responses.

•The request handler is added to the list of request handlers in the BES. I.E. You can have multiple request handlers.

•Request handlers register static functions that know how to fill in certain responses, such as how to add version information, how to add help information, how to add attributes to a DAS.

•The Hello World example registers functions to fill in version information and help information, it doesn't handle DAP2 responses.

Page 13: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Response Handler

Response handlers know how to create the response and how the response should be filled in, it does not necessarily know how to fill in the response object.

•A response handler represents a specific response, such as a DAS response, a DDS response, a help response ...

•A DAS response handler knows that it needs to go to each request handler for each data file.

•A version response handler knows that it needs to go to all registered request handlers to get version information.

•The Hello World response handler simply builds the response to the request to say something to someone.

Page 14: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Reporter

The BES allows a module to add a reporter, which can store off metrics information for each data access.

•Information about requests is stored throughout the BES in a data structure. This information can be saved to a file, saved to a database, ...

•The Hello World reporter adds information about what is being said to who to a file that is named in the BES configuration file.

Page 15: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Hello World Command

New commands can be added to the BES

•There are built in commands, such as 'show help', 'show version' ...

•All other commands are added to the BES in the loaded modules. The DAP2 module adds commands to get the DAS response, get the DDS response, show THREDDS catalog information.

•The Hello World command 'say <something> to <someone>' is added to the list of commands.

Page 16: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

BES Configuration

Page 17: OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West (pwest@ucar.edu)pwest@ucar.edu

Hyrax