230 likes | 245 Views
Open Data Access Protocol. Webb Pinner May 2, 2005 CSC 536. Acknowledgements. Peter Cornillan - Graduate School of Oceanography, DODS James Gallager - OpenDAP.org Tom Sgouros - OpenDAP.org John Howland - Deep Submergence Lab, Woods Hole Oceanographic Institute. Outline of Presentation.
E N D
Open Data Access Protocol Webb Pinner May 2, 2005 CSC 536
Acknowledgements Peter Cornillan - Graduate School of Oceanography, DODS James Gallager - OpenDAP.org Tom Sgouros - OpenDAP.org John Howland - Deep Submergence Lab, Woods Hole Oceanographic Institute
Outline of Presentation Background Information The OpenDAP protocol Oceanographic Dive Reply System Summary Questions?
Background • DODS was created in 1993 by URI, GSO, MIT, NASA and NOAA for use in oceanographic datasets. • It's purpose was to "define the structure of a client-server based distribution system for access to oceanographic data over the Internet”
Background (cont.) • DODS was quickly adapted for use by the atmospheric data community. • Because DODS no longer dealt with strictly with ocean data the name was changed to the Data Access Protocol • 2002 the project was made open source and thus OpenDAP was created
The OpenDAP Architecture • Provides uniform interface to data • Allows SQL-like data querying • Read-only access to data • Platform independent • Client/server model • For use over Internet (TCP/IP)
OpenDAP Implementation • Uses http as transport protocol • Server implemented as CGI extension in Apache webserver • Requests for data are sent to server in the form of a URL • URL sent to server describes exactly what data is requested • Includes which columns and/or data constraints.
Example URL • http://dap_server/cgi-bin/nph-dods/data/dataset1 • http - protocol • dap_server - servername • cgi-bin/nph-dods - dap server software location • data - director where dataset is located • dataset1 - name of dataset • Extension determines which service is called • Constraints may be added to request specific datasets
OpenDAP Implementation(Services) • Three basic services: • Data Descriptor Service (DDS) • Data Attribute Service (DAS) • Data (DODS) • Additional services: • HTML form (HTML) • ASCII representation (ASCII)
OpenDAP Implementation(Constraints) • Constraints specify which fields to display and in what order to display them. • http://…/data.dods?date&time&temp • Constraints specify search criteria. • http://…/data.dods?temp>100&temp<175
Current Users • NASA - Global Hydrology Resource Center • NOAA - National Data Buoy Center (NDBC) • NOAA - National Oceanographic Data Center (NODC) • University of Hawaii/SOEST - Sea Level Center (SLC) • Woods Hole - Upper Ocean Mooring Data Archive (UOP)
OpenDAP = Middleware/Dist. System? • Kinda, sorta, not quite • Uniform interface to data (Middleware) • User is unaware of OS, storage format or access protocol (Middleware) • Data distributed across multiple servers (Dist. System)
OpenDAP = Middleware/Dist. System? • Read-only Access • Each Dataset is independent of other datasets • No such thing as replication, commit protocols, concurrency control, etc.
Oceanographic Dive Replay System • Replay a dive complete with textual data and images • Retrieve data from remote servers • Provide a graphical means to interact with large ascii datasets • Provide means to search dataset
WHOI - Virtual Vans • Replays a dive complete with textual data and images • Retrieves data from WHOI server • Provide a HTML based GUI • Provide means to search event data
Virtual Vans - Shortcomings • Unable to search by any other dataset • Unable to create custom datasets for downloading • GUI can not dynamically accommodate new sensors. • All datasets stored at one location
OpenDAP Replay System • Use DAS, DDS information to dynamically generate interface • Use URL constraints to search based on any data type • Use URL constraints to customize downloaded datasets • Multiple servers may provide datasets
Summary • Introduced the OpenDAP protocol, it’s history, architecture and current uses • Quick OpenDAP demo • Case Study: Dive Replay System • Looked at existing system and its faults • Discussed a new OpenDAP-based systsm and its advantages