OGSA-DAI Architecture EPCC, University of Edinburgh James Magowan magowan@uk.ibm.com OGSA-DAI Training Workshop - April 2003 Release: P2R2 OGSA Structure System Management Services Grid Services OGSI – Open Grid Services Infrastructure Web Services 2 OGSA-DAI Training Workshop, Release: P2R2 OGSI Recap 4Exploits existing web services properties – Interface abstraction (WSDL v1.1) – Protocol, language, hosting platform independence 4Enhancement to web services – – – – – State Management Event Notification Referenceable Handles Lifecycle Management Service Data Extension See: The OGSI Specification (version 1.0 at GGF7) 3 OGSA-DAI Training Workshop, Release: P2R2 Globus OGSI Implementation 4Technology Previews – December 02 4Globus Toolkit 3 Alpha 1 – January 03 4Globus Toolkit 3 Alpha 2 – February 03 4Globus Toolkit 3 Alpha 3 – March 03 4Globus Toolkit 3 Alpha 4 – April 03 4Globus Toolkit 3 Beta – May 03 4Globus Toolkit 3 Release – June 03 4 OGSA-DAI Training Workshop, Release: P2R2 The GT 3 Alpha Java Container WSDD HTTP Server Client HTTP Grid Service Stub Web Application Server Axis Globus Toolkit 3 Request Handlers RPCURI Provider Response Handlers Grid Service Instance OGSI Classes J2EE wrappers also included with JBoss as EJB container 5 OGSA-DAI Training Workshop, Release: P2R2 Globus Server Side Model!? You don’t have to be able to read this but understand that there is a set of classes that Globus define that support Grid Service instances 6 OGSA-DAI Training Workshop, Release: P2R2 Anatomy Of A Grid Service • Service Data Access • Lifetime Management GridService (required) Other Interfaces (Optional) •Service creation (Factory) •Service discovery (Registry) •Notification •Handle Management •Other functions e.g. Handle Handle Element Element Service Data Element Grid Service •Workflow •Auditing •Resource Management Implementation Hosting Environment 7 OGSA-DAI Training Workshop, Release: P2R2 OGSA Port Types (OGSA-DAI Release 2) <<Interface>> PortType (from org.w3c.wsdl) <<Interface>> GridService findServiceData() requestTerminationTimeAfter() requestTerminationTimeBefore() destroy() <<Interface>> NotificationSource subscribe() 8 <<Interface>> Factory createService() <<Interface>> Registration registerService() unregisterService() <<Interface>> NotificationSink deliverNotification() <<Interface>> Handl eResolver f indByHandle() <<Interface>> NotificationSub scription OGSA-DAI Training Workshop, Release: P2R2 OGSA Port Types (post Release 2) <<portType>> GridService findServiceData() setServiceData() requestTerminationAfter() requestTerminationBefore() destroy() <<portType>> ServiceGroup <<portType>> Factory createService() <<portType>> HandleResolver <<portType>> ServiceGroupEntry findByHandle() <<portType>> NotificationSource <<portType>> ServiceGroupRegistration add() remove() <<portType>> NotificationSink <<portType>> NotificationSubscription subscribe() deliverNotification() 9 OGSA-DAI Training Workshop, Release: P2R2 OGSA-DAI Port Types GridService portType findServiceData() requestTerminationTimeBefore() requestTerminationTimeAft er() des troy() GridDataService portType perform() 10 GridDataTransport portType getFully() getBlock() putFully() putBlock() OGSA-DAI Training Workshop, Release: P2R2 Java Services 4 Service (Component) is implemented as a Java class 4 Implements the portType interfaces and extends some base class public class GridDataService extends implements ServiceSkeleton GridDataServicePortType, GridDataTransportPortType 4 Here GT3-alpha3 ServiceSkeleton implements common GridService interface function 4 Other common functions are reused through delegation 4 This class is instantiated in order to create a service instance 11 OGSA-DAI Training Workshop, Release: P2R2 OGSA-DAI Objective Define open standards and open source based uniform service interfaces for accessing heterogeneous data sources within the Open Grid Services Architecture (OGSA) using the Open Grid Services Infrastructure (OGSI) 12 OGSA-DAI Training Workshop, Release: P2R2 The OGSA-DAI Project 4OGSA - Data Access and Integration – jointly funded by the UK DTI eScience Programme and industry 4Provides data access and integration functions for computing Grids using the OGSI framework. 4Closely associated with GGF DAIS working group 4Project team members drawn from – commercial organisations and – non-commercial organisations 4Project runs until July 2003 – will support DB2, Oracle, MySQL, Xindice 13 OGSA-DAI Training Workshop, Release: P2R2 Phase 1 4Phase 1 – March to September 2002 – GGF DAIS Workgroup Grid Database Spec – Architectural Framework – Release 0 - Software Prototypes • EPCC (XML Database) – OGSI compliant • IBM UK (Relational Database) – non-OGSI – Functional Scope for Phase 2 14 OGSA-DAI Training Workshop, Release: P2R2 Phase 2 4Release 1 – Jan 2003 – Basic infrastructure and services. Combine the efforts of Phase 1 and get the team going in one direction 4Release 2 – Apr 2003 – More functionality and changes to match Grid Service Specification as was then (now OGSI) 4Release 3 – July 2003 – Final release of Phase 2 to coincide with the full Globus GT3 release 15 OGSA-DAI Training Workshop, Release: P2R2 Timeline A 2002 M J J A S Grid Services Spec – Draft 4 O N Globus Tech Preview 4 Grid Services Spec – Draft 5 D Globus Tech Preview 5 J Globus Toolkit 3 - Alpha OGSA-DAI Release 1 - Alpha OGSI Spec – v1.0 - Significant changes to OGSI F M A 2003 M J J OGSA-DAI Release 2 – Alpha update Globus Toolkit 3 - Beta Globus Toolkit 3 - Release OGSA-DAI Release 3 - Release A S O 16 OGSA-DAI Training Workshop, Release: P2R2 Grid Technology Repository 4Place for people to publish and discover work related to Grid Technologies 4International community-driven effort 4OGSA-DAI registered with the GTR – Visible UK contribution – Free publicity 4More information from: – http://gtr.globus.org 17 OGSA-DAI Training Workshop, Release: P2R2 Data Grid Challenge 1 4Generic concerns, for example: – – – – – – – – 18 Scale, Heterogeneity, Dynamism, Location, Distribution, Virtualization, Ownership, Cost… OGSA-DAI Training Workshop, Release: P2R2 Data Grid Challenge II 4Application specific concerns, for example: – – – – – 19 Common database schema, Data description and semantics, Data formats, Process and procedure, Provenance… OGSA-DAI Training Workshop, Release: P2R2 OGSA-DAI Positioning Vision OGSA-DAI Distributed Query OGSA-DAI Basic Services Data Grid Infrastructure – Location, Delivery, Replication… Resource Grid Infrastructure – OGSA… Database, Communication, OS… Technology 20 OGSA-DAI Training Workshop, Release: P2R2 OGSA-DAI Positioning Today OGSA-DAI Distributed Query OGSA-DAI Basic Services Query (Create Data Retrieve Delivery Format Drivers Update Delete) App Specifics OGSA Meta Data Location Notification Lifetime Database, Communication, OS… Technology 21 OGSA-DAI Training Workshop, Release: P2R2 “Buy not Build” 4OGSA/OGSI 4Query Language 4Data Format 4Data transport 4Data Description Schema 4Replication 4… 22 OGSA-DAI Training Workshop, Release: P2R2 10000 Feet Grid Data Resources Client Consumer 23 DBMS DBMS DBMS OGSA-DAI Training Workshop, Release: P2R2 10000 Feet With OGSA-DAI Services Grid Data Resources GDSF Client GDS Consumer DBMS DBMS DBMS GDSR 24 OGSA-DAI Training Workshop, Release: P2R2 1a. Request to Registry for sources of data about “x” Registry GDSR SOAP/HTTP 1b. Registry responds with Factory handle 2a. Request to Factory for access to database Analyst API interactions Factory GDSF 2c. Factory returns handle of GDS to client 2b. Factory creates GridDataService to manage 3a. Client queries GDS access with SQL, XPath, XQuery etc 3c. Results of query returned to client as XML OR 3d. Results of query delivered to consumer via FTP, GFTP, … Consumer service creation Grid Data Service GDS 3b. GDS interacts with database Database (Xindice MySQL Oracle DB2) OGSA-DAI Basic Services OGSA-DAI Distributed Query OGSA-DAI Basic Services Delivery Query GDS (Create Data Retrieve Format Drivers Update Delete) OGSA GDSF Meta Data Notification GDSR Lifetime Location Database, Communication, OS… Technology 26 OGSA-DAI Training Workshop, Release: P2R2 Location Registry GDSR findServiceData registerService Factory Analyst findServiceData GDSF 4 Data resource publication through registry 4 Data location hidden by factory 4 Data resource meta data available through Service Data Elements 27 OGSA-DAI Training Workshop, Release: P2R2 Heterogeneity Grid Data Service Xindice MySql Oracle DB2 4 Data source abstraction behind GDS instance – plug in “data resource implementations” for different data source technologies – does not mandate any particular query language or data format 28 OGSA-DAI Training Workshop, Release: P2R2 Scale Analyst Producer/ Consumer Request Deliver Grid Data Service 4 Delivery configured as part of request 4 Asynchronous delivery with varying modes/transports – “Zero copy deliver” 4 OGSA-DAI will not specify transport mechanism but support existing 29 OGSA-DAI Training Workshop, Release: P2R2 Flexibility Request Doc Grid Data Service Analyst Response Doc Query Update Delivery 4 Data source abstraction behind GDS instance – document based interface • Document sharing, operation optimization – combines statement with other, plugin, operations/activities • delivery, data transformation, data caching – ongoing activity is represented in state of the service • running query, cached data, referenced data 30 OGSA-DAI Training Workshop, Release: P2R2 Dynamism Registry Analyst Notification Factory Grid Data Service 4Data Source change notification 31 OGSA-DAI Training Workshop, Release: P2R2 Management, Ownership, Accounting etc. 4We rely on OGSA/I for much common distributed computing function 4Any OGSA-DAI specific function will be compatible with OGSA/I approach 4Not much has been done to date 32 OGSA-DAI Training Workshop, Release: P2R2 GDS Composition 1 2 3 Client Client Client GDS Operation GDS Operation GDS Operation GDS Operation GDS DB 4 GDS DB 5 Operation Operation Client DB Client GDS Operation GDS Operation GDS Operation GDS Operation GDS Operation GDS Operation DB Operation 33 OGSA-DAI Training Workshop, Release: P2R2 DB Release 1 4Simple synchronous interaction with a data source using a GDS as a proxy. R – Registry portType GS – GridService portType F – Factory portType GDS – GDS portType Registry R GS F 1 Client & Consumer Factory GS 2 Q Rs 3 GDS GDS Instance DB GS 34 OGSA-DAI Training Workshop, Release: P2R2 Release 2 4Asynchronous delivery – Pull Q 1 Client 2 GDS Instance GDS Rs DT D + GDH GSH/R + data id DB 3 Ra Consumer GDT 4Asynchronous delivery – Push Q + D + GSH/R Client 1 GDS Rs 2 DT GDT Consumer 35 GDS Instance DB GSH/R 3 Ra OGSA-DAI Training Workshop, Release: P2R2 Notation GDS1 GDSP2R1 Service Instance Service Implementation Service Type portType GDS1 GDSst GS GS GDS GDS GDT 36 Simplifies To GDT OGSA-DAI Training Workshop, Release: P2R2 Overview – Release 2 (R2) Container GDSR1 GS R NSrc GDSF1 GS RDBMS (mySQL) F GDS1 GS Norther nHemis phereIR GDS GDT A1 GDSF2 C1 XMLDB (Xindice) GS GDT GS F GDS2 Southern Hemisph ereIR GS C2 GFTP 37 GDS GDT OGSA-DAI Training Workshop, Release: P2R2 Scenario 1 (synchronous delivery) 4 An analyst wants to perform a SQL query across a dataset with a known name and schema – – – – – – Container starts Analyst Starts Analyst identifies factory that supports required statement type Analyst uses factory to create GDS instance and obtains GSH Analyst maps GSH to GSR using factory Analyst formulates a GDS perform document containing the query – Analyst passes GDS perform document to GDS instance – GDS instance returns data in response – Analyst removes GDS instance 38 OGSA-DAI Training Workshop, Release: P2R2 Scenario 2 (asynchronous delivery) 4 An analyst wants to perform an XPath query across a dataset with a known name and schema – – – – – – – – – – 39 Container starts Analyst Starts Analyst identifies factory that supports required statement type Analyst uses factory to create GDS instance and obtains GSH Analyst maps GSH to GSR using factory Analyst formulates a GDS perform document containing the query and the URL of the consumer Analyst passes GDS perform document to GDS instance GDS instance returns report to analyst GDS instance delivers data to specified consumer Analyst removes GDS instance OGSA-DAI Training Workshop, Release: P2R2 Container Start read WSDD GDSR1 Container create GS create R NSrc GDSF1 GS RDBMS (mySQL) F registerService (GSH, meta data) create Northe rnHemi sphere IR GDSF2 GS F XMLDB (Xindice) Souther Hemisp hereIR registerService (GSH, meta data) 40 OGSA-DAI Training Workshop, Release: P2R2 Data Resources 4In OGSA-DAI represents a data source/sink 4Data Resources are typified by: – Way of communicating with the data resource – Location, i.e. properties about the container managing access to the data source/sink and information about its capabilities – The actual data source/sink – The resource, an instantiation/view/sample obtained from the data source/sink 41 OGSA-DAI Training Workshop, Release: P2R2 Representing Data Resources • Model of abstraction is that of a URI: scheme://user:pass@location[:port]/path/resource Specifies the driver, request languages 42 Specifies DBMS, physical location, authorisation database preor collection defined name request documents OGSA-DAI Training Workshop, Release: P2R2 Example data resources RDBMS XMLDB File Scheme driver/query language driver/query language file system driver Location DBMS DBMS host Path database collection directory Resource SQL Statement Resource/ XPath Query directory/ file 4File systems not supported by OGSA-DAI. – but still consistent with framework 43 OGSA-DAI Training Workshop, Release: P2R2 Data Resources in OGSA-DAI 4An OGSA-DAI Factory is configured with a number of data resources – Done in the factory configuration file – Data resources confined to a static named set defined in the Factory configuration file – In the future hope to make this more dynamic 4A GDS created by a factory – Can only be associated with a data resource known to the factory – Can only be associated with one data resource 44 OGSA-DAI Training Workshop, Release: P2R2 Activities 4Activities are tasks/operations that can be performed by a GDS on a data resource – Clearly data resources can support subset of activities, e.g. cannot run an SQL query on a Xindice database – The Factory identifies the activities supported by the data resources at configuration time – This is done by a file containing all known activities with possible constraints restricting applicability to subsets of data resources 45 OGSA-DAI Training Workshop, Release: P2R2 WSDD Container Config 4 Creates persistent registry 4 Creates persistent factory – Defines configuration files to read in OGSA-DAI Container GDSR GDSF DR1 DR2 DR3 GDSF DR1 DR2 DR3 Activity Map file 46 GDSF Config file GDSR Regist. list DRI Map File OGSA-DAI Training Workshop, Release: P2R2 WSDD Container Config <service name="ogsadai/GridDataServiceFactoryP2R2" provider="Handler" style="wrapped"> <parameter name="ogsadai.gdsf.config.xml.file" value="path/to/GDSFConfig.xml"/> <parameter name="ogsadai.gdsf.registrations.xml.file" value=" path/to/registrationList.xml"/> <parameter name="ogsadai.gdsf.activities.xml.file" value="path/to/activityMap.xml"/> <parameter name="ogsadai.gdsf.dataresource.impl.map.xml.file" value="path/to/dataResourceImplementationMap.xml"/> <parameter name="allowedMethods" value="*"/> <parameter name="className“ value="uk.org.ogsadai.service.gdsf.GridDataServiceFactoryP2R2"/> <parameter name="persistent" value="true"/> <parameter name="activateOnStartup" value="true"/> <parameter name="schemaPath“ value="schema/ogsadai/gdsf/gdsf_service.wsdl"/> <parameter name="instanceSchemaPath“ value="schema/ogsadai/gds/grid_data_service.wsdl"/> <parameter name="handlerClass“ value="org.globus.ogsa.handlers.RPCURIProvider"/> </service> 47 OGSA-DAI Training Workshop, Release: P2R2 Factory Configuration XML 4Defines components that constitute a data resource – – – – Scheme Location Paths Combined above to define data resources 4GDS must be configured to – Named data resource – Future: hope to allow client to specify known components to define own data resources 48 OGSA-DAI Training Workshop, Release: P2R2 Factory Configuration XML Skeleton <gdsf:gridDataServiceFactoryConfig … name="myFactoryConfig"> <gdsf:scheme name="mysql1“> … </gdsf:scheme> <gdsf:location name="myXMLDBMS“> … </gdsf:location> <gdsf:resource name="myExternalResources“> … </gdsf:resource> <gdsf:dataResource name="myDataResource"> <gdsf:scheme-ref>mysql1</gdsf:scheme-ref> <gdsf:path-ref>myDB</gdsf:path-ref> <gdsf:location-ref>myJDBCDBMS</gdsf:location-ref> </gdsf:dataResource> </gdsf:gridDataServiceFactoryConfig> 49 OGSA-DAI Training Workshop, Release: P2R2 Factory Configuration: Scheme <gdsf:scheme name="mysql1"> <gdsf:driver name="jdbc" class="org.gjt.mm.mysql.Driver"> <gdsf:queryLanguage name="SQL" version="SQL92"/> </gdsf:driver> </gdsf:scheme> 50 OGSA-DAI Training Workshop, Release: P2R2 Factory Configuration: Location <gdsf:location name="myJDBCDBMS"> <gdsf:dataManager name="jdbcDBMS" productType="MySQL"/> <gdsf:physicalLocation>localhost:3306</gdsf:physicalLocation> <gdsf:roleMap configuration=“path/to/ExampleDatabaseRoles.xml" class="uk.org.ogsadai.common.rolemap.SimpleFileRoleMapper"/> <gdsf:path name="myDB"> <gdsf:data name="myDatabase"/> </gdsf:path> <gdsf:path name="anotherDB"> <gdsf:data name="otherDatabaseName"/> </gdsf:path> <gdsf:validSchemes> <gdsf:validScheme>mysql1</gdsf:validScheme> </gdsf:validSchemes> </gdsf:location> 51 OGSA-DAI Training Workshop, Release: P2R2 Factory Configuration: Resource <gdsf:resource name="myExternalResources"> <gdsf:externalResource file="/path/to/file/with/resources/"/> <!-- some more documents can be embedded in here --> <!-- any documents defined here and extracted through the externalResource element will be merged --> <!-- any document defined in here takes precedence over the external file --> </gdsf:resource> 52 OGSA-DAI Training Workshop, Release: P2R2 Factory Configuration: dataResource <gdsf:dataResource name="myDataResource"> <gdsf:scheme-ref>mysql1</gdsf:scheme-ref> <gdsf:path-ref>myDB</gdsf:path-ref> <gdsf:location-ref>myJDBCDBMS</gdsf:location-ref> <!-- could put resource references here --> </gdsf:dataResource> 53 OGSA-DAI Training Workshop, Release: P2R2 Factory Registration 4Through meta-data (SDEs) factory exposes – details from the configuration file, i.e. • data resources available • activities supported – Metadata about components (not shown earlier) 4Registration file allows GDSF to register aspects of configuration with a GDSR, e.g. – Data resources – Metadata – Activities supported by GDS instances 54 OGSA-DAI Training Workshop, Release: P2R2 Factory RegistrationList <gdsf:gdsfRegistrationList … > <gdsf:gdsfRegistration name="defaultRegistration“ gsh="http://localhost:8080/ogsa/services/ogsadai/Grid DataServiceRegistry"/> <!-- can have more entries here --> </gdsf:gdsfRegistrationList> Next release will allow XPath expressions between the gdsfRegistration tags to constrain content to be registered with GDSR 55 OGSA-DAI Training Workshop, Release: P2R2 Data Resource Implementations 4 DataResourceImplementation objects encapsulate the data resource, e.g. – Provide connection pooling to databases – allows a single collection of objects to be shared across any number of GDS instances – Future GDS connection capabilities to generate dynamic information capabilities, e.g. obtain the database schema 4 GDSF constructs and populates these objects 4 The DataResourceImplementation mapping file relates each data resource defined in the GDSF configuration file to a Java implementation class 4 Currently have generic objects for – JDBC databases – XML:DB databases (i.e. Xindice) 56 OGSA-DAI Training Workshop, Release: P2R2 DataResourceImplementation Mapping <gdsf:dataResourceImplementations … > <!-- relational --> <gdsf:dataResourceImplementation dataResourceName="myDataResource“ class="uk.org.ogsadai.porttype.gds.dataresource.S impleJDBCDataResourceImplementation"/> <!-- Xindice --> <gdsf:dataResourceImplementation dataResourceName="myXMLDBDataResource“ class="uk.org.ogsadai.porttype.gds.dataresource.X MLDBDataResourceImplementation"/> </gdsf:dataResourceImplementations> 57 OGSA-DAI Training Workshop, Release: P2R2 Data Resource Implementation Mapping gdsf_config.xml Configuration Data Resource Data Resource location location DataResource ImplementationMap DBMS scheme dataResource Name dataResource Name path DB DB path DataResourceImplementaitonMap connection DataResourceImple menation connection connection GDS DataResourceImple mentation GDSF GDS GDS 58 OGSA-DAI Training Workshop, Release: P2R2 Activity Mapping 4The Activity Map file relates each named activity to – a Java implementation class – XML Schema that corresponds to activity 4Maps activities to data resources – By default an activity is associated with any data resource • unless constrained by XPath expressions – Unless you are writing your own activity you should not need to modify this file 59 OGSA-DAI Training Workshop, Release: P2R2 Activity Mapping II gdsf_config.xml Data Resource Data Resource location location DBMS scheme path grid_data_service.wsdl path DB DB Data resource SDE Data resource SDE GDSF activityMap.xml grid_data_service_bindings.wsdl GDS grid_data_service_port_type.wsdl grid_data_service_faults.xml grid_data_service_types.xsd sql_query_statement.xsd Activity schema SDE Activity schema SDE Activity schema SDE ActivityMap + config SQLQueryStatement.class sql_update_statement.xsd ActivityMap + config SQLUpdateStatement.class xpath_statement.xsd ActivityMap + config XPathStatement.class xupdate_statement.xsd ActivityMap + config XUpdateStatement.class … 60 OGSA-DAI Training Workshop, Release: P2R2 Activity Map Example I <gdsf:activityMaps … > <!-- constrained activity --> <gdsf:activityMap name="sqlQueryStatement“ class="uk.org.ogsadai. … .SQLQueryStatementActivity“ schemaFileName="http://localhost:8080/…/sql_query_statement.xsd"> <namespaces> {http://ogsadai.org.uk/P2R2/schemas/gdsf}gdsf </namespaces> <validXPathScheme> //gdsf:queryLanguage[@name="SQL"] </validXPathScheme> <validXPathLocation> //gdsf:dataManager[@productType="MySQL"|@productType="DB"| @productType="Oracle"] </validXPathLocation> </gdsf:activityMap> 61 OGSA-DAI Training Workshop, Release: P2R2 Activity Map Example II <!-- unconstrained activities associated with all data resources --> <activityMap name="deliverFromURL“ class="uk.org.ogsadai. … .DeliveryFromURLActivity“ schemaFileName="http://localhost:8080/…/deliver_from_url.xsd" /> <activityMap name="deliverToURL" class="uk.org.ogsadai. ….DeliveryToToURLActivity“ schemaFileName=" http://localhost:8080/…/ deliver_to_url.xsd" /> </activityMaps> 62 OGSA-DAI Training Workshop, Release: P2R2 Analyst Starts and Identifies Factory GDSR1 GS R NSrc SDE findServiceData(registry query) A1 C1 read Analyst configuration Has GSR of GDSR1 GS GDT NSnk 63 OGSA-DAI Training Workshop, Release: P2R2 Registry Query 4 Query for registered – GridServices – GridDataServices – GridDataServiceFactories 4 XPath queries possible, for example – //path/data[@name=“NorthernHemisphereIR”] 4 Registry must be able to apply this and resolve it to a matching factory instance 4 Factory registers its GSH on startup (if specified in the configuration) 64 OGSA-DAI Training Workshop, Release: P2R2 Analyst Uses Factory Instance To Create GDS Instance GDSF1 RDBMS (mySQL) GS GSH createService (terminationTime, createDocument) F create GDS1 GS Northerm Hemisphe reIR GDS A1 C1 GDT GS GDT NSnk 65 OGSA-DAI Training Workshop, Release: P2R2 GDSF Create Document 4In Release 2 a very simple document identifies the data resource to use 4The data resource name myDataResource must be defined in the GDSF configuration file <gdsf:gridDataServiceFactoryCreate … > <gdsf:dataResourceName> myDataResource </gdsf:dataResourceName> </gdsf:gridDataServiceFactoryCreate> 66 OGSA-DAI Training Workshop, Release: P2R2 GDSF Configures GDS Instance 4GDS is configured using information from the configuration selected by the client: – Data resource name 4Interfaces used to configure GDS are not exposed – They are particular to the implementation of GDSF and GDS 4Client requests actions to be taken by the GDS on the data resource by using a GDS-Perform document 67 OGSA-DAI Training Workshop, Release: P2R2 Analyst maps GDS GSH GDSF1 GS RDBMS (mySQL) F GSH GDS1 DB1 GS GDS A1 C1 GDT GS GDT NSnk 68 OGSA-DAI Training Workshop, Release: P2R2 GDS-Perform document 4GDS Perform document can contain: 4Named request part (contains the activities) AND 4Named execute part asks to execute a named request AND/OR 4Terminate ask to terminate a named execute request 4That is all that is allowed for R2 69 OGSA-DAI Training Workshop, Release: P2R2 Analyst Formulates Query As GDS Perform Document <gridDataServicePerform xmlns="http://ogsadai.org.uk/P2R2/schemas/gds"> <request name="requestsynch"> <documentation> Select with data delivered with the response </documentation> <sqlQueryStatement name="statement"> <dataResource>myDataResource</dataResource> <expression> select description from myimages where id=2 </expression> <webRowSetStream name="statementresult"/> </sqlQueryStatement> <deliverToResponse name="d1"> <fromLocal from="statementresult"/> </deliverToResponse> </request> <execute name="execute1" requestName="requestsynch"/> </gridDataServicePerform> 70 OGSA-DAI Training Workshop, Release: P2R2 GDS Perform Document Schema 4The WSDL for the GDS portType specifies the general schema that the perform method accepts 4The complex type ActivityType forms a base for extension by all activities 4The GDS configuration defines the operations that a GDS will perform 4The GDS will generate the GDS perform document schema on request based on the specified configuration 71 OGSA-DAI Training Workshop, Release: P2R2 Analyst Passes Request to GDS and Retrieves Data From Response RDBMS (mySQL) GDS1 FRED GS GDS A1 C1 GDS perform (performDocument) GDT GS GDT NSnk 72 OGSA-DAI Training Workshop, Release: P2R2 GDS Response Documents 4GDS response document contains: – A named response element referencing a request – For each activity in the request, a result element, referencing the name of the activity, which contains the result data • • • • 73 sqlQueryStatement execute terminate … OGSA-DAI Training Workshop, Release: P2R2 The Data In The Response <gridDataServiceResponse xmlns=""> <response name="requestsynch"> <result name="Engine"> GDS Engine - request &quot;requestsynch&quot; was stored successfully </result> </response> <response name="executerequestsynch"> <result name="statement">COMPLETE</result> <result name="d1"> <data> . . . <!-- result data in WebRowSet format here --> . . . </data> </result> </response> </gridDataServiceResponse> 74 OGSA-DAI Training Workshop, Release: P2R2 Analyst Removes GDS Instance 4This is done either – by the GDS instance itself when the lifetime expires, i.e. • the container removes any Grid services whose lifetimes have expired – directly through the “Destroy” method 75 OGSA-DAI Training Workshop, Release: P2R2 To Date 4 Have assumed that OGSA/OGSI is a good thing – OGSA-DAI – Have adopted the OGSI approach 4 Have first concentrated on data access – Data integration, for example, distributed query, pipelines, comes later 4 Working Closely with GGF DAIS Working Group on Grid Database Service Specification 4 Intentions to be a reference implementation 76 OGSA-DAI Training Workshop, Release: P2R2 The End 77 OGSA-DAI Training Workshop, Release: P2R2