Additional Features of WSRF/GT4 Services

Slides:



Advertisements
Similar presentations
GT4 WS Core Tutorial Sam Meder Jarek Gawor 6/11/04.
Advertisements

7-2.1 Additional Features of WSRF/GT4 Services A brief outline © 2011 B. Wilkinson/Clayton Ferner. Fall 2011 Grid computing course. Modification date:
A2.1 ITCS 4010/5010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson Assignment 2 “Simple” Grid Services Assignment.
Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design.
4d.1 Grid Computing, B. Wilkinson, 2005 Web Service Resource Framework Notes on “sticky note” assignment.
4a.1 Grid Computing Standards ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4a.
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © Chapter 1, pp For educational use only.
Building services in WSRF Ben Clifford Draft For GGF summer school, July 2004.
4c1 GT 4 grid services and their implementation Advanced features: An overview Topics: Resource home Singleton resource Multiple resources Notifications.
4c1 GT 4 Services Advanced features: A very brief overview Topics: Resource home Singleton resource Multiple resources Notifications Lifecycles Copyright.
Grid Computing, B. Wilkinson, 20046c.1 Globus III - Information Services.
Chapter 7: The Object-Oriented Approach to Requirements
1 Modeling Stateful Resources with Web Services ICE Ph.D lecture Byung-sang Kim.
Web Services (tying it all together) and Introduction to Grid Services Concepts These slides are adapted from course material developed by Barry Wilkinson,
GT3 Tutorial Chapter 5, 6, and 7 Lecture for Cluster and Grid Computing, CSCE 490/590 Fall 2004, University of Arkansas, Dr. Amy Apon
Object Oriented Software Development
1 Notes adapted from Barry Wilkinson Grid Computing Course UNCC Web Service Resource Framework Creating Globus 4 services.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
4c.1 Grid Computing, B. Wilkinson, 2005 Web Service Resource Framework Creating Globus 4 services.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
1 Stateful Session Beans Stateless Session Beans Michael Brockway Sajjad Shami Northumbria University School of Computing, Engineering & Information Sciences.
WSRF & WSRF’s Application in VO-DAS Haijun Tian ChinaVO
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
This product includes material developed by the Globus Project ( Exercise 6 Discovery: Find a File.
Chapter 6 Server-side Programming: Java Servlets
The Anatomy of the Grid Introduction The Nature of Grid Architecture Grid Architecture Description Grid Architecture in Practice Relationships with Other.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Grid Services I - Concepts
Topic 1 Object Oriented Programming. 1-2 Objectives To review the concepts and terminology of object-oriented programming To discuss some features of.
Jini Architecture Introduction System Overview An Example.
Web Service Resource Framework WSMO Presentation Jos de Bruijn Digital Enterprise Research Institute http ://
Transaction Processing CS409 Application Services Even Semester 2007.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
Steve Graham WS-ResourceFramework Modeling Stateful Resources With Web services OASIS WSRF TC F2F Wednesday, April 28th, 2004.
© 2004 IBM Corporation WS-ResourceFramework Service Groups Tom Maguire.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
GT3 Index Services Lecture for Cluster and Grid Computing, CSCE 490/590 Fall 2004, University of Arkansas, Dr. Amy Apon.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Database (Microsoft Access). Database A database is an organized collection of related data about a specific topic or purpose. Examples of databases include:
WS-Resource Framework University of Amsterdam
Grid Services for Digital Archive Tao-Sheng Chen Academia Sinica Computing Centre
1 Lecture Material Design Patterns Visitor Client-Server Factory Singleton.
Event Sources and Realtime Actions
Information Retrieval in Practice
Project Management: Messages
Mobile Applications (Android Programming)
.NET Remoting Priyanka Bharatula.
Chapter 1: Introduction
Some Basics of Globus Web Services
Bringing Grid & Web Services Together
Grid Resource Allocation Agreement Protocol Working Group
INFOD-WG Implementation
Viet Tran Institute of Informatics Slovakia
OGSA Data Architecture Scenarios
GoF Design Patterns (Ch. 26). GoF Design Patterns Adapter Factory Singleton Strategy Composite Façade Observer (Publish-Subscribe)
Chapter 2: Database System Concepts and Architecture
Chapter 27 WWW and HTTP.
Chapter 6 – Architectural Design
GoF Design Patterns (Ch. 26)
RELATIONAL GRID MONITORING ARCHITECHTURE
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Distributed System using Web Services
Chapter 1: Introduction
Grid Computing Software Interface
Chengyu Sun California State University, Los Angeles
SDMX IT Tools SDMX Registry
Presentation transcript:

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. 213-218. For educational use only. All rights reserved. Sept 14, 2009 7-2.1 1

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

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

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

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

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

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

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

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

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

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

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

Separately service, resource and resource home files 7-2.13

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Automatic notifications Fig 7.8 7-2.29

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

Information services WebMDS Index service Trigger service

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

(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

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

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

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

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>

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

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: https://torvalds.cis.uncw.edu/wsrf/ services/DefaultIndexService 7-2.39

Fig 7.12 7-2.40

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

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

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

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: http://www.w3.org/TR/xpath 7-2.44

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 Email 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

WebMDS Web-based interface to display resource property information. Front-end to index services. Sample: http://mds.globus.org:8080/webmds/ webmds?info=indexinfo&xsl=servicegroupxsl

More Information Book Globus Toolkit 4 Programming Java Services Borja Sotomayor and Lisa Childer Morgan Kaufmann, 2006. On-line GT4 services: http://gdp.globus.org/gt4-tutorial/ 7-2.47

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

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

Questions 7-2.50