Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI...
Transcript of Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI...
![Page 1: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/1.jpg)
Designing Grid Services in GT4
iGrid 2005
Carl Kesselman
Rob Schuler
USC Information Sciences Institute
![Page 2: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/2.jpg)
Overview
WSRF: Concepts and Motivation
GT4 WS Core: Introduction
Example: Based on Data Rep. ServiceMotivation & Requirements
Service Composition
Service Interaction
Specification & Implementation
![Page 3: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/3.jpg)
WSRF: Concepts and Motivation
![Page 4: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/4.jpg)
“Stateless” vs. “Stateful” Service
Without state, how does client:Determine what happened (success/failure)?Find out how many files completed?Receive updates when interesting events arise?Terminate a request?
Few useful services are truly “stateless”, but WS interfaces alone do not provide built-in support for state
ClientFileTransferService
move (A to B)move
![Page 5: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/5.jpg)
FileTransferService (w/out WSRF)
Developer reinvents wheel for each service developed:Custom management and identification of state: transferID
Custom operations to inspect state synchronously (whatHappened) and asynchronously (tellMeWhen)
Custom lifetime operation (cancel)
ClientFileTransferService
move (A to B) : transferIDmove
statewhatHappened
tellMeWhen
cancel
![Page 6: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/6.jpg)
WSRF in a NutshellServiceState Management:
ResourceResource Property
State Identification:Endpoint Reference
State Interfaces:GetRP, QueryRPs, GetMultipleRPs, SetRP
Lifetime Interfaces:SetTerminationTimeImmediateDestruction
Notification InterfacesSubscribeNotify
ServiceGroups
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
![Page 7: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/7.jpg)
FileTransferService (w/ WSRF)
Developer specifies custom method to createResourceand leaves the rest to WSRF standards:
State exposed as Resource + Resource Properties and identified by Endpoint Reference (EPR)State inspected by standard interfaces (GetRP, QueryRPs)Lifetime management by standard interfaces (Destroy)
ClientFileTransferService
createResource (A to B) : EPRcreateResource
RPs
Transfer getRP
queryRPs
destroy
![Page 8: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/8.jpg)
GT4 WS Core: Introduction
![Page 9: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/9.jpg)
Tool for developing
WSRF services
![Page 10: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/10.jpg)
GT4 WS Core in a Nutshell
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
Reference implementation of WS-RF: Resources, EndpointReferences, ResourceProperties
Operation Providers: pre-built implementations of WS-RF
operations
Notification implementation: Topics, TopicSet, Embedded
Notification Consumer service
Implementations of Resources (ReflectionResource,
PersistentReflectionResource) and ResourceProperties
(SimpleResourceProperty, ReflectionResourceProperty)
![Page 11: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/11.jpg)
GT4 WS Core in a Nutshell
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
ResourceHome: The home “owns” the Resource
instances in the service
SingletonResourceHome: manages single instance
of Resource
ServiceResourceHome: for services that support
a single Resource instance
ResourceHomeImpl: manages multiple Resource instances. Supports resources with in-memory state and resources with persistent (on disk) state
![Page 12: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/12.jpg)
Service Container
GT4 WS Core in a Nutshell
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
Service Container: host multiple services in container; one JVM
process
…more details: based on AXIS service
container, processes SOAP messages, ResourceContext
extension.
![Page 13: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/13.jpg)
Service Container
GT4 WS Core in a Nutshell
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
Secure Communication: Transport, Message,
Conversation (Transport demonstrates best
performance)
PIP
PDP
Configurable Security Policies: Policy Information
Points (PIPs), Policy Decision Points (PDP) -- chained
Example authorization PDPs: GridMap, SAML
implementations
![Page 14: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/14.jpg)
Service Container
GT4 WS Core in a Nutshell
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
PIP
PDP
WorkManager DB Conn Pool JNDI Directory
WorkManager: “thread pool”, site independent
“work” manager
Apache Database Connection Pool library
(JDBC “DataSource”implementation)
JNDI Directory: manages internal, shared objects
(ResourceHomes, WorkManager,
Configuration objects,…)
![Page 15: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/15.jpg)
Apache Tomcat
Service Container
GT4 WS Core in a Nutshell
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
PIP
PDP
WorkManager DB Conn Pool JNDI Directory
Deploy Service Container “standalone”
or within Apache Tomcat
![Page 16: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/16.jpg)
Example:Motivation & Requirements
![Page 17: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/17.jpg)
The Data Replication Service
Included in the Tech Preview of GT4.0 release
Design is based on the publication component of the Lightweight Data Replicator system
Developed by Scott Koranda from U. Wisconsin at Milwaukee
FunctionalityReplicate a set of files in the Grid on a local siteUsers identify a set of desired filesDRS queries Replica Location Service to discover current locations of these filesCreates local replicas of desired files using the Reliable File Transfer Service Registers new replicas in Replica Location Service for discovery
![Page 18: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/18.jpg)
Motivation for DRS
Need for higher-level data management services that integrate lower-level Grid functionality
Efficient data transfer (GridFTP, RFT)
Replica registration and discovery (RLS)
Eventually validation of replicas, etc.
Goal is to generalize the custom data management systems developed by several application communities
Eventually plan to provide a suite of general, configurable, higher-level data management services
DRS is the first of these services
![Page 19: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/19.jpg)
Relationship to Other Globus Services
At requesting site, deploy:
WS-RF ServicesData Replication Service
Delegation Service
Reliable File Transfer Service
Pre WS-RF ComponentsReplica Location Service (Local Replica Catalog and Replica Location Index)
GridFTP Server
Web Service Container
Data Replication
ServiceReplicator Resource
Reliable File
Transfer Service
RFT Resource
Local Replica Catalog
Replica Location
Index
GridFTP Server
Delegation Service
Delegated Credential
Local Site
![Page 20: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/20.jpg)
Example:Service Composition
![Page 21: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/21.jpg)
Service Composition Overview
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
Service Container
MDS
WSRF Services:•Data Replication•Reliable File Transfer•Information Services•Delegation Pre-WS Services:
•Replica Index•Replica Catalog•GridFTP Server
![Page 22: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/22.jpg)
Service Container
Data Replication Service
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
ReplicatorRP
Data Replication:Coordinates replication by discovery, transfer, registration of replicas
Replicator Resource: Represents state of replication request. Detailed state info for per-replica status
Resource Properties:•Status•Stage•Result•Error Msg•Count
![Page 23: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/23.jpg)
Service Container
Reliable File Transfer Service
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
TransferRP
Reliable File Transfer:Coordinates transfer of files using GridFTPservers.
Transfer Resource: Represents state of transfer request. Detailed state info for per-file-transfer status
Resource Properties:•RequestStatus•OverallStatus•TotalBytes•TotalTime
![Page 24: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/24.jpg)
Service Container
Delegation Service
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
Delegation:Manages delegated credentials from client/user.
Credential: Represents the user’s delegated credential as a statefulentity.
Resource Properties:•None excepts standard lifetime RPs(CurrentTime, TerminationTime)
![Page 25: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/25.jpg)
Service Container
Information Services (MDS)
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDSIndexRP
MDS Information Services:Collects information from other Resources, may trigger events based on conditions.
Index: an index of monitored resources.Trigger: an event / stimulus trigger (not pictured)
Resource Properties:•ResourceCount•Entry: EPR + data from other Resources
![Page 26: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/26.jpg)
Service Container
Pre-WS Services
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
Replica Index: Index of replica
information across catalogs
Replica Catalog: Catalog of replica information, per-
SE
GridFTP Server: Transfer service
based on GridFTPprotocol
![Page 27: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/27.jpg)
Example:Service Interaction
![Page 28: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/28.jpg)
Service Container
Create Delegated Credential
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
proxy
•Initialize user proxy cert.
•Create delegated credential resource•Set termination time
•Credential EPR returnedEPR
![Page 29: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/29.jpg)
Service Container
Create Replicator Resource
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
•Create Replicator resource•Pass delegated credential EPR•Set termination time
•Replicator EPR returned
EPRReplicator
RP
•Access delegated credential resource
![Page 30: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/30.jpg)
Service Container
Monitor Replicator Resource
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
ReplicatorRP
•Periodically polls Replicator RP via GetRP or GetMultRP
•Add Replicator resource to MDS Information service Index
IndexRP
•Subscribe to ResourcePropertychanges for “Status”RP and “Stage” RP
•Conditions may trigger alerts or other actions (Trigger service not pictured)
EPR
![Page 31: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/31.jpg)
Service Container
Query Replica Information
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
ReplicatorRP
IndexRP
•Notification of “Stage” RP value changed to “discover”
•Replicator queries RLS Replica Index to find catalogs that contain desired replica information
•Replicator queries RLS Replica Catalog(s) to retrieve mappings from logical name to target name (URL)
![Page 32: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/32.jpg)
Service Container
Transfer Data
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
ReplicatorRP
IndexRP
•Notification of “Stage” RP value changed to “transfer”
•Create Transfer resource•Pass credential EPR•Set Termination Time•Transfer resource EPR returned
TransferRP
EPREPR
•Access delegated credential resource
•Setup GridFTP Server transfer of file(s)
•Data transfer between GridFTP Server sites
•Periodically poll “ResultStatus” RP via GetRP•When “Done”, get state information for each file transfer
![Page 33: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/33.jpg)
Service Container
Register Replica Information
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
ReplicatorRP
IndexRP
•Notification of “Stage” RP value changed to “register”
•RLS Replica Catalog sends update of new replica mappings to the Replica Index
TransferRP
•Replicator registers new file mappings in RLS Replica Catalog
![Page 34: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/34.jpg)
Service Container
Client Inspection of State
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
ReplicatorRP
IndexRP
•Notification of “Status” RP value changed to “Finished” Transfer
RP
•Client inspects Replicator state information for each replication in the request
![Page 35: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/35.jpg)
Service Container
Resource Termination
Client
Delegation
Data Rep.
RFTReplicaIndex
ReplicaCatalog
GridFTPServer
GridFTPServer
ReplicaCatalog
ReplicaCatalog Replica
Catalog
MDS
CredentialRP
ReplicatorRP
IndexRP
•Termination time (set by client) expires eventually
TransferRP
•Resources destroyed (Credential, Transfer, Replicator)
TIME
![Page 36: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/36.jpg)
Example:Design and Implementation
![Page 37: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/37.jpg)
DRS: WSDL (PortType)<?xml version=“1.0” encoding=“utf-8”?><wsdl:definitions name=“Replication” …>
…
<wsdl:portType name=“ReplicatorPortType”wsrp:ResourceProperties=“ReplicatorResourceProperties”>
<wsdl:operation name=“createReplicator”> …<wsdl:operation name=“start” …<wsdl:operation name=“stop”> …<wsdl:operation name=“suspend”> …<wsdl:operation name=“resume”> …<wsdl:operation name=“findItems”> …<wsdl:operation name=“SetTerminationTime”><wsdl:operation name=“Destroy”> …<wsdl:operation name=“QueryResourceProperties”> …<wsdl:operation name=“GetMultipleResourceProperties”> …<wsdl:operation name=“GetResourceProperty”> …<wsdl:operation name=“Subscribe”> …<wsdl:operation name=“GetCurrentMessage”> …
</wsdl:portType>
</wsdl:definitions>
![Page 38: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/38.jpg)
DRS: WSDL (RPs)<?xml version=“1.0” encoding=“utf-8”?><wsdl:definitions name=“Replication” …>
…
<wsdl:portType name=“ReplicatorPortType”wsrp:ResourceProperties=“ReplicatorResourceProperties”>
<wsdl:operation name=“createReplicator”> …<wsdl:operation name=“start” …<wsdl:operation name=“stop”> …<wsdl:operation name=“suspend”> …<wsdl:operation name=“resume”> …<wsdl:operation name=“findItems”> …<wsdl:operation name=“SetTerminationTime”><wsdl:operation name=“Destroy”> …<wsdl:operation name=“QueryResourceProperties”> …<wsdl:operation name=“GetMultipleResourceProperties”> …<wsdl:operation name=“GetResourceProperty”> …<wsdl:operation name=“Subscribe”> …<wsdl:operation name=“GetCurrentMessage”> …
</wsdl:portType>
</wsdl:definitions>
<xsd:element name="ReplicatorResourceProperties“>…
<xsd:element name=“status” …/><xsd:element name=“stage” …/><xsd:element name=“result” …/><xsd:element name=“errorMessage” …/><xsd:element name=“count” …/><xsd:element name=“Topic” …/><xsd:element name=“TopicExprDialect” …/><xsd:element name=“TeminationTime” …/><xsd:element name=“CurrentTime” …/><xsd:element name=“FixedTopicSet” …/>
…</xsd:element>
![Page 39: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/39.jpg)
DRS: Stubs
PortType Messages Types
![Page 40: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/40.jpg)
DRS: Service
+createReplicator()+otherCustomOps()
ReplicationServiceImpl
+getRP()GetRPProvider
+getMultipleRPs()GetMultipleRPsProvider
+queryRPs()QueryRPsProvider
+destroy()DestroyProvider
+setTerminationTime()SetTerminationTimeProvider
+subscribe()SubscriptionProvider
ServiceImplementation
+create()ReplicatorHome
+find()ResourceHomeImpl
+getTopicSet()+remove()+create()+otherCustomMethods()
ReplicatorResource
ReflectionResource
SimpleRPSet
RemoveCallback
TopicListAccessor
SimpleTopicSet
DiscoverWork
TransferWork
RegisterWork
ResourceImplementation
BackendImplementation
WS Core
DRS
![Page 41: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/41.jpg)
DRS: Collaboration
DRS
Client
ReplicationRequest
2: createReplica
tionResource
4: epr
ReplicationResource
3: create
*: update
RLS
TransferRequest
7: create
RFT
TransferResource
9: create*: update
GridFTP
5: subscr
ibe
*: notify
![Page 42: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/42.jpg)
DRS: Deployment
![Page 43: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/43.jpg)
Development and Deployment Process
1. Define Interface (WSDL, XSD)2. WSDLPP (adds standard operations)3. Generate Stubs4. Develop service, resource, custom logic5. Describe deployment (WSDD)6. Configure JNDI properties7. Build and Package as GAR8. Deploy to Service Container
DefineInterface(WSDL)
Insert Std.Operations(WSDLPP)
GenerateStubs
DevelopService,
Resource, etc.
DescribeDeployment
(WSDD)
Configure(JNDI Props)
Build &Package
(GAR)
Deploy toService
Container
![Page 44: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/44.jpg)
Summary
Services are typically stateful
WS standards alone do not provide support for stateful entities
WS-RF provides standards for management, identification, lifetime and inspection/manipulation of stateful entities
WS Core provides a fairly rich environment for developing stateful services
![Page 45: Designing Grid Services in GT4 - STAR TAP · 2014. 9. 9. · WorkManager DB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database](https://reader033.fdocuments.us/reader033/viewer/2022060920/60ac96a30c0d8b47af2a2ec8/html5/thumbnails/45.jpg)
Acknowledgements
Thanks to Ann Chervenak (USC-ISI) for materials taken from “The DRS”presentation and for review of these slides.