Presentation is loading. Please wait.

Presentation is loading. Please wait.

Additional Features of WSRF/GT4 Services

Similar presentations


Presentation on theme: "Additional Features of WSRF/GT4 Services"— Presentation transcript:

1 Additional Features of WSRF/GT4 Services
A brief outline Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © 2009. Chapter 7, pp For educational use only. All rights reserved. Sept 14, 2009 7-2.1 1

2 Stateful GT 4 Grid Services Review
“Pure” Web services are stateless. Stateful web services required for Grid computing. WSRF provides stateful web services by having a Web service as a front-end to a stateful “resource.” 7-2.2 2

3 GT 4 services Key aspect is separation of (Web) service and a resource – conceptually if not actually. Provides ability to have “state” without altering the statelessness of Web service. 7-2.3

4 Web Service Resource Framework
(WSRF)‏ Resource Web Service Resource properties Holds information retained between accesses. Client 7-2.4

5 Resource properties Name given to data items in the resource
Can consist of: Data values about current state of service (results of calculations etc.)‏ Metadata: Information about data Information about whole resource: Termination time, etc. 7-2.5

6 Combined Service Code and Resource
Simplest arrangement is to have both the service code and resource code were held in a single file. Ideally, we would like to have multiple resources for a Web service Having one file not the preferred way except for simple service examples. 7-2.6

7 Separate Resource More generally, resource is a (stateful) class.
End Point Reference (EPR) is an XML document that has URL of service and possibly a resource identification (key)‏ Classes provided for different arrangements: ReflectionResourceProperty class can be used when service code and resource in one file. 7-2.7

8 Resource Home Resources are managed by Resource Home's
Provides resource management functions for adding resources for removing resources 7-2.8

9 Resource Home Resource home Web Service Client
create/ find resource Web Service Client Manages Client only interacts with stateless web service Methods operate on resources properties Resource 7-2.9

10 Service and resource code
Resource home create/ find resource Web Service Client Manages void add(int a)‏ void subtract (int a)‏ Resource int value String lastOP add() and subtract() methods operate on resource properties 7-2.10

11 Resource Home Resource home Web Service Client Resource
If service and resource in one file, resource limited to one resource using a Globus supplied resource home called ServiceResourceHome 7-2.11

12 Service and resource code
Resource home “ServiceResourceHome” Web Service create/ find resource void add(int a)‏ void subtract (int a)‏ Client ServiceResourceHome returns service object Resource int value String lastOP add() and subtract() methods operate on resource properties 7-2.12

13 Separately service, resource and resource home files
7-2.13

14 Separate Service, Resource & Resource Home files Singleton Resources (Single resource)‏
Web Service Client void add(int a)‏ void subtract (int a)‏ int value String lastOP Resource Three files: the service, the resource home, and the resource. 7-2.14

15 Multiple Resources Suppose there are multiple resources that a service might interact with: Resources Web Service Client 7-2.15

16 Creating Resources WS-Resource Factory Pattern
Traditional object-oriented approach to creating resources is to use a “factory” service: Factory service responsible for creating instances of resources. Each resource assigned a unique “key”, which together with service URI identifies WS-resource pair. (Endpoint Reference)‏ 7-2.16

17 Request operation on resource
WS-Resource Factory Pattern Factory service Resources Request resource creation Return WS-Resource EPR Create Request operation on resource Perform operation Client “Instance” Service 7-2.17

18 Relationship with Resource Home
Factory Service Use Resource Home to create resource Request resource creation Resource Home Find resource Service instance Client Manages Request operation Resource Methods operate on resources properties 7-2.18

19 endpointReference createResource()‏
Factory service Create Resource operation endpointReference createResource()‏ Returns an EPR to the newly created WS- Resource. “Fully qualified” EPR to include URI of service and key of resource Client needs to know location of factory service. 7-2.19

20 Question Q: Why would one want to have multiple resources for a Web service? 7-2.20

21 Lifecycle Management Lifecycle mechanisms available in WSRF.
GT4 provides mechanisms to specify when a resource is automatically destroyed. Immediately by invoking destroy operation through a Web service Scheduled some time in the future Leased-based lifecycle management 7-2.21

22 globus-wsrf-destroy -e EPR1234.epr math.destroy(new Destroy());
Immediate Destruction Command line: globus-wsrf-destroy -e EPR1234.epr Destruction can be requested through a Web service by a client: math.destroy(new Destroy()); Notice - factory responsible for creating resource, but service instance destroys it. File containing EPR of resource 7-2.22

23 wsrf-set-termination-time wsrf-set-termination-time -e EPR1234.epr 100
Scheduled Termination Time Termination time exposed as a resource property. Can be set with GT4 command: wsrf-set-termination-time Example wsrf-set-termination-time -e EPR1234.epr 100 File containing EPR of resource Termination time in seconds 7-2.23

