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.

Slides:



Advertisements
Similar presentations
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 1 Introduction to Perl and CGI.
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.
General introduction to Web services and an implementation example
® OGC Web Services Initiative, Phase 9 (OWS-9): Innovations Thread - OPeNDAP James Gallagher and Nathan Potter, OPeNDAP © 2012 Open Geospatial Consortium.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
WWW and Internet The Internet Creation of the Web Languages for document description Active web pages.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Implementation Alternatives for Web-based Learning Architecture by Diptendu Dutta Anwesa ( Presented at IWDC 2001 Kolkata 28 th December,
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Chapter 10 Publishing and Maintaining Your Web Site.
UNIT-V The MVC architecture and Struts Framework.
Hyrax Installation and Customization Dan Holloway James Gallagher.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Software Engineering Muhammad Fahad Khan
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Hyrax Architecture Two cooperating processes: –Front-end provides DAP interface –Back-end reads data Both parts can be customized –Front-end: different.
Chapter 4: Core Web Technologies
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Internet Basics Dr. Norm Friesen June 22, Questions What is the Internet? What is the Web? How are they different? How do they work? How do they.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
OOI CyberInfrastructure: Technology Overview - Hyrax January 2009 Claudiu Farcas OOI CI Architecture & Design Team UCSD/Calit2.
Introduction to J2EE Architecture Portions by Kunal Mehta.
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.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Chapter 9 Publishing and Maintaining Your Site. 2 Principles of Web Design Chapter 9 Objectives Understand the features of Internet Service Providers.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
© Drexel University Software Engineering Research Group (SERG) 1 A. E. Hassan and R. C. Holt A Reference Architecture for Web.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Unidata’s TDS Workshop TDS Overview – Part I July 2011.
Remote Data Access with OPeNDAP Dr. Dennis Heimbigner Unidata netCDF Workshop October 25, 2012.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
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.
Kemal Baykal Rasim Ismayilov
OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
WEB SERVER SOFTWARE FEATURE SETS
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Java Programming: Advanced Topics1 Introduction to Advanced Java Programming Chapter 1.
OPeNDAP’s Server4: Building a High Performance Data Server for the DAP Using Existing Software James Gallagher*, Nathan Potter*, Patrick West**, Jose Garcia**
Electronic Commerce Semester 1 Term 1 Lecture 7. Introduction to the Web The Internet supports a variety of important tools, such as file transfer, electronic.
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.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Using Community-Driven Metadata Conventions with On-Line Data
Chapter 8 Environments, Alternatives, and Decisions.
WEB SERVICES.
Introduction to Advanced Java Programming
Processes The most important processes used in Web-based systems and their internal organization.
Introduction to J2EE Architecture
Ch > 28.4.
MSIS 655 Advanced Business Applications Programming
OPeNDAP’s Server4: Building a High Performance Data Server for the DAP
OPeNDAP/Hyrax Interfaces
Presentation transcript:

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 Existing Software Software Reuse The essential features of Server4 are:  Two process design can be adapted to a variety of different configurations  The server supports several different application protocols for different types of information  Formal communication between the processes (to be published soon) will enable other groups to write their own front-ends In 1993 the University of Rhode Island began a NASA-funded effort to develop a data system for ocean data that would take advantage of the Internet. Out of that effort, the Data Access Protocol, a server implementing the protocol and several compatible client applications were developed. The data server was based on the Common Gateway Interface (CGI) used for many web-based interfaces, largely because of the simplicity of those types of systems. As the use of the server spread, its limitations became more apparent. At the same time, other issues with the data system became apparent and new work was started to address those issues (such as metadata non-uniformity, searching difficulty and collection organization). Server4 is one aspect of that work. Its goals are to make it easier to solve these problems and to reuse as much of our (and others’) existing DAP-compliant software as possible. Software reuse is an important part of the Server4 effort. Since the start of work on the DAP, significant effort has been made developing DAP-compliant server software (client software too, although that is not the focus of this poster) and to make a new server we needed to use as much of that work (and knowledge) as possible. In the OLFS, the THREDDS implementation is 100% from the Unidata THREDDS library. Other elements were written new for this project. In the BES, the framework itself is an extended version of the Earth System Grid II data server developed by NCAR/ESSL/HAO. It represents about 70% reuse. The BES Format Modules are about 5% new software with the remaining 95% reused from the Server3 ‘Data Handlers’ (in fact the source code distributions for the format modules still build the Server data handlers too). The PPT modules used by both the BES and OLFS are inherited from the ESG II project OLFS Java Servlet Engine BES Unix Daemon BES Commands XML- encapsulated object Data files, Database, … DAP2 THREDDS HTML Optional THREDDS catalogs Server4 Supports several protocols and a high level of reuse using a two process architecture

The OLFS The OPeNDAP Lightweight Front end Server (OLFS) is the first of the two processes which make up Server4. The OLFS is implemented in the Java programming language using the Java Servlet (J2EE) technology. The functions carried out by the OLFS are limited to examining the incoming request, passing that request to another process or servlet and packaging the result so that it is a correctly- formatted response. The OLFS does not need to interpret the content of the client requests or BES responses, only how to encapsulated them in different types of MIME, SOAP, or XML documents. In addition to support for OPeNDAP’s Data Access Protocol, version 2 (DAP2), the OLFS provides support for: THREDDS data catalogs HTML directory pages A prototype SOAP interface for DAP (aka DAP4) The BES OPeNDAP Staff & Resources OPeNDAP Staff & Resources OPeNDAP is a Not-For-Profit corporation, Incorporated in Rhode Island Technical and Issue Interests Technical and Issue Interests OPeNDAP’s primary interest is in the development of software to facilitate sharing highly structured data typically found in scientific or similar subject areas. We choose to implement the OLFS using Java Servlets because those provide a good balance between: Increased performance Ease of installation Security features Code reuse DAP2 Request/Reply Logic Java Servlet Engine THREDDS R/R Logic HTML R/R Logic SOAP-DAP R/R Logic DAP2 BES Commands/ XML Documents OLFS THREDDS HTML SOAP/DAP4 Network Protocol and Process start/stop activities Data Store Interfaces BES Framework PPTInitialization/ Termination DAP2 Access NetCDF3HDF4FreeForm … Data Catalogs Commands BES Commands/ XML Documents The BES is a framework for developing high performance data servers developed at the High Altitude Observatory of NCAR/ESSL. The BES ユ s essential feature is that virtually all of its functionality is implemented through plugin modules loaded at run-time. This provides a way to combine software components developed for different projects into a new data server. The BES supports three main types of plugin modules: Network protocol and initialization/termination modules Command modules Format modules As delivered for use with the OLFS, the BES includes a PPT network protocol module, DAP and data store catalog command modules, and a number of format modules. The different types of modules are defined by C++ classes which describe the interface that a particular module must implement. Specializations of these classes are compiled to shared-object libraries and loaded by the BES at run-time using information in the BES configuration file. The BES has more advanced memory management than the Server3 software, which is needed for large data requests. The BES includes support for SSL authentication, although this is not currently accessible through the OLFS. Peter Fox: President; James Gallagher: Daniel Holloway: Nathan Potter: John Chamberlain: Main web site: SCM: Developer’s Wiki: list: Tech Questions: US Mail: 165 Dean Knauss Dr. Naragansett, RI Voice: (401)