Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July...

11
Amy Krause Applications Consultant, EPCC [email protected] +44 131 650 6718 Introduction to OGSA-DAI Principles and Architectures for Structured Data Integration: OGSA-DAI as an example ISSGC06 (Ischia, Italy), 17 July 2006 17 July 2006 ISSGC06, Ischia, Italy 2 OGSA-DAI OGSA-DAI Outline OGSA-DAI in a Nutshell Design Principles Overview What’s in the box? – Core Features Extensibility Points

Transcript of Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July...

Page 1: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

1

Amy KrauseApplications Consultant, EPCC

[email protected]+44 131 650 6718

Introduction to OGSA-DAI

Principles and Architectures for

Structured Data Integration:

OGSA-DAI as an exampleISSGC06 (Ischia, Italy), 17 July 2006

17 July 2006 ISSGC06, Ischia, Italy 2

OGSA-DAI

OGSA-DAI

Outline

• OGSA-DAI in a Nutshell

• Design Principles

• Overview

• What’s in the box? – Core Features

• Extensibility Points

Page 2: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

2

17 July 2006 ISSGC06, Ischia, Italy 3

OGSA-DAI

OGSA-DAI

OGSA-DAI In One Slide

• An extensible framework for data access and integration.

• Expose heterogeneous data resources to a grid through web services.

• Interact with data resources:– Queries and updates.– Data transformation / compression– Data delivery.

• Customise for your project using– Additional Activities– Client Toolkit APIs– Data Resource handlers

• A base for higher-level services– federation, mining, visualisation,…

17 July 2006 ISSGC06, Ischia, Italy 4

OGSA-DAI

OGSA-DAI

OGSA-DAI Design Principles – I

• Efficient client-server communication– Minimise where possible– One request specifies multiple operations

• No unnecessary data movement– Move computation to the data– Utilise third-party delivery– Apply transforms (e.g., compression)

• Build on existing standards– Fill-in gaps where necessary– DAIS specifications from DAIS WG at GGF

Page 3: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

3

17 July 2006 ISSGC06, Ischia, Italy 5

OGSA-DAI

OGSA-DAI

OGSA-DAI Design Principles – II

• Do not hide underlying data model– Users must know where to target queries– Data virtualisation is hard

• Extensible architecture– Modular and customisable– e.g., to accommodate stronger security

• Extensible activity framework– Cannot anticipate all desired functionality– Activity = unit of functionality– Allow users to plug-in their own

17 July 2006 ISSGC06, Ischia, Italy 6

OGSA-DAI

OGSA-DAI

OGSA-DAI Services

• OGSA-DAI uses data services to represent and provide access to a number of data resources

acce

sses represents

Data Service

DataResource

DataResourceData

Resource

accesses

Page 4: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

4

17 July 2006 ISSGC06, Ischia, Italy 7

OGSA-DAI

OGSA-DAI

OGSA-DAI platforms

• OGSA-DAI 2.2 is written in Java and supports three platforms:

Globus Toolkit 4.0.2 (Axis 1.2RC2)

Axis 1.2.1

OMII container (Axis 1.2RC3)

17 July 2006 ISSGC06, Ischia, Italy 8

OGSA-DAI

OGSA-DAI

OGSA-DAI Components

Data Service

Files Resource

Exist Resource

MySQL Resource

A Data Service accesses a number of data service resources …

Page 5: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

5

17 July 2006 ISSGC06, Ischia, Italy 9

OGSA-DAI

OGSA-DAI

OGSA-DAI Components

Each data service resource supports a set of activities …

SQLQuery

Files Resource

Exist Resource

MySQL Resource

SQLUpdate

SQLResultsToXMLDeliverTo

URL

XPathQuery

XQuery

CreateCollectionXUpdate

CreateFile

IndexQuery

FileAppendFileInsert

17 July 2006 ISSGC06, Ischia, Italy 10

OGSA-DAI

OGSA-DAI

Activities

• Activities are operations– Typically data-related– Specific to a data resource type (e.g. JDBC or File System)– Data can flow from one activity to another

SQL ResultsTo XML

DeliverToURL

SQLQuery

ResultSet

XML data

DB

JDBC

WebServer

FTP/HTTP

OGSA-DAI

Page 6: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

6

17 July 2006 ISSGC06, Ischia, Italy 11

OGSA-DAI

OGSA-DAIMySQL

OGSA-DAI service

Engine

SQLQuery