24 Question Q: Why would one want to have a termination time set for a resource? 7-2.24

25 Lease-based Lifetime In lease-based model, resources must be kept alive by interested parties, otherwise resource dies. A lifetime for a service is set after which the service is destroyed. Interested parties (clients) must renew the lease (reset the termination time) or it will be destroyed. Clean up without having to use a destroy operation explicitly. 7-2.25

26 Notifications Notifying clients when something interesting happens.
Example might be when a resource property reaches a certain value Could use polling but this is very inefficient. WS-notification defines mechanisms. 7-2.26

27 Resource property changes
Examples: Changes to resource property values. Methods added Methods removed Resources destroyed 7-2.27

28 Subscribe for notifications
Need client to “subscribe” to receive notifications. Subscriptions are for a particular topic. Resource implemented with GT 4 classes that provide for automatic notifications whenever property changes. 7-2.28

29 Automatic notifications
Fig 7.8 7-2.29

30 GT 4 Information Services Monitoring and Discovery Services (MDS)
Principal components: Index service Trigger service WebMDS

31 Information services WebMDS Index service Trigger service

32 Globus core does not include information services such as index services. When installed, would see it in list of services, e.g.: Index service Trigger service Fig 7.9

33 (resources with resource properties)‏
Index Service GT 4 provided with an index service that can maintain a list of available resources. Container Index service (resources with resource properties)‏ 7-2.33

34 Index service Note -- index service does not act as a local service registry listing the services — it act as a registry for the resources. Fig 7.10 7-2.34

35 “add” method of ResourceHome used to create resource.
Override method to include registering resource with index service.

36 Querying Index Service wsrf-query
Browse index service with the GT4 command: wsrf-query which will list resource properties in an XML format. 7-2.36

37 Example wsrf-query –s http://localhost:8080/wsrf/services/
DefaultIndexService '/*' which will list resource properties in an XML format. Result might be: <ns1:MyServiceResourceProperties xmlns:ns1= “...”> <ns1:data>234</ns1:data> </ns1:MyServiceResourceProperties>

38 An index service can be browsed with the GT4 command such as:
wsrf-query –s \ '/*' which will list all the resource properties and their values in an XML format, where index service located at XPath expressions can be used to select specific resource properties.

39 https://torvalds.cis.uncw.edu/wsrf/ services/DefaultIndexService
“Community” Index Service A remote index service that holds all the index services of the “virtual organization.” For example a community index service might be at: services/DefaultIndexService 7-2.39

40 Fig 7.12 7-2.40

41 Community index service
Student 1 Index entry Student 2 Index entry Local Index service Local Index service Resources Resources Service Client Client Service Student 1 container Student 2 container Only container and GT 4 core needed at each site to handle services. 7-2.41

42 Querying Community Index Service
Have Community Index Service running. Use wsrf-query command: $GLOBUS_LOCATION/bin/wsrf-query -s ices/DefaultIndexService '/*' Should see contents of all local index services. 7-2.42

43 Resource Discovery The local and community index services can be searched for a particular resource property. Since Resources properties are XML, can use “XPath” queries for searching and retrieval. 7-2.43

44 XML Path Language (XPath)‏
W3C recommendation, 1999 A query language for search XML documents. Queries formed by identifying a route to the desired data. For details: 7-2.44

45 MDS4 Trigger Service Subscribes to a set of resource properties
Evaluate that data against a set of pre- configured conditions (triggers) When a condition matches, action occurs is sent to pre-defined address Website updated From: Monitoring and Discovery in a Web Services Framework: Functionality and Performance of Globus Toolkit MDS4 Jennifer M. Schopf, Sept 11, 2006

46 WebMDS Web-based interface to display resource property information. Front-end to index services. Sample: webmds?info=indexinfo&xsl=servicegroupxsl

47 More Information Book Globus Toolkit 4 Programming Java Services
Borja Sotomayor and Lisa Childer Morgan Kaufmann, 2006. On-line GT4 services: 7-2.47

48 What is a (WS) notification in Grid services?
(a) A mechanism of the GGF committee to inform the community of changes to the (WS) standard (b) A mechanism for client to inform a Grid service of its existence (c) A mechanism to inform a client of changes in the service or resource (d) A final demand to pay your taxes Fig 7-4 7-2.48

49 What is the purpose of the Globus index service?
(a) To hold index variables for arrays (b) To operate on an array of functions (c) To maintain a list of available services (d) To maintain a list of available resources Fig 7-11 7-2.49

50 Questions 7-2.50


Download ppt "Additional Features of WSRF/GT4 Services"

Similar presentations


Ads by Google