OPeNDAP/Hyrax Interfaces

Slides:



Advertisements
Similar presentations
James Gallagher OPeNDAP 1/10/14
Advertisements

Hyrax Installation and Customization ESIP ‘08 Summer Meeting Best Practices in Services and Data Interoperability Dan Holloway James Gallagher.
OPeNDAP’s Server4 Building a High Performance Data Server for the DAP Using Existing Software Building a High Performance Data Server for the DAP Using.
A Common Data Model In the Middle Tier Enabling Data Access in Workflows … HDF/HDF-EOS Workshop XIV September 29, 2010 Doug Lindholm Laboratory for Atmospheric.
Streaming NetCDF John Caron July What does NetCDF do for you? Data Storage: machine-, OS-, compiler-independent Standard API (Application Programming.
® OGC Web Services Initiative, Phase 9 (OWS-9): Innovations Thread - OPeNDAP James Gallagher and Nathan Potter, OPeNDAP © 2012 Open Geospatial Consortium.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
HTTP Overview Vijayan Sugumaran School of Business Administration Oakland University.
Definition Servlet: Servlet is a java class which extends the functionality of web server by dynamically generating web pages. Web server: It is a server.
Citation and Recognition of contributions using Semantic Provenance Knowledge Captured in the OPeNDAP Software Framework Patrick West 1
Hyrax Installation and Customization Dan Holloway James Gallagher.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
OPeNDAP and the Data Access Protocol (DAP) Original version by Dave Fulker.
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
Hyrax Architecture Two cooperating processes: –Front-end provides DAP interface –Back-end reads data Both parts can be customized –Front-end: different.
Application Protocols: HTTP CSNB534 Semester 2, 2007/2008 Asma Shakil.
OOI CyberInfrastructure: Technology Overview - Hyrax January 2009 Claudiu Farcas OOI CI Architecture & Design Team UCSD/Calit2.
OPeNDAP Developer’s Workshop Feb OPeNDAP 4 Data Server – Hyrax James Gallagher and Nathan Potter 21 Feb 2007.
DAP4 James Gallagher & Ethan Davis OPeNDAP and Unidata.
Accessing Remote Datasets using the DAP protocol through the netCDF interface. Dr. Dennis Heimbigner Unidata netCDF Workshop August 3-4, 2009.
Citation and Recognition of contributions using Semantic Provenance Knowledge Captured in the OPeNDAP Software Framework Patrick West 1
1 Seminar on Service Oriented Architecture Principles of REST.
HDF4 OPeNDAP Project Progress Report MuQun Yang and Hyo-Kyung Lee 1 HDF Developers' Meeting11/24/2015.
Remote Data Access with OPeNDAP Dr. Dennis Heimbigner Unidata netCDF Workshop October 25, 2012.
A Data Access Framework for ESMF Model Outputs Roland Schweitzer Steve Hankin Jonathan Callahan Kevin O’Brien Ansley Manke.
DAP Servers and Services Section 2 APAC ‘07 OPeNDAP Workshop 12 Oct 2007 James Gallagher Thanks to Jennifer Adams, John Caron, Roberto De Almeida, Nathan.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West
Representational State Transfer (REST). What is REST? Network Architectural style Overview: –Resources are defined and addressed –Transmits domain-specific.
DAP4, SOAP and THREDDS James Gallagher OPeNDAP Presented by Steve Hankin.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Weathertop Consulting, LLC Server-side OPeNDAP Analysis – Concrete steps toward a generalized framework via a reference implementation using F-TDS Roland.
LAS and THREDDS: Partners for Education Roland Schweitzer Steve Hankin Jonathan Callahan Joe Mclean Kevin O’Brien Ansley Manke Yonghua Wei.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
OPeNDAP Developer’s Workshop Feb Server-side Functions for Geo-spatial Selection James Gallagher 22 Feb 2007.
OPeNDAP’s Server4: Building a High Performance Data Server for the DAP Using Existing Software James Gallagher*, Nathan Potter*, Patrick West**, Jose Garcia**
Rendering Syndicated Library Content in an Institutional Portal: Integrating MyLibrary into uPortal John Fereira: Cornell University Eric Lease Morgan:
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
OGC Web Services with complex data Stephen Pascoe How OGC Web Services relate to GML Application Schema.
1 Earth System Grid Center for Enabling Technologies OPeNDAP Services for ESG March 9, 2016 Peter Fox, Patrick West, Stephan Zednik RPI Performance Measures.
9/21/04 James Gallagher Server-Side: The Basics This part of the workshop contains an overview of the two servers which OPeNDAP has developed. One uses.
Update on Unidata Technologies for Data Access Russ Rew
TSDS (HPDE DAP). Objectives (1) develop a standard API for time series-like data, (2) develop a software package, TSDS (Time Series Data Server), that.
9/21/04 James Gallagher Server Installation and Testing: Hands-on ● Install the CGI server with the HDF and FreeForm handlers ● Link data so the server.
Using Community-Driven Metadata Conventions with On-Line Data
DAP+NETCDF Using the netCDF-4 Data Model
Checking the Server.
James Gallagher OPeNDAP
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Cross Platform Development using Software Matrix
Other Services in Hyrax
HMA-S Final Presentation OGC DSEO Protocol
Efficiently serving HDF5 via OPeNDAP
Processes The most important processes used in Web-based systems and their internal organization.
Checking the Server.
PHP / MySQL Introduction
MapServer In its most basic form, MapServer is a CGI program that sits inactive on your Web server. When a request is sent to MapServer, it uses.
PDAP Query Language International Planetary Data Alliance
IS333D: MULTI-TIER APPLICATION DEVELOPMENT
Web Server Administration
Access HDF5 Datasets via OPeNDAP’s Data Access Protocol (DAP)
EO Data Access Protocol
Remote Data Access Update
Accessing Remote Datasets through the netCDF interface.
ExPLORE Complex Oceanographic Data
WEB SERVICES From Chapter 19, Distributed Systems
Future Development Plans
OPeNDAP’s Server4: Building a High Performance Data Server for the DAP
Adapting an existing web server to S3
Presentation transcript:

OPeNDAP/Hyrax Interfaces James Gallagher

What are...? OPeNDAP: A not-for-profit corporation which steers the growth of the DAP. All software it develops is open source. DAP: Data Access Protocol - a simple request-response protocol which uses HTTP to move structured (scientific) data from a server to a client. Hyrax: A data server developed by OPeNDAP that supports DAP.

Types of Interfaces Application Server Software libraries Component

Application Level DAP Requests made with a URL DAP Responses returned as MIME documents DAP is stateless; implementation using REST DAP response form is a ‘universal representation’ (canonical) for data - it’s generated by a server (nominally) on the fly without any need to modify the original data. DAP servers for over a dozen very different formats exist DAP Servers also support ‘Web’ features Other protocols that work with the Web (e.g., THREDDS) easily coexist with DAP See Data Access Protocol (DAP), version 2

Server: Hyrax Front end (OLFS); Java; Processes requests and uses the BES Back end (BES); C++; Builds responses and responds to OLFS commands N-Tier architecture OLFS and BES are extensible See Hyrax

Hyrax: Many Geometries Simplest... one host or two OLFS BES OLFS BES One OLFS talks to many BES daemons BES OLFS WCS Many OLFS front-ends talk to one BES

Components: BES Format handlers: Read data Response handlers: Build new responses Reporters: Record usage information Aggregators: Build aggregate responses Implement C++ classes New modules are loaded at runtime See Hyrax: For Developers, Extending the BES

Components: OLFS Extending the OLFS New Dispatch handlers See Writing Custom DIspatch Handlers

Software Libraries From OPeNDAP: C++, C, Java OPeNDAP/Unidata: NetCDF Other groups: Python

OPeNDAP, DAP and Hyrax OPeNDAP: Runs the open-source project developing and maintaining DAP. OPeNDAP makes a conscious effort to work with other groups. DAP: A simple protocol, able to take advantage of HTTP’s wide-spread use, that has proven to work well with a variety of data. Hyrax: A modular, extensible, multi- protocol server for DAP.

More Detail about DAP…

DAP Request Processing DAP requests are made using URLs URL: <pathname>.<request>[?<constraint>] Pathname: names a unique data source Request: what the client wants Constraint: optional modification to the request

Request Processing The OLFS parses the URL into the pathname, request and constraint It uses its knowledge of the BES commands & capabilities to instruct the BES to build the response that will satisfy the request It packages the resulting response from the BES (e.g., builds a HTTP ‘text/plain’ response document and inserts the correct content).

DAP Constraints DAP characterizes data sources as a collection of variables (name-type-value tuples). Constraints are used to ‘project’ and ‘select’ particular variables with a data source. Using a constraint, part of one variable may be accessed/read/returned from a data source with many variables. NB: DAP also uses ‘attributes’ to characterize data sources, but attributes don’t play a direct role in the access of/to binary data values.

BES Handler Interaction Handlers can: Build responses directly from data Use output from other handlers Handlers respond to commands from the ‘command handler’ The command handler can be replaced to replace the BES’s default command syntax Handlers are not limited to DAP

DAP Objects Metadata Syntax - essentially variable declarations that describe the names and types of the variables in the data source. Referred to as DDS - Dataset Descriptor Structure. Use - Information about those variables. Often read from the ‘attributes’ in a file (e.g., HDF4) or from some other source. Referred to as DAS - Dataset Attribute Structure. Data (referred to as ‘DataDDS’) Combines DDS for the requested variables along with binary data values. Binary data are encoded in XDR.

DAP Responses DAP responses are returned by HTTP as ‘documents’ Metadata - both DAS and DDS use text/plain Data - uses application/octet-stream Alternatives: Content of both metadata documents may be returned as a single XML response (text/xml) and Data as a multipart document

Building Responses Responses to requests are built from the one or more of the basic objects. Handlers in the BES ‘pass around’ DAP objects, using them as a generalized representation of the data source. Handlers in the BES that generate responses can effectively be combined with any ‘format’ handler.’

Other Responses Data may be processed and it’s return form changed (e.g., ‘return as ASCII’) Metadata may be used to build ‘info pages’ or Web Uis Other information may be returned (software & protocol version numbers, data source organization, et c.)