JDBC Data ServiceAccessors

Activities

DB2

The OGSA-DAI Framework

GZip GridFTPXPath

XMLDB

eXist

readFile

File

SWISSPROT

ToCSV

SQLServer

Data-bases

ApplicationApplicationClient ToolkitClient Toolkit

17 July 2006 ISSGC06, Ischia, Italy 12

OGSA-DAI

OGSA-DAI

OGSA-DAI service

Engine

SQLQuery

JDBC

SQL

JDBC

SQL

JDBC

SQL

JDBC

SQL

JDBC

MultipleDSR

SQLBag

Multiple Data Service Resources

Page 7: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

7

17 July 2006 ISSGC06, Ischia, Italy 13

OGSA-DAI

OGSA-DAI

Core features of OGSA-DAI – I• A framework for building applications

– Supports data access, insert and update– Relational; XML; Files

– Supports data delivery– SOAP over HTTP– GridFTP; FTP– Inter-service– E-mail

– Supports data transformation– XSLT– ZIP + GZIP Compression– Projection; Random Samples– Handling BLOBs

– Supports security– X.509 certificate based security

17 July 2006 ISSGC06, Ischia, Italy 14

OGSA-DAI

OGSA-DAI

Core features of OGSA-DAI – II

• A framework for building data clients– Client toolkit library for application developers

• A framework for developing functionality– Extend existing activities, or implement your own– Mix and match activities to provide functionality you need

• Highly-extensible– Customise our out-of-the-box product– Provide your own services, client-side support and data-related

functionality

• Comprehensive documentation and tutorials

Page 8: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

8

17 July 2006 ISSGC06, Ischia, Italy 15

OGSA-DAI

OGSA-DAI

Data Service

Activity

Activity

Activity

Basic Service Interactions

Client

Data Sink

<?xml?><perform>….</perform>

<?xml?><perform>….</perform>

<?xml/><response>….</response>

<?xml/><response>….</response>

…011010011101100…

17 July 2006 ISSGC06, Ischia, Italy 16

OGSA-DAI

OGSA-DAI

PerformPerform

Perform Documents

• Perform documents– Encapsulate a serialisation of multiple interactions with a service into

a single interaction– Abstract each interaction into an “activity”– Data can flow from one activity to another– No control constructs present

– no conditionals, loops or variables

Query Transform Deliver

Page 9: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

9

17 July 2006 ISSGC06, Ischia, Italy 17

OGSA-DAI

OGSA-DAI

Activities

• An Activity dictates an action to be performed– Query a data resource– Transform data– Deliver results

• Subset of activities available to a Data Resource– Specified in configuration files

• Data can flow between activities

XMLdata

ResultSetdata

SQLQuery

Statement

SQLResultsToXML

DeliveryToURL

17 July 2006 ISSGC06, Ischia, Italy 18

OGSA-DAI

OGSA-DAI

Extensibility Points

• Extensibility points in OGSA-DAI can be used to implement very powerful additions

• Allow applications to be tailored for specific tasks

• More about this later…

Page 10: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

10

17 July 2006 ISSGC06, Ischia, Italy 19

OGSA-DAI

OGSA-DAI

Future Features

• Multi-Resource Perform Documents

• New Activity Framework– New interfaces– Simplify activity development for implementers– Add hooks for monitoring, authorisation, …– More out-of-the-box activities

• New Pipe Model– Improved concurrent processing– New streaming model

• Extended support for BLOB and binary data extraction

• Persistency support through a configuration database

• Dynamic Service Configuration and Management

17 July 2006 ISSGC06, Ischia, Italy 20

OGSA-DAI

OGSA-DAI

Conclusions

• OGSA-DAI provides an extensible, data service based framework which makes it easier to implement data integration

• Can be used “stand-alone” (with Apache Axis) or integrates with Globus Toolkit and OMII frameworks

• Multiple operations (activities) are encapsulated in a single interaction with a service

• The architecture is designed for extensibility

Page 11: Introduction to OGSA-DAI - unina.itmurli/ISSGC06/ogsadai/public_html/Slides/OGSA... · 2 17 July 2006 ISSGC06, Ischia, Italy 3 OGSA-DAI OGSA-DAI OGSA-DAI In One Slide • An extensible

11

17 July 2006 ISSGC06, Ischia, Italy 21

OGSA-DAI

OGSA-DAI

The End

• Questions?

OGSA-DAI

?