Inside the GDS The Engine, Activities, Data Resource Implementations and Role Mapping EPCC, University of Edinburgh Tom Sugden First.

Slides:



Advertisements
Similar presentations
OGSA-DAI Activities OGSA-DAI for Developers GridWorld 2006, Washington DC 11 September 2006.
Advertisements

Integrated Platform version 5.2
Introduction to the BinX Library eDIKT project team Ted Wen Robert Carroll
Open Grid Service Architecture - Data Access & Integration (OGSA-DAI) Dr Martin Westhead Principal Consultant, EPCC Telephone: Fax:+44.
BiodiversityWorld GRID Workshop NeSC, Edinburgh – 30 June and 1 July 2005 Resource wrappers, web services, grid services Jaspreet Singh School of Computer.
Amy Krause Applications Consultant, EPCC Tom Sugden Applications Consultant, EPCC OGSA-DAI Client Toolkit Principles.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Introduction to SQL Programming Techniques.
Implementing an Activity EPCC, University of Edinburgh Tom Sugden First International Summer School on Grid Computing, Vico Equense,
Writing Perform Documents EPCC, University of Edinburgh Amy Krause ( Tom Sugden First International Summer.
Mike Jackson EPCC OGSA-DAI Today Release 2.2 Principles and Architectures for Structured Data Integration: OGSA-DAI.
Amy Krause Applications Consultant, EPCC Extending OGSA-DAI Principles and Architectures for Structured Data Integration: OGSA-DAI.
Peoplesoft: Building and Consuming Web Services
ICPCA 2008 Research of architecture for digital campus LBS in Pervasive Computing Environment 1.
17 July 2006ISSGC06, Ischia, Italy1 Agenda Session 26 – 14:30-16:00 An Overview of OGSA-DAI OGSA-DAI today – and future features How to extend OGSA-DAI.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
SQL Server 2000 and XML Erik Veerman Consultant Intellinet Business Intelligence.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Web Development Challenges and How They are Solved in ps:eScript Matt Verrinder Progress Software UK Internet & Integration Technologies.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
The Design Discipline.
The ATLAS Production System. The Architecture ATLAS Production Database Eowyn Lexor Lexor-CondorG Oracle SQL queries Dulcinea NorduGrid Panda OSGLCG The.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
1 Java Database Connection (JDBC) There are many industrial-strength DBMS's commercially available in the market. Oracle, DB2, and Sybase are just a few.
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
Dynamic Data Exchanges with the Java Flow Processor Presenter: Scott Bowers Date: April 25, 2007.
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Introduction to JavaServer Pages (JSP) Slides from Dr. Mark Llewellyn.
CSCI 6962: Server-side Design and Programming Introduction to Java Server Faces.
Struts J2EE web application framework “ Model 2 ” Model View Controller Controller Servlet Key features XML metadata Struts taglib Simplified form validation.
QCDGrid Progress James Perry, Andrew Jackson, Stephen Booth, Lorna Smith EPCC, The University Of Edinburgh.
CYBORG Domain Independent Distributed Database Retrieval System Alok Khemka Kapil Assudani Kedar Fondekar Rahul Nabar.
OGSA-DAI Architecture The OGSA-DAI Team
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
The ACGT Workflow Editing & Enactment Environment Giorgos Zacharioudakis Institute of Computer Science, Foundation for Research & Technology – Hellas (ICS-FORTH)
Towards Low Overhead Provenance Tracking in Near Real-Time Stream Filtering Nithya N. Vijayakumar, Beth Plale DDE Lab, Indiana University {nvijayak,
Systems Analysis and Design in a Changing World, 3rd Edition
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
1 1 EPCC 2 Curtin Business School & Edinburgh University Management School Michael J. Jackson 1 Ashley D. Lloyd 2 Terence M. Sloan 1 Enabling Access to.
Course Schedule Report Web Service Carolyn Cracraft Lisa de Larios-Heiman.
ICDL 2004 Improving Federated Service for Non-cooperating Digital Libraries R. Shi, K. Maly, M. Zubair Department of Computer Science Old Dominion University.
8 1 Chapter 8 Advanced SQL Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
INFSO-RI Enabling Grids for E-sciencE OGSA DAI Data Access and Integration Marek Ciglan Institute of Informatics, Slovac Academy.
The OGSA-DAI Client Toolkit The OGSA-DAI Team
State Key Laboratory of Resources and Environmental Information System China Integration of Grid Service and Web Processing Service Gao Ang State Key Laboratory.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Amy Krause EPCC OGSA-DAI An Overview OGSA-DAI Technology Update GGF17, Tokyo (Japan)
E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA gLite Information System Pedro Rausch IF.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Configuration Mapper Sonja Vrcic Socorro,
FP6−2004−Infrastructures−6-SSA E-infrastructure shared between Europe and Latin America gLite Information System Claudio Cherubino.
Design Principles and Common Security Related Programming Problems
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
Fundamentals of MyBATIS
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Application Web Service Toolkit Allow users to quickly add new applications GGF5 Edinburgh Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University.
Oracle Business Intelligence Foundation – Testing and Deploying OBI Repository.
D Copyright © 2004, Oracle. All rights reserved. Using Oracle XML Developer’s Kit.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Amy Krause EPCC OGSA-DAI An Overview OGSA-DAI on OMII 2.0 OMII The Open Middleware Infrastructure Institute NeSC,
Database Systems: Design, Implementation, and Management Tenth Edition
Database System Concepts and Architecture
Web Ontology Language for Service (OWL-S)
Information Services Claudio Cherubino INFN Catania Bologna
Presentation transcript:

Inside the GDS The Engine, Activities, Data Resource Implementations and Role Mapping EPCC, University of Edinburgh Tom Sugden First International Summer School on Grid Computing, Vico Equense, Italy

2 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy  Low-level components of a Grid Data Service: –Engine –Activities –Data Resource Implementations –Role Mappers  Extensibility of the OGSA-DAI architecture –Interfaces and Implementations Overview

3 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Internal Architecture Engine Activity Data Resource Implementation Database Perform DocumentResponse Document Role Mapper Activity Elements Connection Role Query & Results Data

4 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy The Engine  The Engine is the central component of a GDS.  Dictates the behaviour of the service when documents are submitted. –Parses perform document –Identifies required activities –Instantiates the activity implementations –Processes the activities –Combines outputs to form a response document –Returns response document to GDS

5 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy The Engine Interface  Allows different implementations to be developed to alter the behaviour of the service.  Invoke invokes a request.  Terminate terminates the request currently processing, if one exists. + invoke(performDocument: Document, context: Map) : Document + terminate(): void

6 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Engine Construction  When a GDS is created, it instantiates an Engine using details from its configuration  The Engine constructor takes a Context object known as the Engine Context Engine Context Activity Map Schema Map Data Resource Implementation

7 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Engine Invocation  GridDataService::perform takes an XML document as input parameter  GDS calls the Engine’s invoke method. invoke( performDocument: Document, invocationContext: Map ): Document  The perform document describes actions for GDS to perform  The invocation context contains the distinguished name from the user certificate

8 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy The OGSA-DAI R3 Engine  Executes one request at a time.  Validates perform documents against their schema.  Terminates a request when: –all activities have completed –an error occurs –the terminate method is called  When a request is terminated, all data relating to that request is discarded.  Status changes processed by the engine are published as service data.

9 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Processing a Perform Document  The Engine validates perform documents using the schema map from the Engine Context activity element  activity schema  Instantiates activity implementations using the activity map from the Engine Context activity element  activity implementation class  Creates an Activity Handler to process the activity

10 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Activities  An Activity dictates an action to be performed by a GDS –Query a data resource –Transform data –Deliver results  Each Activity has a corresponding: –Activity Element sqlQueryActivity –XSD schema sql_query_statement.xsd –Java implementation SQLQueryStatementActivity

11 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Provided Activity Implementations  OGSA-DAI R3 provides –SQLQueryStatementActivity –SQLStoredProcedureActivity –SQLUpdateActivity –RelationalResourceManagementActivity –XPathStatementActivity –XUpdateStatementActivity –XMLCollectionManagementActivity –XMLResourceManagementActivity –XSLTransformActivity –GZIPCompressionActivity –ZIPArchiveActivity –Deliver[To|From][URL|GDT|GFTP]Activity SQL database activities XML:DB database activities Transform activities Delivery activities

12 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Activity Handlers  Activity Handlers process Activities –Manage inputs and outputs –Perform the processing –Monitor the status  Decouples activity processing behaviour from the engine and activities –SimpleHandler Generates output only when it is required –RunAheadHandler Generates output before it is required

13 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Activity Inputs and Outputs  Activities read and write blocks of data –Allows efficient streaming between activities to reduce memory overhead  A block is an Object –Usually a String or byte array  Currently input and outputs are untyped  Interfaces for reading and writing –BlockReader –BlockWriter

14 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy BlockReader and BlockWriter Interface  Activity inputs  Activity output + next() : Object + put( block: Object ) : void + close() : void + open() : void

15 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Activity Context The Activity Context  Activities are initialised using the Activity Context Engine Context Data Resource Implementation Invocation Context User Credentials Inputs - BlockReaders Outputs -BlockWriters

16 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Accessing Data Resources  Activities often interact with data resources –Query a database, update a table row, etc  Data resources often require user validation –User ID and password  An Activity can use its Context information to access and interact with a data resource –Data Resource Implementation –User Credentials

17 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Accessing Data Resource Sequence Diagram :Activity:RoleMapper :DataResource Implementation Get connection using user credentials Get role using user credentials :DatabaseRole Get user ID and password open connection using user ID and password Do exciting things with the connection Return collection :Context Get user credentials and data resource implementation

18 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Data Resource Implementations  Data Resource Implementations govern access to data resources –Open/Close connections –Validate user credentials using a RoleMapper –Facilitates connection pooling  All Data Resource Implementations extend an abstract base class uk.org.ogsadai.porttype.gds.dataresources. DataResourceImplementation

19 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy The Role and RoleMapper Interfaces  A RoleMapper maps user credentials to a Role  OGSA-DAI provides –SimpleFileRoleMapper – reads database roles from a file –DatabaseRole – encapsulates username and password + setConfiguration(configuration: String) : void + map(credentials: String, database: String) : Role

20 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Role Mapping  The SimpleFileRoleMapper loads the Role Map file referenced from the GDSFConfig  This file maps X509 Certificate User Credentials to username and password combinations –An X509 Certificate is a type of digital document used in Web Services to attest to the identity of an individual or other entity … <User userid=“jsmith" password=“carrotcake" /> …

21 OGSA-DAI R3 Tutorial for the International Summer School on Grid Computing, Vico Equense, Italy Conclusion  The Engine is the core of a GDS.  The Engine uses Activities to perform actions.  Activities use Data Resource Implementations to access data resources.  OGSA-DAI R3 includes many activities for querying, updating, transforming and delivering data.  Architecture is designed for extensibility: –New Activities –New Role Mappers –New Data Resource Implementations