XML for Data Grid Applications

Slides:



Advertisements
Similar presentations
Web Service Architecture
Advertisements

JLab Lattice Portal – Data Grid Web Service Ying Chen, Chip Watson Thomas Jefferson National Accelerator Facility.
SOAP.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Data Grid Web Services Chip Watson Jie Chen, Ying Chen, Bryan Hess, Walt Akers.
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.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
ILDG Middleware Status Chip Watson ILDG-6 Workshop May 12, 2005.
Web Services BOF This is a proposed new working group coming out of the Grid Computing Environments Research Group, as an outgrowth of their investigations.
Operated by the Southeastern Universities Research Association for the U.S. Depart. Of Energy Thomas Jefferson National Accelerator Facility Andy Kowalski.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Web Services An Introduction Copyright © Curt Hill.
CORBA AND SOAP Unmesh Kulkarni i2 Group Ashish V. Tendulkar Directory Database integration group ( Persistent Systems Pvt. Ltd.
Oct HPS Collaboration Meeting Jeremy McCormick (SLAC) HPS Web 2.0 OR Web Apps and Databases (Oh My!) Jeremy McCormick (SLAC)
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Web Services Essentials. What is a web service? web service: software functionality that can be invoked through the internet using common protocols like.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
National College of Science & Information Technology.
HTML 2.0HTML 3.2 HTML 4.0 HTML 4.01 XHTML malformed, non-standard markup.
Integrating CMS/DMS into OpenOffice Michael E. Bohn Consultant Office Migration Sun Microsystems GmbH.
The Holmes Platform and Applications
Java Web Services Orca Knowledge Center – Web Service key concepts.
Web fundamentals: Clients, Servers, and Communication
The Object-Oriented Thought Process Chapter 13
4.01 How Web Pages Work.
The Fedora Project March 10, 2003
The Client/Server Database Environment
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
Sabri Kızanlık Ural Emekçi
z/Ware 2.0 Technical Overview
Data Bridge Solving diverse data access in scientific applications
WEB SERVICES.
Cosc 5/4730 REST services.
Middleware independent Information Service
PHP / MySQL Introduction
#01 Client/Server Computing
Web App vs Mobile App.
Web Technology and DBMSs
Chapter 16 Designing Distributed and Internet Systems
WEB API.
MSIS 655 Advanced Business Applications Programming
Web Server Administration
Patrick Dreher Research Scientist & Associate Director
Chapter 27 WWW and HTTP.
Application layer Lecture 7.
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
A Web-Based Data Grid Chip Watson, Ian Bird, Jie Chen,
A Match Made In (Ethereal) Heaven
Lecture 1: Multi-tier Architecture Overview
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Deepak Shenoy Agni Software
SLAC monitoring Web Services
J2EE Lecture 1:Servlet and JSP
Chapter 42 Web Services.
Introduction to Web Services and SOA
Chengyu Sun California State University, Los Angeles
Web Application Development Using PHP
#01 Client/Server Computing
Presentation transcript:

XML for Data Grid Applications Chip Watson Thomas Jefferson National Accelerator Facility December 31, 2018December 31, 2018 PPDG Meeting

Why XML? -- Industry Trends Strategy: Use web technologies, follow the success of the web... E-commerce companies (especially B2B) are currently investing heavily in XML technologies... Example news items: [December 11, 2000] "iPlanet Unveils Industry's First Full-Up B2B Commerce Platform…[based upon XML]” [December 08, 2000] "Schemantix (formerly Praxis) to Launch Schemantix Development Platform (SxDP) at XML 2000.’’ “Microsoft is augmenting its OLE DB for OLAP protocol with new interfaces based on XML…`The brass tacks on this is we're all going to run our analytical apps over the Internet, and the language these apps will use to communicate with their data sources will be XML,’ says Clay Young, VP of marketing at online analytical processing software vendor Knosys Inc.” -- InformationWeek, Dec 7, 2000 December 31, 2018December 31, 2018 PPDG Meeting

What is XML ? eXtensible Markup Language Like HTML, but with user defined tags Tags refer to content, not presentation: <?xml version='1.0' encoding='ISO-8859-1'?> <directory name="/clas" owner="root" group="other" modified="Aug 22 08:34"> <file name='97-12'/> <file name='98-02'/> <file name='98-03'/> <directory name='comm97'/> <directory name='e1'/> </directory> Properties of node Node contents XML has a tree data model December 31, 2018December 31, 2018 PPDG Meeting

XML vs CORBA XML is more verbose CORBA is harder to deploy data transported as character strings (~2x for float) data is self describing, with string tags (~2x) (however, lists are separated by single whitespace, so string lists are carried with little overhead) CORBA is harder to deploy requires ORB, complex libraries, name server, etc. Both are language neutral XML supported in C/C++, Java, Perl, etc. December 31, 2018December 31, 2018 PPDG Meeting

What about SOAP ? Simple Object Access Protocol SOAP is a protocol specification for invoking methods on servers, services, components and objects (RPC system). SOAP codifies the existing practice of using XML and HTTP as a method invocation mechanism. The SOAP specification mandates a small number of HTTP headers that facilitate firewall/proxy filtering. The SOAP specification also mandates an XML vocabulary that is used for representing method parameters, return values, and exceptions. December 31, 2018December 31, 2018 PPDG Meeting

Simple POST vs SOAP Simple POST SOAP query contains tagged string values, like http://xxx.yyy.zzz/page?name=xyzzy&owner=watson SOAP query contains structured arguments, even user defined types (example to follow) In either case, response is an http response of type xml, with arbitrary (tree-like) structure December 31, 2018December 31, 2018 PPDG Meeting

SOAP structure example <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ppdg:AddFile xmlns:ppdg=”http://schemas.ppdg.org/soap/xmlns.ppdg"> <directory>/clas/90-03/</directory> <file>test7.dat <owner name=“watson”/> <activity name=“calibration”/> </file> </ppdg:AddFile> </SOAP-ENV:Body> </SOAP-ENV:Envelope> December 31, 2018December 31, 2018 PPDG Meeting

Analysis: Simple vs SOAP ReplicaCatalog & ReplicaHost (OO api) need to send method name & [0-2] string args Future catalog queries may need to send many selection criteria, but this could be done as a simple query string (hence 1 argument) question: may want to “batch” requests, sending, for example, an array of file names to resolve ? [could be done as many single calls, and let TCP buffer] Conclusion: Requirements do NOT dictate SOAP May still choose SOAP for standardization reasons…although the proposer does not have a good track record here December 31, 2018December 31, 2018 PPDG Meeting

Prototyping XML at Jlab Goals: Get experience w/ XML Get experience w/ using XML in servlets Demonstrate feasibility of using XML as web protocol for ReplicaCatalog and ReplicaHost Deploy prototype replica system for experimental physics data stored in Jlab silo currently OSM + custom java infrastructure plan to replace OSM, resulting in pure java infrastructure December 31, 2018December 31, 2018 PPDG Meeting

XML & HTML sql db ldap db xml client corba obj html client style sheet XML servlet xml client corba obj HTML servlet html client style sheet Two types of servlets used, one generating xml, another which calls the first, and uses a library (few calls) to apply a style sheet to the xml and generate html December 31, 2018December 31, 2018 PPDG Meeting

Prototype Components ReplicaCatalog ReplicaHost java servlet producing XML xsl style sheet to translate this to html for browsers servlet to do formating (via style sheet) ReplicaHost Simple file transfer servers currently bbftpd, but soon httpd, gsiftpd December 31, 2018December 31, 2018 PPDG Meeting

Replica Catalog Implemented as Java servlet (Apache + Tomcat) currently uses fork rsh ls /mss … to get listing of silo contents for demo purposes will use mysql via jdbc for persistent store (very soon) supports tree data model (maps existing silo system) Produces XML output for directory: listing of one directory, contents are files + subdirectories includes properties of this directory (owner, etc.) for file: properties of the file (owner, etc.) ReplicaHost(s) holding the file December 31, 2018December 31, 2018 PPDG Meeting

Replica Host Gives access information (disk-resident, offline, etc.) If disk resident, locally translates file name (virtual path) to URL(s), indicating supported protocols, such as http://xxx.jlab.org/diskcache9/clas/file7.dat bbftp://bbftp.jlab.org/diskcache9/clas/file7.dat gsiftp://xxx.jlab.org/diskcache9/clas/file7.dat Future (within 1-2 months): support request to stage to disk support request to “pin” a file (advisory only) support request to store a file (push and/or pull?) manage update to catalog in response to local deletions of files web pages to fetch any file via browser December 31, 2018December 31, 2018 PPDG Meeting

Demo xml test of ReplicaCatalog viewed as xml processed with style sheet & viewed as html December 31, 2018December 31, 2018 PPDG Meeting

Note: Directory Model Changed Recommendation: Change the catalog data model to allow file system (tree) symantics in the logical name space. Hierarchical (apparently) containers Actual containers may still be flat: /a/b/c is one container /a/b/c/d/e is a separate container /a/b/c appears to contain “d” (even if not implemented that way in storage) This will probably be more attractive to physicists and other users. December 31, 2018December 31, 2018 PPDG Meeting

Future Activities 1. Finish SQL database for ReplicaCatalog 2. Finish integration of ReplicaHost and Jlab silo 3. Create exportable package for ReplicaHost Disk cache manager (java based) mountable by local clients ReplicaHost (java servlet based) File transfer daemons http bbftp gsiftp gridftp December 31, 2018December 31, 2018 PPDG Meeting

PPDG Sub-project (1) Protocol standardization choice of simple or SOAP standardization of method names and / or arguments for requests XML tag name standardization response standardization (e.g. one directory listing) December 31, 2018December 31, 2018 PPDG Meeting

PPDG Sub-project (2) 1. Shared ReplicaCatalog servlet implementation standardize java interface to local persistent store implement reference implementations: 1. above LDAP (compatible w/ or extending Globus solution) 2. above JDBC (Jlab design, open to revisions of schema) 2. Shared ReplicaHost servlet implementation standardize java interface to local silo, disk managers 1. CORBA calls to SRB 2. RMI calls to Jlab disk & silo managers 3. other? December 31, 2018December 31, 2018 PPDG Meeting

PPDG Sub-project (2) 3. C/C++ and Java client libraries for Java & C++, implementing an OO api with local browsing of xml data 4. Extend ReplicaHost to support queueing of transfer requests... ...to/from other ReplicaHosts negotiate transfer protocol with other host negotiate push/pull with other host ...to/from remote transfer daemon protocol and direction fixed December 31, 2018December 31, 2018 PPDG Meeting