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.

Slides:



Advertisements
Similar presentations
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Advertisements

Welcome to Middleware Joseph Amrithraj
Hyrax Installation and Customization ESIP ‘08 Summer Meeting Best Practices in Services and Data Interoperability Dan Holloway James Gallagher.
OPeNDAP Hyrax Back-End Server (BES) Customization ESIP Federation Workshop 15 July 2008 Patrick West 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 Comprehensive Web Application Development and Deployment Platform.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
Understanding and Managing WebSphere V5
Tomcat Celsina Bignoli History of Tomcat Tomcat is the result of the integration of two groups of developers. – JServ, an open source.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Linux Operations and Administration
Hyrax Installation and Customization Dan Holloway James Gallagher.
Web server and web browser It’s a take and give policy in between client and server through HTTP(Hyper Text Transport Protocol) Server takes a request.
Unidata TDS Workshop THREDDS Data Server Overview October 2014.
Shibboleth 2.0 IdP Training: Basics and Installation January, 2009.
Overview of the ODP Data Provider Sergey Sukhonosov National Oceanographic Data Centre, Russia Expert training on the Ocean Data Portal technology, Buenos.
Apache Tomcat Web Server SNU OOPSLA Lab. October 2005.
Linux Operations and Administration
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 24 – Web Servers (PWS, IIS, Apache, Jigsaw) Outline 24.1Introduction 24.2Microsoft Personal.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
Hyrax Architecture Two cooperating processes: –Front-end provides DAP interface –Back-end reads data Both parts can be customized –Front-end: different.
APAC, Perth, WA OPeNDAP (The Open-source Project for a Network Data Access Protocol) APAC Tutorial October 12, 2007
SchwartzGBIF Nodes III29 April 2003 DiGIR Portal Installation And Configuration.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
Unidata’s TDS Workshop TDS Overview – Part II October 2012.
OOI CyberInfrastructure: Technology Overview - Hyrax January 2009 Claudiu Farcas OOI CI Architecture & Design Team UCSD/Calit2.
Unidata TDS Workshop TDS Overview – Part I XX-XX October 2014.
OPeNDAP Developer’s Workshop Feb OPeNDAP 4 Data Server – Hyrax James Gallagher and Nathan Potter 21 Feb 2007.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Accomplishments and Remaining Challenges: THREDDS Data Server and Common Data Model Ethan Davis Unidata Policy Committee Meeting May 2011.
Computer Emergency Notification System (CENS)
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Unidata TDS Workshop THREDDS Data Server Overview
Recent developments with the THREDDS Data Server (TDS) and related Tools: covering TDS, NCML, WCS, forecast aggregation and not including stuff covered.
Unidata’s Common Data Model and the THREDDS Data Server John Caron Unidata/UCAR, Boulder CO Jan 6, 2006 ESIP Winter 2006.
Unidata’s TDS Workshop TDS Overview – Part I July 2011.
A Data Access Framework for ESMF Model Outputs Roland Schweitzer Steve Hankin Jonathan Callahan Kevin O’Brien Ansley Manke.
OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West
1 Adventures in Web Services for Large Geophysical Datasets Joe Sirott PMEL/NOAA.
GrADS-DODS Server An open-source tool for distributed data access and analysis Joe Wielgosz, Brian Doty, Jennifer Adams COLA/IGES - Calverton, MD
OPeNDAP Hyrax Back-End Server (BES) Original version presented at APAC 2007 OPeNDAP Workshop Patrick West.
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.
OPeNDAP’s Server4: Building a High Performance Data Server for the DAP Using Existing Software James Gallagher*, Nathan Potter*, Patrick West**, Jose Garcia**
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
Distributed Data Servers and Web Interface in the Climate Data Portal Willa H. Zhu Joint Institute for the Study of Ocean and Atmosphere University of.
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.
Here are some things you can do while you wait 1.Open your omeka.net site in your browser (e.g. 2.Open.
Update on Unidata Technologies for Data Access Russ Rew
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.
Installing the THREDDS and Aggregation Servers ● Install and verify the Tomcat servlet engine ● Install and verify the THREDDS servlet (which also contains.
Installation of Hyrax. Possible Installations Both OLFS and BES run on one machine OLFS on one machine and BES on another One OLFS and several instances.
Using Community-Driven Metadata Conventions with On-Line Data
Checking the Server.
Hyrax Configuration.
Tomcat Celsina Bignoli
Other Services in Hyrax
Writing a Custom DispatchHandler
Checking the Server.
Apache Tomcat Web Server
Introduction to Apache
APACHE WEB SERVER.
Future Development Plans
OPeNDAP’s Server4: Building a High Performance Data Server for the DAP
OPeNDAP/Hyrax Interfaces
Adapting an existing web server to S3
Presentation transcript:

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 Potter and Patrick West

Outline Different DAP Servers Hyrax Architecture and customization Example Configuration of Hyrax

There are several different DAP servers Hyrax, developed by OPeNDAP TDS, developed by Unidata GDS, developed by COLA PyDAP, developed by Roberto De Almeida Others we won’t cover: Dapper; FDS; CODAR; OPeNDAP Server3; et cetera Terminology: We often say ‘server’ when describing what the technical press calls a ‘web application.’

Hyrax Supports multiple protocols –Data: DAP using HTTP/GET and HTTP/SOAP; Direct access (via HTTP); WCS/WFS funded, in development –Catalog: THREDDS; HTML directories Data formats: In binary distribution: NetCDF; HDF4; HDF5; FreeForm; many more available as source code. Includes ASCII data dump, HTML data access form, Info metadata page

Hyrax Architecture Two (or more) cooperating processes: –Front-end provides DAP interface –Back-end(s) read(s) data Both parts can be customized –Front-end: different network protocols –Back-end: different data formats/systems N-Tier design is flexible, secure OLFSBES Data

TDS Java Servlet network interface Supports multiple protocols –Data: DAP; WCS; NetCDF Subset; Direct access (via HTTP) –Catalog: THREDDS Data formats: NetCDF; HDF5; GRIB-1,2; NEXRAD; DORADE; BUFR; DMSP; GINI; more in development Can also read from any other DAP server Can serve aggregations

THREDDS Data Server HTTP Tomcat Server Datasets catalog.xml motherlode.ucar.edu THREDDS Server NetCDF-Java library Application IDD Data HTTPServer NetcdfSubset WCS OPeNDAP configCatalog.xml

PyDAP Python native implementation from the DAP2 specification; WSGI application Server uses run-time loaded modules Protocols: –Data: DAP (HTTP/GET); WMS/KML; EditGrid/Google Spreadsheets; JSON –Catalog: THREDDS using a script/batch system; full support planned Formats: CSV; netCDF; SQL Matlab; GRIB; HDF5

PyDAP Server Architecture: Plugins and Responses

GDS Java Servlet network interface and C/C++ back-end Supports multiple protocols: –Data: DAP (HTTP/GET) –Catalogs: THREDDS Formats: GRIB; HDF4; netCDF; BUFR; Binary; GrADS Station Can also read from many DAP servers GDS can perform sophisticated server-side operations and build interim data sets as a result. Server-side operations use GrADS command syntax.

GrADS Data Server

DAP Servers Summary Four servers, all developed by different groups, were described (Hyrax, TDS, PyDAP and GDS) Each supports DAP and THREDDS Each has unique features: –PyDAP: WMS, KML and python scripting –GDS: Extensive server-side operations –TDS: Aggregation, WCS –Hyrax: Customizable, SOAP interface, WCS/WFS support funded These are more properly called ‘web applications.’

Hyrax Architecture Front-end (OLFS) customization Authentication & Authorization Back-end (BES) customization Single/Multiple Machine Installations Security

OLFS Java Servlet Engine BES Unix Daemon BES Commands XML- encapsulated object File system with data files, SQL Database, … DAP2 THREDDS HTML Optional THREDDS catalogs Hyrax Architecture

The OLFS uses an ordered list of Dispatch Handlers. Each handler on the list is asked if it can handle the incoming request. The first handler on the list that claims the request gets to handle it. List order is important, as some handlers (for example THREDDS) may claim to handle requests that should be handled by a different handler. Handlers are free to do anything they need to handle a request: Contact a remote system/process, read files, spawn threads, et cetera. OLFS Dispatch Handlers

Extending the OLFS Extension ‘modules’ written in Java Added to a directory within Tomcat The new modules have complete access to the request information Both HTTP GET and POST requests There is some significant processing done before the handler is called: –Conditional GET Requests –Authorization & Authentication

OLFS and Authorization/Authentication Authorization & Authentication (Az/Ac) actually provided by Apache or Tomcat Apache/Tomcat provides a range of Az/Ac features: –Realms: Role-based Az/Ac Usernames & passwords -> Authorization Roles -> Authentication Realm info in RDBs, XML docs, LDAP, … –TLS/SSL: Server and client Az/Ac Secure data transmission Tomcat provides single sign-on capabilities –Clients must support cookies –Suitable for portals

BES Network Protocol and Process start/stop activities Data Store Interfaces BES Framework PPT* Initialization/ Termination DAP2 Access NetCDF3HDF4FreeForm … Data Catalogs Commands** BES Commands/ XML Documents *PPT: point to point protocol **Some commands are built in, most load at run-time

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)

Possible Installations Both OLFS and BES run on one machine OLFS on one machine and BES on another One OLFS and several instances of BES on different machines OLFS communicating with one or more BESs and other backend processors

Installation Security A separate issue from Ac/Az The BES must be protected: – With a firewall or –TLS & Client certificates Running the OLFS and BES on separate machines limits the scope of a compromise of the OLFS Ensure that the BES, Tomcat and Apache all run with limited access to the server host

Hyrax Architecture Summary Hyrax can be installed on one machine or several Installation security merits serious consideration Authentication & Authorization are handled by the web servers (Tomcat and Apache)

Hands on: Hyrax Configuration Choices: –Single or Multiple machine –Single or Multiple back-end servers –Tomcat or Apache web server –Data formats –Catalog customization –Security Testing –Command line tools for system administrators –Web browser

APAC Workshop Configuration Run a single BES and the OLFS on one host (the virtual machine running SLAX Linux) Use Tomcat running on port 8080 Data formats: NetCDF and FreeForm No custom THREDDS catalog No firewall

APAC Hardware SLAX Linux VMware Virtual Appliance All the software needed has been built, installed and configured Start the virtual machine now…

Starting the Virtual Machine Insert the CD-ROM Drag the opendap_vm and Wintools folders to the Windows desktop Copy the ISO image from the CD ROM to the harddisk (in a command window, mkdir C:\SLAX and then use copy or dd to copy the iso to the new directory). –The dd command is in the Wintools folder –The C:\SLAX directory is coded into the virtual machine; use Vmware Workstation/Fusion to edit Open the opendap_vm folder and double click on the opendap_vm.vmx virtual machine configuration file or start VMware Player/Workstation/Fusion and open opendap_vm.vmx from there. The virtual host will boot and the SLAX (slackware Linux with KDE) desktop will appear.

Installing the Software Already present on the virtual machine But, if it wasn’t, you’d go to the OPeNDAP web site* and download: –Binaries or source for the BES and the data handlers needed. –Get the OLFS web archive file (which is a compiled java servlet). –You also need the Tomcat servlet engine *

Location of Server Files on the Virtual Machine On your virtual machine: –The Tomcat servlet engine is in /usr/local/javadev/apache/tomcat (this is the value of $CATALINA_HOME ) –The BES, data handlers and related source files are in /usr/local/src. The BES has been built and installed in /usr/local/ ($prefix) –The OLFS web archive file is $CATALINA_HOME/webapps/opendap.war –BES: bes.conf, found at $prefix/etc/bes/bes.conf –OLFS: olfs.xml and catalog.xml, found at $CATALINA_HOME/content/opendap

Background: Starting the Server Start the BES (back-end data processing component) Use bescmdln to verify it’s working Start Tomcat: This automatically starts all installed servlets –Servlets are installed by copying the.war file to the servlet’s webapps directory Verify it’s working using a web browser

Start the BES

Verify the BES is running

Start Tomcat & the OLFS Typical steps: –Unpack the olfs jar-file –Copy the opendap.war file to Tomcat’s webapps directory –Start Tomcat Since all but the last step has been done already, start Tomcat: –/usr/local/javadev/apache-tomcat /bin/startup.sh

…terminal view

Verify Tomcat is running

…and Hyrax

Complete the Configuration Steps you would typically perform: –Security: Set up a firewall! Limit access to port to this host only –Custom catalogs: Edit the catalog.xml configuration file. By default automatic catalogs are generated –Logging: Edit the log4j.xml file. By default all accesses are logged

Stopping Hyrax First, stop Tomcat using ‘shutdown.sh’ …then stop the BES using ‘besctl’

Hyrax Configuration Summary For our chosen configuration, we used only Tomcat, plus the Hyrax web application which consists of the BES and the OLFS The tools bescmdln, getdap and a web browser were used to test the installation There are a lot of options, but the default settings produce a working server Security is a must for a web application; use a firewall to isolate the BES so only the local host can connect to it.

Summary There are a number of DAP-compliant servers (Hyrax, TDS, PyDAP and GDS) were described All of the servers (read ‘web applications’) actually support several other protocols While DAP does nothing to support cataloging data, THREDDS supports just that Hyrax is customizable and can be installed in several different configurations