OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC [email protected] 2nd...
Transcript of OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC [email protected] 2nd...
![Page 1: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/1.jpg)
OGSA-DAI LecturesPart 2
Tom Sugden, [email protected]
2nd International Summer School on Grid Computing, Vico Equense, Italy
![Page 2: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/2.jpg)
2nd International Summer School on Grid Computing 2
Outline
Inside a Grid Data Service (15 mins)
OGSA-DAI User Guide (30 mins)
The Client Toolkit APIs (20 mins)
Wrap-up (15 mins)
![Page 3: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/3.jpg)
2nd International Summer School on Grid Computing 3
Status
OGSA-DAI middlewareRelease 4 of 7functional and flexibleperformance and scalability issues
Depends on:Globus Toolkit 3.2Java 1.4+Apache Ant
Supports various databasesMySQL, Oracle, DB2, PostgreSQL, Xindice
![Page 4: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/4.jpg)
Inside aGrid Data Service
![Page 5: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/5.jpg)
2nd International Summer School on Grid Computing 5
GridData
Service
DataResource
PerformDocument
ResponseDocument
ResultData
![Page 6: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/6.jpg)
2nd International Summer School on Grid Computing 6
Overview
Low-level components of a Grid Data Service
EngineActivitiesData Resource ImplementationRole Mapper
Extensibility of OGSA-DAI architecture
InterfacesAbstract classesImplementations
![Page 7: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/7.jpg)
2nd International Summer School on Grid Computing 7
Data ResourceImplementation
Role Mapper
TheEngine
GDS Internals
datadata
dataquery
perform document
response document
element element element
credentials
QueryActivity
TransformActivity
DeliveryActivity
role
credentialsconnection
connection
role
![Page 8: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/8.jpg)
2nd International Summer School on Grid Computing 8
Grid Data Service
GDS has a document based interfaceConsumes perform documents
Produces response documents
Additional operations for 3rd party data delivery
Motivation for using a document interfaceChange in behaviour ≠> interface change
Reduce number of operation calls
Extensible
![Page 9: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/9.jpg)
2nd International Summer School on Grid Computing 9
The GDS Engine
Engine is the central GDS componentDictates behaviour when perform documents are submitted
Parses and validates perform documentIdentifies required activities implementationsProcesses activitiesComposes response documentReturns response document to GDS
![Page 10: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/10.jpg)
2nd International Summer School on Grid Computing 10
Perform DocumentsPerform documents
Encapsulate multiple interactions with a service into a single interaction
Abstract each interaction into an “activity”
Data can flow from one activity to another
Not quite workflowNo control constructs present (conditionals, loops, variables)
Query Transformation
Delivery
![Page 11: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/11.jpg)
2nd International Summer School on Grid Computing 11
ActivitiesAn Activity dictates an action to be performed
Query a data resource
Transform data
Deliver results
Engine processes a sequence of activities
Subset of activities available to a GDSSpecified in a configuration file
Data can flow between activities
HTMLdata
WebRowSetdata
SQLQuery
Statement
XSLTTransform
DeliveryToURL
![Page 12: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/12.jpg)
2nd International Summer School on Grid Computing 12
Activity Taxonomy
StatementInteract with the data resource
DeliveryDeliver data to and from 3rd parties
TransformPerform transformations on data
Activity
Statement Delivery Transform
Activities fall into three main functional groups
![Page 13: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/13.jpg)
2nd International Summer School on Grid Computing 13
Building Blocks Predefined Activities
sqlQueryStatement
sqlStoredProcedure
sqlUpdateStatement
sqlBulkLoadRowset
xPathStatement
xUpdateStatement
xQueryStatement
xmlResourceManagement
xmlCollectionManagement
relationalResourceManager
gzipCompression
zipArchive
xslTransform
inputStream
outputStream
DeliverFromURL
DeliverToURL
DeliverToGFTP
DeliverFromGFTP
DeliverToStream
DeliverFromGDT DeliverToGDT
![Page 14: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/14.jpg)
2nd International Summer School on Grid Computing 14
The Activity Framework
Extensibility point
Users can develop additional activitiesTo support different query languages
XQuery
To perform different kinds of transformation STX
To deliver results using a different mechanismWebDAV
An activity requiresXSD schema sql_query_statement.xsd
Java implementation SQLQueryStatementActivity
![Page 15: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/15.jpg)
2nd International Summer School on Grid Computing 15
The Activity Class
All Activity implementations extend the abstract Activity class
Activity
~ mContext: ActivityContext
+ Activity( element: Element )~ cleanUp()~ initialise()~ processBlock() : void~ setCompleted()
![Page 16: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/16.jpg)
2nd International Summer School on Grid Computing 16
Connected Activities
SqlQuery
Statement
DeliverToURL
<sqlQueryStatement name="statement"><expression>
select * from myTable where id=10</expression>
</sqlQueryStatement>
<deliverToURL name="deliverOutput"><toURL>
ftp://anon:[email protected]/home</toURL>
</deliverToURL>
![Page 17: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/17.jpg)
2nd International Summer School on Grid Computing 17
Connected Activities cont.
DeliverToURL
<sqlQueryStatement name="statement"><expression>
select * from myTable where id=10</expression><resultSetStream name=“MyOutput"/>
</sqlQueryStatement>
<deliverToURL name="deliverOutput"><fromLocal from=“MyOutput"/><toURL>
ftp://anon:[email protected]/home</toURL>
</deliverToURL>
SqlQuery
Statement
![Page 18: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/18.jpg)
2nd International Summer School on Grid Computing 18
The Perform Document<?xml version="1.0" encoding="UTF-8"?>
<gridDataServicePerform
xmlns="http://ogsadai.org.uk/namespaces/2003/07/gds/types"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogsadai.org.uk/namespaces/2003/07/gds/types
../../../../schema/ogsadai/xsd/activities/activities.xsd">
<documentation>
This example performs a simple select statement to retrieve one row
from the test database then delivers the results to an FTP location.
</documentation>
<sqlQueryStatement name="statement">
<expression>
select * from littleblackbook where id=10
</expression>
<resultSetStream name=“output"/>
</sqlQueryStatement>
<deliverToURL name="deliverOutput">
<fromLocal from=“output"/>
<toURL>ftp://anon:[email protected]/home</toURL>
</deliverToURL>
</gridDataServicePerform>
![Page 19: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/19.jpg)
2nd International Summer School on Grid Computing 19
SQLQuery
Statement
Activity Inputs and Outputs
Activities read and write blocks of dataAllows efficient streaming between activities
Reduces memory overhead
A block is a Java ObjectUntyped but usually a String or byte array
Interfaces for reading and writingBlockReader and BlockWriter
XSLTransform
Activity
DeliverTo URL
![Page 20: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/20.jpg)
2nd International Summer School on Grid Computing 20
Relationaldatabase
Data Resource ImplementationsGoverns access to a data resource
Open/close connections
Validate user credentials using a RoleMapper
Facilitate connection pooling
Provided for JDBC and XML:DB
open connection
close connection
JDBCData
Resource
get connection
return connection
SQLQuery
Statement
![Page 21: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/21.jpg)
2nd International Summer School on Grid Computing 21
Accessing Data Resource Sequence Diagram
:Activity :RoleMapper:DataResourceImplementation
Get connection using user credentialsGet database role using user credentials
:DatabaseRole
Get user ID and password
open connection using user ID and password
Do exciting things with the connection
Return connection
:Context
Get user credentials and data resource implementation
![Page 22: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/22.jpg)
2nd International Summer School on Grid Computing 22
Advantages of the Activity Model
Avoid multiple message exchangesMultiple activities within a single request
ExtensibleDevelopers can add functionality
Could import third party trusted activities
SimplicityInternal classes manage data flow, access to databases, etc
![Page 23: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/23.jpg)
2nd International Summer School on Grid Computing 23
Issues with Activity Model
Incomplete syntaxNo typing of inputs and outputs
How do you determine the data types that can be accepted?
Keeping implementation and XML Schema fragment in synchPuts workload on the server
May need dynamic job placement
DAIS has factored out the perform document from the draft specs
![Page 24: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/24.jpg)
2nd International Summer School on Grid Computing 24
Summary
The Engine is the central component of a GDSActivities perform actions
Querying, UpdatingTransformingDelivering
Data Resource Implementations manage access to underlying data resourcesArchitecture designed for extensibility
New ActivitiesNew Role MappersNew Data Resource Implementations
![Page 25: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/25.jpg)
OGSA-DAI User Guide
![Page 26: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/26.jpg)
2nd International Summer School on Grid Computing 26
OGSA-DAI in a Nutshell
All you need to know to get started with OGSA-DAI in a handy pocket sized book!
Updated for Version 4
![Page 27: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/27.jpg)
2nd International Summer School on Grid Computing 27
Overview
• Installing OGSA-DAI
• Configuring Grid Data Service Factories
• Registering Services
• Using Grid Data Services• Writing perform documents
• Using the supplied client applications
• Using the client toolkit
• Learn by scenario
![Page 28: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/28.jpg)
2nd International Summer School on Grid Computing 28
Scenario: Red Eyed Tree Frogs
Alice is a molecular biologistBased at the University of EdinburghMapped the genetic sequence of the Red-Eyed Tree Frog
![Page 29: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/29.jpg)
2nd International Summer School on Grid Computing 29
Background
Alice wants to make her work available to the scientific community
Publish an on-line database
Use OGSA-DAIAlice
Bob
Carroll
![Page 30: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/30.jpg)
2nd International Summer School on Grid Computing 30
Alice’s Database
TreeFrogs
GeneticSequence
PK ID
PositionChromosomeSymbol
MySQL relational databasejdbc:mysql://localhost:3306/TreeFrogs
Contains 1 table with 1,000,000 rowsGeneticSequence
JDBC Database Driverorg.gjt.mm.mysql.Driver
Driver
![Page 31: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/31.jpg)
2nd International Summer School on Grid Computing 31
Installing OGSA-DAI
Download OGSA-DAI softwarehttp://www.ogsadai.org.uk
Follow installation notesSet-up prerequisite software
Java (JDK1.3 or newer)
Web services container (Tomcat)
Grid Middleware (Globus Toolkit 3.2)
Build tool (Ant)
Additional libraries (Log4J, database drivers, etc)
Deploy OGSA-DAI
![Page 32: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/32.jpg)
2nd International Summer School on Grid Computing 32
Configuring Services
Configure Grid Data Service Factories (GDSF)1. Allow specific users read/write access
2. Allow anonymous users to search data
TreeFrogs
Public Factory
Private Factory creates GDS
creates GDS
read/write
read
![Page 33: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/33.jpg)
2nd International Summer School on Grid Computing 33
Part 1: Configuring Private Factory
Allow specific users to performSQL query statementsSQL update statementsBulk load of data
To configure the factory:Create data resource configuration fileCreate activity configuration fileCreate database roles fileUpdate server configuration
![Page 34: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/34.jpg)
2nd International Summer School on Grid Computing 34
Data Resource Configuration
<dataResourceConfig>
<!-- Database rolemap settings --><roleMap implementation="...rolemap.SimpleFileRoleMapper"
configuration="path/PrivateDatabaseRoles.xml"/>
<!-- Database and driver settings --><dataResource
implementation="...SimpleJDBCDataResourceImplementation"><driver implementation="org.gjt.mm.mysql.Driver">
<uri>jdbc:mysql://localhost:3306/treefrogs</uri></driver>
</dataResource>
</dataResourceConfig>
Configuration file describes the data resource
Create TreeFrogsPrivate.xml
Base on examples\GDSFConfig\dataResourceConfig.xml
![Page 35: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/35.jpg)
2nd International Summer School on Grid Computing 35
Activity Configuration
<activityConfiguration><activityMap base=“.../ogsa/schema/ogsadai/xsd/activities/">
<!-- Activities available to GDS --><activity name="sqlQueryStatement"
implementation="package.SQLQueryStatementActivity"schemaFileName="path/sql_query_statement.xsd"/>
<activity name="sqlUpdateStatement"implementation="package.SQLUpdateStatementActivity"schemaFileName="path/sql_update_statement.xsd"/>
<activity name="sqlBulkLoadRowSet" .../><activity name="deliverFromURL" .../>
</activityMap></activityConfiguration>
Describes the activities that are supported by the data resource
Create TreeFrogsPrivateActivities.xmlBase on examples\GDSFConfig\activityConfig.xml
![Page 36: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/36.jpg)
2nd International Summer School on Grid Computing 36
Create Database Roles
<DatabaseRoles><Database name="jdbc:mysql://localhost:3306/treefrogs">
<User dn=".../CN=Alice" userid="alice" password="amph1b1an"/><User dn=".../CN=Bob" userid="bob" password="tadp0le"/>
</Database></DatabaseRoles>
Enables access to TreeFrogs databaseCreate file PrivateDatabaseRoles.xmlBase on examples\RoleMap\ExampleDatabaseRoles.xml
alice / amph1b1an
bob / tadp0le
![Page 37: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/37.jpg)
2nd International Summer School on Grid Computing 37
Edit Server Configuration
Specifies the services for the containerLoaded when Tomcat starts-up
Edit file server-config.xml
<deployment>...<!-- GDSF-Private Service Deployment --><service name="ogsadai/TreeFrogFactoryPrivate" ...>
<parameter name="ogsadai.gdsf.config.xml.file" value="path/TreeFrogsPrivate.xml"/>
<parameter name="ogsadai.gdsf.activity.xml.file" value="path/TreeFrogsPrivateActivities.xml"/>
...</service>...
</deployment>
![Page 38: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/38.jpg)
2nd International Summer School on Grid Computing 38
Starting the FactoryStart service container (Tomcat)View the factory using a web/service browser
Causes factory to start up
http://localhost:8080/ogsa/services/ogsadai/TreeFrogFactoryPrivate?wsdl
![Page 39: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/39.jpg)
2nd International Summer School on Grid Computing 39
Milestone 1
Configuration for Private Tree Frog Factory complete
Specific users canlocate factory using known locationcreate GDSquery and update database
TreeFrogs
Private TreeFrog Factory
creates GDS read/write
![Page 40: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/40.jpg)
2nd International Summer School on Grid Computing 40
Use-case 1: Remote update
Bob is a Professor of BiologyBased at the University of Sydney
Working in collaboration with Alice on the Red-Eyed Tree Frog genome
Through Alice’s OGSA-DAI servicesBob can contribute new sequences
![Page 41: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/41.jpg)
2nd International Summer School on Grid Computing 41
Interactions
Client
TreeFrogs
5. updatedrow count
4. bulk uploadof data
3. new gene sequence
6. updatedrow count
Private TreeFrog Factory
TreeFrog
Service
2. creates1. creation
parameters
![Page 42: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/42.jpg)
2nd International Summer School on Grid Computing 42
Perform Documents
Perform documents are used to communicate with GDSContain only supported activity types
sqlQueryStatementsqlUpdateStatementsqlBulkLoadRowSet
Results delivered in the response documentMany examples provided with OGSA-DAI
GDSperform
documentresponsedocument
specified in data resource configuration
![Page 43: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/43.jpg)
2nd International Summer School on Grid Computing 43
Simple Query
Select a range of chromosomes from GeneSequenceUse sqlQueryStatement activity
<gridDataServicePerform ...><sqlQueryStatement name="myStatement"><expression>SELECT Chromosome FROM GeneSequenceWHERE Position > 1.1 AND Position < 1.2
</expression><webRowSetStream name="myOutput"/>
</sqlQueryStatement></gridDataServicePerform>
![Page 44: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/44.jpg)
2nd International Summer School on Grid Computing 44
Simple Query Response
Response contained Web Row Set XML
<gridDataServiceResponse ...><result name="myOutput" status="COMPLETE"><RowSet>...<data><row><col>156574335644</col></row><row><col>458956403234</col></row>
</data></RowSet>
</result><result name="myStatement" status="COMPLETE"/>
</gridDataServiceResponse>
![Page 45: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/45.jpg)
2nd International Summer School on Grid Computing 45
OGSA-DAI ClientsSend perform documents to a GDS using a clientOGSA-DAI provides 3 simple clients
Command-Line Client
Graphical Demonstrator
Data Browser
> java uk.org.ogsadai.client.ClientregistryURL|factoryURL performDocPath
> ant demonstrator
> ant databrowser
![Page 46: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/46.jpg)
2nd International Summer School on Grid Computing 46
Performing Remote Update
Bob stores his new gene sequence in a local fileUse deliverFromURL and sqlBulkLoadRowSetactivities to update remote database
<gridDataServicePerform ...><deliverFromURL name="myDelivery">
<fromURL>file://path/to/newSequence.xml</fromURL><toLocal name="newSequnece"/>
</deliverFromURL><sqlBulkLoadRowSet name="myBulkLoad">
<webRowSetStream from="newSequence"/><loadIntoTable tableName="GeneSequence"/><resultStream name="result"/>
</sqlBulkLoadRowSet></gridDataServicePerform>
![Page 47: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/47.jpg)
2nd International Summer School on Grid Computing 47
TreeFrogsTreeFrogs
updatedrow count
Client
GDS Interactions
performdocument
updates
GDSresponsedocument
data pulledby GDS
new genesequence
file
![Page 48: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/48.jpg)
2nd International Summer School on Grid Computing 48
handle
Part 2: Configure Public Factory
Publish to the UK National Biology Registry
TreeFrogsPublic Factory creates GDS read
Allow anonymous users to search data
handle handle
National Biology Registry
register
find services
![Page 49: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/49.jpg)
2nd International Summer School on Grid Computing 49
Public Factory Set-up
Database changesAlice defines findGene stored procedure
Supported activitiesSQL stored procedure
To configure factory:Create data resource configuration
Create activity configuration file
Create database roles file
Create service registration list
Update server configuration
![Page 50: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/50.jpg)
2nd International Summer School on Grid Computing 50
Data Resource Configuration
Configuration file describes the data resourceCreate TreeFrogsPublic.xmlBase on examples\GDSFConfig\dataResourceConfig.xml
<dataResourceConfig>
<!-- Database rolemap settings --><roleMap implementation="...rolemap.SimpleFileRoleMapper"
configuration="path/PublicDatabaseRoles.xml"/>
<!-- Database and driver settings --><dataResource
implementation="...SimpleJDBCDataResourceImplementation"><driver implementation="org.gjt.mm.mysql.Driver">
<uri>jdbc:mysql://localhost:3306/treefrogs</uri></driver>
</dataResource>
</dataResourceConfig>
![Page 51: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/51.jpg)
2nd International Summer School on Grid Computing 51
Activity Configuration
<activityConfiguration>
<activityMap base=“.../ogsa/schema/ogsadai/xsd/activities/">
<!– Only the sqlStoredProcedure activity is available to this GridDataService -->
<activity name="sqlStoredProcedure"implementation="package.SQLStoredProcedureActivity"schemaFileName="path/sql_stored_procedure.xsd"/>
</activityMap>
</activityConfiguration>
Describes the activities that are supported by the data resource
Create TreeFrogsPublicActivities.xmlBase on examples\GDSFConfig\activityConfig.xml
![Page 52: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/52.jpg)
2nd International Summer School on Grid Computing 52
Create Database Roles
<DatabaseRoles><Database name="jdbc:mysql://localhost:3306/treefrogs">
<User dn="No Certificate Provided"userid="guest" password="guest"/>
</Database></DatabaseRoles>
Enables access to TreeFrogs databaseCreate file PublicDatabaseRoles.xmlBase on examples\RoleMap\ExampleDatabaseRoles.xml
guest / guest
![Page 53: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/53.jpg)
2nd International Summer School on Grid Computing 53
Edit Server Configuration
Specifies the services for the containerLoaded when Tomcat starts-up
Edit file server-config.xml
<deployment>...<!-- GDSF-Private Service Deployment --><service name="ogsadai/TreeFrogFactoryPublic" ...>
<parameter name="ogsadai.gdsf.config.xml.file" value="path/TreeFrogsPublic.xml"/>
<parameter name="ogsadai.gdsf.activity.xml.file" value="path/TreeFrogsPublicActivities.xml"/>
<parameter name="ogsadai.gdsf.registrations.xml.file" value="path/TreeFrogsRegistrationList.xml"/>
...</service>...
</deployment>
![Page 54: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/54.jpg)
2nd International Summer School on Grid Computing 54
Create Service Registration ListSpecifies a list of service group registriesFactory is registered with each registry
Create file TreeFrogsRegistrationList.xmlBase on example\GDSFConfig\registrationList.xml
<gdsfRegistrationList ...><gdsfRegistration ...
gsh="http://www.biology.org:8080/ogsa/services/ogsadai/NationalBiologyRegistry"/>
</gdsfRegistrationList>
GDSF-Private register National Biology Registry
![Page 55: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/55.jpg)
2nd International Summer School on Grid Computing 55
Starting the FactoryStart service container (Tomcat)View the factory using a web/service browser
Causes factory to start upAutomatically registers with NationalBiologyRegister
http://localhost:8080/ogsa/services/ogsadai/TreeFrogFactoryPublic?wsdl
![Page 56: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/56.jpg)
2nd International Summer School on Grid Computing 56
Milestone 2
TreeFrogs
GDSF-Private creates GDS read/write
National Biology Registry
GDSF-Public creates GDS read
registers
Configuration for Public and Private Factories completeSpecific users have read/write access
Anonymous users can search data via stored procedure
![Page 57: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/57.jpg)
2nd International Summer School on Grid Computing 57
Use-case: Query with transformations
Carroll is a biochemistWorks for a small drugs company in Chicago
Investigating toxin in saliva of Fire Bellied Toad
Wants to compare proteins with Red Eyed Tree Frog
![Page 58: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/58.jpg)
2nd International Summer School on Grid Computing 58
protein sequence
protein sequence
Transforming Sequences
Carroll has a protein sequence
Alice’s data is encoded as a gene sequence
There is a public Grid Data Transformation Service available at Newcastle University
TransformService
gene sequence
gene sequence
![Page 59: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/59.jpg)
2nd International Summer School on Grid Computing 59
Interactions
1. Transform protein sequence needed for query
TransformService
1.2 genesequence
ClientTreeFrog
Service
1.1 protein sequence
![Page 60: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/60.jpg)
2nd International Summer School on Grid Computing 60
TransformService
Interactions
1. Transform protein sequence needed for query2. Query tree frog gene sequence asynchronously
1.2 genesequence
Client
2.1 asynchronous query using gene sequence Tree
FrogService
1.1 protein sequence
![Page 61: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/61.jpg)
2nd International Summer School on Grid Computing 61
TransformService
Interactions
1. Transform protein sequence needed for query2. Query tree frog gene sequence asynchronously3. Transform results back into protein sequence
3.3 results as protein sequence
Client
2.1 asynchronous query using gene sequence
3.2 results as
gene sequence
TreeFrog
Service
3.1 pull results
![Page 62: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/62.jpg)
2nd International Summer School on Grid Computing 62
Client Toolkit
Why? Writing XML is a pain!
A programming API which makes writing applications easier
Now: Java
Next: Perl, C, C#?
// Create a querySQLQuery query = new SQLQuery(SQLQueryString);
// Perform the queryResponse response = gds.perform(query);
// Display the resultResultSet rs = query.getResultSet();displayResultSet(rs, 1);
![Page 63: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/63.jpg)
2nd International Summer School on Grid Computing 63
Conclusion
OGSA-DAI provides middleware tools to grid-enable existing databases
access
discovery
integration
transformation collaboration
![Page 64: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/64.jpg)
2nd International Summer School on Grid Computing 64
Amy Krause and Tom [email protected]
The Client Toolkit
![Page 65: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/65.jpg)
2nd International Summer School on Grid Computing 65
Overview
The Client Toolkit
OGSA-DAI Service Types
Locating and Creating Data Services
Requests and Results
Delivery
Data Integration Example
![Page 66: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/66.jpg)
2nd International Summer School on Grid Computing 66
Why use a Client Toolkit?
Nobody wants to read or write XML!
Protects developer fromChanges in activity schema
Changes in service interfaces
Low-level APIs
DOM manipulation
![Page 67: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/67.jpg)
2nd International Summer School on Grid Computing 67
OGSA-DAI ServicesOGSA-DAI uses three main service types
DAISGR (registry) for discovery
GDSF (factory) to represent a data resource
GDS (data service) to access a data resource
acce
sses
representsDAISGR GDSF GDS
DataResource
locates creates
![Page 68: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/68.jpg)
2nd International Summer School on Grid Computing 68
ServiceFetcher
The ServiceFetcher class creates service objects from a URL
ServiceGroupRegistry registry =
ServiceFetcher.getRegistry( registryHandle );
GridDataServiceFactory factory =
ServiceFetcher.getFactory( factoryHandle );
GridDataService service =
ServiceFetcher.getGridDataService( handle );
![Page 69: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/69.jpg)
2nd International Summer School on Grid Computing 69
Registry
A registry holds a list of service handles and associated metadata
Clients can query registry for all Grid Data FactoriesGridServiceMetaData[] services =
registry.listServices(
OGSADAIConstants.GDSF_PORT_TYPE );
The GridServiceMetaData object contains the handle and the port types that the factory implements
String handle = services[0].getHandle();
QName[] portTypes = services[0].getPortTypes();
![Page 70: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/70.jpg)
2nd International Summer School on Grid Computing 70
Creating Data Services
A factory object can create a new Grid Data Service.GridDataService service =
factory.createGridDataService();
Grid Data Services are transient (i.e. have finite lifetime) so they can be destroyed by the user.service.destroy();
![Page 71: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/71.jpg)
2nd International Summer School on Grid Computing 71
Interaction with a GDS
Client
GDSActivity
Request
Activity
Activity
Client sends a request to a data service
A request contains a set of activities
![Page 72: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/72.jpg)
2nd International Summer School on Grid Computing 72
Interaction with a GDS
Client
GDSResult
Response
Result
Result
The Data service processes the request
Returns a response document with a result for each activity
![Page 73: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/73.jpg)
2nd International Summer School on Grid Computing 73
Activities and Requests
A request contains a set of activities
An activity dictates an action to be performed
Query a data resource
Transform data
Deliver results
Data can flow between activities
HTMLdata
WebRowSetdata
SQLQuery
Statement
XSLTTransform
DeliverToURL
![Page 74: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/74.jpg)
2nd International Summer School on Grid Computing 74
gzipCompression
zipArchive
xslTransform
Predefined Activities
sqlQueryStatement
sqlStoredProcedure
sqlUpdateStatement
sqlBulkLoadRowset
xPathStatement
xUpdateStatement
xQueryStatement
xmlResourceManagement
xmlCollectionManagementrelationalResourceManager
inputStream
outputStream
DeliverFromURL
DeliverToURL
DeliverToGFTP
DeliverFromGFTP
DeliverToStream
DeliverFromGDT DeliverToGDT
DeliverToFileDeliverFromFile
fileWritingdirectoryAccess
fileAccessfileManipulation
![Page 75: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/75.jpg)
2nd International Summer School on Grid Computing 75
Examples of Activities
SQLQuerySQLQuery query = new SQLQuery(
"select * from littleblackbook where id='3475'");
XPathQueryXPathQuery query = new XPathQuery( "/entry[@id<10]" );
XSLTransformXSLTransform transform = new XSLTransform();
DeliverToGFTPDeliverToGFTP deliver = new DeliverToGFTP(
"ogsadai.org.uk", 8080, "myresults.txt" );
![Page 76: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/76.jpg)
2nd International Summer School on Grid Computing 76
Simple Requests
Simple requests consist of only one activity
Send the activity directly to the perform method
SQLQuery query = new SQLQuery("select * from littleblackbook where id='3475'");
Response response = service.perform( query );
![Page 77: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/77.jpg)
2nd International Summer School on Grid Computing 77
Constructing a Request
SQLQuery
Statement
XSLTTransform
DeliveryToURL
Request
add add add
![Page 78: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/78.jpg)
2nd International Summer School on Grid Computing 78
Constructing a Request cont.
SQLQuery
XSLTransform
DeliveryToURL
ActivityRequest
ActivityRequest request = new ActivityRequest;request.add( query );request.add( transform );request.add( delivery );
![Page 79: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/79.jpg)
2nd International Summer School on Grid Computing 79
Data Flow
Connecting activities SQLQuery query = new SQLQuery(
"select * from littleblackbook where id<=1000");DeliverToURL deliver = new DeliverToURL( url );
deliver.setInput( query.getOutput() );
SQLQuery
Statement
DeliverToURL
![Page 80: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/80.jpg)
2nd International Summer School on Grid Computing 80
Performing Requests
Finally… perform the request!Response response = service.perform( Request );
The response contains status and results of each activity in the request.System.out.println( response.getAsString() );
![Page 81: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/81.jpg)
2nd International Summer School on Grid Computing 81
Processing Results
Varying formats of output dataSQLQuery
JDBC ResultSet:
ResultSet rs = query.getResultSet();
SQLUpdateInteger:
int rows = update.getModifiedRows();
XPathQueryXML:DB ResourceSet:
ResourceSet results = query.getResourceSet();
Output can always be retrieved as a StringString output = myactivity.getOutput().getData();
![Page 82: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/82.jpg)
2nd International Summer School on Grid Computing 82
Delivery
Data can be pulled from or pushed to a remote location.
OGSA-DAI supports third-party transfer using FTP, HTTP, or GridFTP protocols.
DeliverToURL deliver = new DeliverToURL( url );
deliver.setInput( myactivity.getOutput() );
DeliverToGFTP deliver = new DeliverToGFTP(
“ogsadai.org.uk”, 8080, “tmp/data.out” );
deliver.setInput( myactivity.getOutput() );
![Page 83: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/83.jpg)
2nd International Summer School on Grid Computing 83
Delivery Methods
GDS
GridFTP server LocalFilesystem
Web Server
FTPserver
DeliverFromURL
DeliverTo/FromURL
DeliverTo/FromGFTP
DeliverTo/FromFile
![Page 84: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/84.jpg)
2nd International Summer School on Grid Computing 84
Delivering data to another GDS
The GDT port type allows to transfer data from one data service to another.
An InputStream activity of GDS1 connects to a DeliverToGDT activity of GDS2
Alternatively, an OutputStream activity can be connected to a DeliverFromGDT activity
InputStreamGDS1 GDS2DeliverToGDT
![Page 85: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/85.jpg)
2nd International Summer School on Grid Computing 85
Delivering Data
Transfer in blocks or in full
InputStream activities wait for data to arrive at their input
Therefore, the InputStream activity at the sink has to be started before the DeliverToGDTactivity at the source
Same for OutputStream and DeliverFromGDT
![Page 86: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/86.jpg)
2nd International Summer School on Grid Computing 86
Data Integration Scenario
GDS2 GDS3RelationalDatabase
RelationalDatabase
GDS1RelationalDatabase
Clientselect +
output stream
select +output stream
deliver
deliver
deliver from GDTbulk load
join tables
![Page 87: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/87.jpg)
2nd International Summer School on Grid Computing 87
Conclusion
Easy to useNo XML!
Less low-level APIs
improves usability and shortens learning curve for OGSA-DAI client development
Protects developerShielded from schema changes, protocols, GT3
LimitationsMetadata and service-data not addressed adequate
Higher-level abstraction possible (no factory)
![Page 88: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/88.jpg)
OGSA-DAI Wrap-up
![Page 89: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/89.jpg)
2nd International Summer School on Grid Computing 89
Overview
• Future Developments
• The OGSA-DAI Webpage
• Support Information
• Tutorials
• Links
![Page 90: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/90.jpg)
2nd International Summer School on Grid Computing 90
Future Developments
Jan '04 -
Feb '04 -
Mar '04 –
Apr '04 -
May '04 -
Jun '04 -
Jul '04 -
Aug '04 -
Sep '04 -
Oct '04 -
Nov '04 -
Dec '04 -
Jan '05 -
Feb '05 -
Mar '05 –
Apr '05 -
May '05 -
Jun '05 -
Jul '05 -
Aug '05 -
Sep '05 -
Oct '05 -
Nov '05 -
Dec '05 -
R3.1: Technical preview of parts of R4
R5: Compliance with DAIS, distributed query and transactions, improved performance, scalability, dependability and security, installation wizard, coordinated contributor community
R4: Enhancements and additional DBMS, SQL, File, Client toolkit
R6: Features depend on user priorities, context and research
R7: Maintainable release for the user community
![Page 91: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/91.jpg)
2nd International Summer School on Grid Computing 91
R5 R7R5 October 04
Compliance with DAIS standards proposalDistributed Relational Query ProcessingImproved dependability and security integrationExtended & integrated XML and relational facilitiesDistributed transaction participationCoordinated OGSA-DAI contributor community
R6 April 05Integrated with GT4New facilities depend on user priorities, context and researchOGSA-DAI components from contributor community
R7 October 05Maintainable release for the user community
![Page 92: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/92.jpg)
2nd International Summer School on Grid Computing 92
OGSA-DAI Project Webpage
http://www.ogsadai.org.uk
Background
News & Events
Software Releases
Documentation
Support
Training Courses
Links
![Page 93: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/93.jpg)
2nd International Summer School on Grid Computing 93
Support
Long term support for OGSA-DAI provided by UK Grid Support Centre
http://www.ogsadai.org.uk/support
Web forms for submission ofGeneral queries
Problems with installation and configuration
Problems with usage of software
Submissions are tracked and logged
![Page 94: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/94.jpg)
2nd International Summer School on Grid Computing 94
FAQ and Mailing List
Frequently Asked Questionshttp://www.ogsadai.org.uk/support/faq.php
updated as common problems become clear
Users mailing listhttp://www.ogsadai.org.uk/support/list.php
general discussion of OGSA-DAI, data and the Grid
use support instead to report problems
Suggestions for additions and improvements to support service welcome
![Page 95: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/95.jpg)
2nd International Summer School on Grid Computing 95
Tutorials
Graphical Demonstrator User Guide
How to write an Activity Tutorial
Using the Client Toolkit Tutorial
http://www.ogsadai.org.uk/docs/
![Page 96: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/96.jpg)
2nd International Summer School on Grid Computing 96
Links
OGSA-DAI Webpagehttp://www.ogsadai.org.uk/
Globus Toolkit 3http://www.globus.org/ogsa
Database Access and Integration Services (DAIS-WG)http://www.gridforum.org/6_DATA/dais.htm
Grid Technology Repositoryhttp://gtr.globus.org
ELDAS - Enterprise-Level Data Access Services (Eldas) http://www.edikt.org/eldas
Web Services Choreographyhttp://www.w3.org/2002/ws/chor
![Page 97: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/97.jpg)
2nd International Summer School on Grid Computing 97
Projects using OGSA-DAI
DQP - http://www.ogsadai.org.uk/dqpService Based Distributed Query Processor
FirstDIG - http://www.epcc.ed.ac.uk/~firstdigData mining analysis of OGSA-DAI service-enabled data sources
BIOGRID - http://www.biogrid.jpConstruction of a Supercomputer Network to meet IT needs for biology and medical science in Japan
OGSA-WebDB - http://www.biogrid.jpProvides a uniform view of heterogeneous database resources in a grid environment
BioSimGrid - http://www.biosimgrid.orgA distributed database for biomolecular simulations
More projects– http://www.ogsadai.org.uk/projects/
![Page 98: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/98.jpg)
2nd International Summer School on Grid Computing 98
ODD-Genes
Data Analysis for geneticsSites:
GTI (microarray data)
HGU (genex data)
EPCC (compute server)
Software:OGSA-DAI (Data)
TOG (Computation)
Globus Toolkit 2 and 3
http://www.epcc.ed.ac.uk/oddgenes
![Page 99: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/99.jpg)
2nd International Summer School on Grid Computing 99
FirstDIG
Data mining with the First Transport Group, UKExample: “When buses are more than 10 minutes late there is an 82% chance that revenue drops by at least 10%”http://www.epcc.ed.ac.uk/firstdig
OGSA-DAIOGSA-DAI OGSA-DAIOGSA-DAI
OGSA-DAI Client Application
Data Mining Application
![Page 100: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/100.jpg)
2nd International Summer School on Grid Computing 100
EdSkyQuery-G
Collaboration between OGSA-DAI & Eldas
Based on SkyQuery project by John Hopkins University, Baltimore, USA
Identify astronomical objects and dropouts amongst different distributed catalogues
Large scale data transport
Plug-in algorithms
Platform and DBMS independence
![Page 101: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/101.jpg)
2nd International Summer School on Grid Computing 101
EdSkyQuery-G
SkyData
λν
SkyData
λχ
SkyData
λω
SkyData
λγ
![Page 102: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/102.jpg)
2nd International Summer School on Grid Computing 102
EdSkyQuery-G Challenges
Data formatsXML (WebRowSet)CSVBinaryCompressed CSV or XML
Data transportSOAP over HTTP/HTTPSFTP, Secure-FTP, Grid-FTP
Importing/Exporting dataThrough servicesDirect from stored proceduresUsing native tools
![Page 103: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/103.jpg)
2nd International Summer School on Grid Computing 103
SkyQuery.net
![Page 104: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/104.jpg)
2nd International Summer School on Grid Computing 104
Conclusion
Try out OGSA-DAIIt’s free!Supported
Please send us feedback! Evolving and improving
Data integrationPerformance and scalability
Become involvedWrite activitiesContribute to the DAIS working group
![Page 105: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/105.jpg)
2nd International Summer School on Grid Computing 105
HPC-Europa
EC-funded research visit programme
Fully-funded, multi-disciplinary
Visits between 3 and 13 weeksEPCC in Edinburgh
CEPBA-CESCA in Barcelona/Catalonia
HLRS in Stuttgart
CINECA in Bologna
SARA in Amsterdam
IDRIS in Paris
http://www.hpc-europa.com
![Page 106: OGSA-DAI Lectures Part 2 · OGSA-DAI Lectures Part 2 Tom Sugden, EPCC tom@epcc.ed.ac.uk 2nd International Summer School on Grid Computing, Vico Equense, Italy. 2nd International Summer](https://reader033.fdocuments.net/reader033/viewer/2022060809/608db702cea04761d419e850/html5/thumbnails/106.jpg)
2nd International Summer School on Grid Computing 106
OGSA-DAI Tutorial
Introduction to data access and integration on the Grid using OGSA-DAI
Using the Data BrowserWriting Clients using the Client Toolkit APIs
Start workstations in Windows modeOGSA-DAI, Tomcat, MySQL and Xindicehave already been configured
http://192.167.1.214:8080/tutorial