OGSA-DAI Architecture EPCC, University of Edinburgh James Magowan

advertisement
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
"requestsynch" 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
Download