Web Service Resource Framework (WSRF)

Slides:



Advertisements
Similar presentations
Bringing Grid & Web Services Together
Advertisements

WS-Resource Framework: Globus Alliance Perspectives Ian Foster Argonne National Laboratory University of Chicago Globus Alliance
GT4 WS Core Tutorial Sam Meder Jarek Gawor 6/11/04.
OGSI Evolution: WS-Resource Framework and WS-Notification Carl Kesselman Globus USC/ISI
An Introduction to Web Services Sriram Krishnan, Ph.D.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Web Service Resource Framework (WSRF) Alexander Wöhrer und Peter Brezany
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
WS-Resource Framework Adam Belloum Computer Architecture & Parallel Systems group University of Amsterdam
Intelligent Grid Solutions 1 / 18 Convergence of Grid and Web technologies Alexander Wöhrer und Peter Brezany Institute for Software.
7-2.1 Additional Features of WSRF/GT4 Services A brief outline © 2011 B. Wilkinson/Clayton Ferner. Fall 2011 Grid computing course. Modification date:
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Building Services in WSRF Ben Clifford GGF Summer School July 2004.
4a.1 Grid Computing Standards ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4a.
Building services in WSRF Ben Clifford Draft For GGF summer school, July 2004.
Globus OGSI Grid Service. Grid Computing Definition The Grid: Blueprint for a New Computing Infrastructure –A computational grid is a hardware and software.
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
OGSA : Open Grid Services Architecture Ramya Rajagopalan
1 Modeling Stateful Resources with Web Services ICE Ph.D lecture Byung-sang Kim.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
4c.1 Grid Computing, B. Wilkinson, 2005 Web Service Resource Framework Creating Globus 4 services.
WSRF & WSRF’s Application in VO-DAS Haijun Tian ChinaVO
Web Services Description Language CS409 Application Services Even Semester 2007.
WS-RF TCMay 2005 F2F 1 WS-RF Technical Committee May 2005 Face-to-face Agenda.
Web Services Management Framework by Umut Bultan & Gül Hünerkar.
The Anatomy of the Grid Introduction The Nature of Grid Architecture Grid Architecture Description Grid Architecture in Practice Relationships with Other.
OGSA Hauptseminar: Data Grid Thema 2: Open Grid Service Architecture
GSFL: A Workflow Framework for Grid Services Sriram Krishnan Patrick Wagstrom Gregor von Laszewski.
Grid Services I - Concepts
Transition and Evolution Moving to Grid Services.
Prof S.Ramachandram Dept of CSE,UCE Osmania University
Web Service Resource Framework WSMO Presentation Jos de Bruijn Digital Enterprise Research Institute http ://
Enabling Grids for E-sciencE PPARC Summer School, May 2005 Web Services Resource Framework– WSRF Richard Hopkins National e-Science Centre,
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 Technical Overview OASIS Tutorial Sunday, April 26th, 2004.
1 Service oriented computing Gergely Sipos, Péter Kacsuk
Steve Graham WS-Notification Technical Overview OASIS WS-Notification TC F2F Thursday, April 29th, 2004.
Steve Graham WS-ResourceFramework Modeling Stateful Resources With Web services OASIS WSRF TC F2F Wednesday, April 28th, 2004.
OGSA. Introduction Built next generation of service Based on web service technology 3 main areas: – Manage creation, destruction & lifecycle management.
WP3 OGSA Notification and RGMA Datagrid meeting 13/5/2003.
© 2004 IBM Corporation WS-ResourceFramework Service Groups Tom Maguire.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
WP3 Implementing R-GMA grid services in GT3 Abdeslem Djaoui & WP3 Grid Services Task Force 7 th EU Datagrid meeting 26/09/2003
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
© 2005 Global Grid Forum The information contained herein is subject to change without notice Leading the pervasive adoption of grid computing for research.
WS-Resource Framework University of Amsterdam
Peter Niblett WS-Notification and WS-RF OASIS WS-RF and WS-Notification TC F2Fs July 2004.
This product includes material developed by the Globus Project ( WSDL Extensions Grid Service Description Language.
From last time Grid computing concept started in mid-90’s
WS-Agreement Overview for OGSA
OGSA Session #1 Execution Management Services
OGSA Evolving Jeff Nick IBM Fellow, VP On Demand Architecture.
Sabri Kızanlık Ural Emekçi
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
WS-Agreement Port Types and Operations 03/2004
Some Basics of Globus Web Services
Bringing Grid & Web Services Together
Grid Resource Allocation Agreement Protocol Working Group
Web Service Resource Framework Creating Globus 4 services
WS-Resource Framework: Globus Alliance Perspectives
Grid Services B.Ramamurthy 12/28/2018 B.Ramamurthy.
Service Oriented Architecture (SOA)
Distributed System using Web Services
The Anatomy and The Physiology of the Grid
The Anatomy and The Physiology of the Grid
Distributed System using Web Services
Additional Features of WSRF/GT4 Services
Presentation transcript:

Web Service Resource Framework (WSRF) Alexander Wöhrer und Peter Brezany woehrer@par.univie.ac.at www.par.univie.ac.at/~woehrer

Agenda OGSA Overview Introduction to WSRF WSRF Concepts in Detail Exkurs: State and Services Introduction to WSRF What it is, why it was developed Relations to OGSI, OGSA Definitions WSRF Concepts in Detail how WS-Addressing is used have a closer look on the specs Globus WSRF Preview Example Service Conclusion

OGSA I Open Grid Service Architecture everything is represented as a service services may be aggregated in various ways to meet the needs of Virtual Org. defines what is a Grid Service definition of standard service interfaces identification of the protocol(s)

OGSA II Grid service: The interfaces address The conventions address a Web service that provides a set of well-defined interfaces + follows specific conventions The interfaces address discovery dynamic service creation lifetime management notification manageability The conventions address naming upgradeability

OGSA III Grid services can maintain internal state for the lifetime of the service can be created and destroyed dynamically (via a Factory) have a globally unique name, the Grid service handle (GSH) each instance has a set of service data elements (a collection of XML elements)

State and Services I possible associations: A stateless service implements message exchanges with no access or use of information not contained in the input message. Example is a service that compresses and decompresses documents. A conversational service implements a series of operations such that the result of one operation depends on a prior operation and/or prepares for a subsequent operation. The service uses each message in a logical stream of messages to determine the processing behavior of the service. Example: many interactive websites

State and Services II A service that acts upon stateful resources provides access to, or manipulates a set of logical stateful resources based on messages it sends and receives (WSRF) dynamic state needed for a given message-exchange execution must be: provided explicitly within the request message maintained implicitly within other system components with which the Web service can interact

State and Services III Webservice: stateless, persistent Grid-Service: stateful, can be transient

OGSA in the big picture

OGSA Service Invocation Example in Detail

Introduction to WSRF Questions so far? Introduction to WSRF What it is, why it was developed Relations to OGSI, OGSA Definitions

What it is? announced at GlobusWorld 04 by the Globus Alliance, IBM and HP WSRF is a set of five Web services specifications to model and manage state in a Web services context ResourceLifetime ResourceProperties BaseFaults RenewableReferences ServiceGroup ... which together with the Notification Spec retain all of the essential functional capabilities present in OGSI

Why it was developed? WSRF effectively completes the convergence of the Web service and Grid computing communities

Why it was developed? Criticisms of OGSI from the Web services community: Too much stuff in one spec => functionality partitioned into a family of composable specifications Does not work well with existing Web services tooling => WSRF tones down the usage of XML Schema Too object oriented: OGSI v1.0 models a stateful resource as a Web service that encapsulates the resource’s state, with the identity and lifecycle of the service and resource state coupled => WSRF makes an explicit distinction between the “service” and the stateful entities acted upon by that service

Relation from WSRF to ... OGSA: WSRF mechanisms will enable OGSA OGSI: WSRF restates OGSI concepts in WS terms OGSI WSRF Grid Service Reference (GSR) WS-Addressing Endpoint Reference Grid Service Handle (GSH) HandleResolver portType WS-RenewableReferences Service data elements (SDE) WS-ResourceProperties GridService lifetime managementt WS-ResourceLifeCycle Notification portTypes WS-Notification Factory portType Treated as a pattern ServiceGroup portTypes WS-ServiceGroup Base fault type WS-BaseFaults

Definitions in WSRF WS-Resource = Web Service + stateful resource which is used in the execution of message exchanges Stateful resource: Specific set of state data expressible as XML doc Well defined lifecycle Known to and acted upon by one or more web services Implied resource pattern = specific kind of relationship between web service and stateful resource Stateful resource implicit input for the execution of the message request (static or dynamic) Pattern means that relationship is codified by a set of conventions – in particular XML, WSDL and WS-Addressing

WSRF in detail WSRF Concepts in Detail how WS-Addressing is used have a closer look on the specs

Usage of WS-Adressing I Service Requestor <wsa:EndpointReference> <wsa:Address> http://someOrg.com/aWebService </wsa:Address> <wsa:ReferenceProperties> <tns:resourceID> C </tns:resourceID> </wsa:ReferenceProperties> </wsa:EndpointReference> response Let us assume that the processing of the request resulted in the creation of the stateful resource “C.” We say that the Web service represents an explicit WS-Resource factory. It is a WS-Resource factory because the response message contains the endpoint reference of a WS-Resource which has been composed from the newly created stateful resource and its associated Web service. The stateful resource identifier must be unique within the scope of the Web service!!!! request WS C B A

Usage of WS-Adressing II Service Requestor C <soap:Envelope> <soap:Header> <tns:resourceID> C </tns:resourceID> </soap:Header> <soap:Body> … some message </soap:Body> </soap:Envelope> message ReferenceProperties component of a WS-Addressing message are processed in a binding-specific way. The WS-Addressing specification mandates that the endpoint reference must appear as part of any message sent to the Web service identified by the endpoint reference. Each type of WSDL binding must declare how child elements of the ReferenceProperties element must appear in messages using that binding. E.g. for SOAP must appear as SOAP header elements in the message WS C B A

Resource-Lifecycle I Creation of a WS-Resource: The lifecycle of a WS-Resource is defined as the period between its instantiation and its destruction. Creation of a WS-Resource: trough any Web service capable of bringing one or more WS-Resources into existence response message typically contains at least one endpoint reference that refers to the new WS- Resource or places it into a registry for later retrival a message exchange is only considered a WS- Resource factory operation if it results in the actual creation of the WS-Resource referred to in the returned WSResource-qualified endpoint reference

Resource-Lifecycle II immediate destruction request message: <wsrl:DestroyRequest /> response message: <wsrl:DestroyResponse /> scheduled destruction mechanisms uses properties of the WS-Resource to query current time Determine current termination time

Resource Lifecycle III Setting initial termination Time via special XML element in the creation request message Requesting Change to Termination Time SetTerminationTimeRequest message Notification of Resource Destruction via subscription to topic ResourceTermination All time specifications are in UTC

Notifications I notification using a topic-based publication/subscription pattern standard set of message exchanges that define the roles of NotificationProducer and NotificationConsumer standard way to name and describe Topics

Notifications II Topic = categorize Notifications and their related NotificationMessage schemas part of the matching process A Subscribe C to SystemError WS with topics: goingOffLine SystemError The Web service provides an operation to allow requestors to retrieve the list of topics that it supports, e.g. goingOffline und SystemError Subscribe B to goingOffLine B C Producer Consumer

Notifications III A B Broker C Consumer msg1 msg2 Publisher A Publish msg1 to topic SystemError WS with topics: goingOffLine SystemError B msg1 C Broker msg2 Publish msg2 to topic SystemError Publisher B Consumer

Notifications IV Broker interface: Demand-based publishing: intermediary Web Service that decouples NotificationConsumers from Publishers Demand-based publishing: producing notifications may be costly Broker subscribes to the Publisher When no subscribers for the messages it pauses its subscription resumes when there are subscribers

Resource Properties I defines the type and values of a WS-Resource’s state that can be viewed and modified Resource properties document acts as a view on the actual state Described using XML Schema

Resource Properties II Defined Messages: GetResourceProperty GetMultipleResourceProperties SetResourceProperties Insert,update,delete QueryResourceProperties Using a query expression such as Xpath

Base Fault I Target: specifying Web services fault messages in a common way defines an XML Schema type for a base fault, along with rules for how this fault type is used

Base Fault II <BaseFault> <Timestamp>xsd:dateTime</Timestamp> <OriginatorReference> wsa:EndpointReferenceType </OriginatorReference> ? <ErrorCode dialect="anyURI">xsd:string</ErrorCode> ? <Description>xsd:string</Description> * <FaultCause>wsbf:BaseFault</FaultCause> * </BaseFault>

Service Groups I defines means by which WS can be grouped together for a domain specific purpose ServiceGroup is a WS-Resource, which represents a collection of other Web services MembershipContentRule: constraints on membership of the service group E.g. membership can be restricted to members that implement a particular interface no MembershipContentRule elements are specified, the members of the ServiceGroup are unconstrained. <wssg:MembershipContentRule MemberInterface="QName"? ContentElements="list of QName" />

Service Groups II ServiceGroupRegistration interface defines the message exchanges allow a requestor to add entries to a ServiceGroup (Add Operation) Notification of ServiceGroup Modification Topic ServiceGroupModification Notification Messages EntryAdditionNotification EntryRemovalNotification

Renewable Reference No specification yet! define mechanisms that can be used to renew an endpoint reference that has become invalid reference may contain not only addressing but also policy information concerning interactions with the service How? Decorating endpoint references with information necessary to retrieve a new endpoint reference

Globus WSRF Preview early preview of the Java WSRF Core implementation none of the higher-level services GT 4.0 based on WSRF should become available in Quartal 4 of 2004

Example I What is required to implement a new service? WSDL Service impl. Resource impl. ResourceHome Client Configuration/Installation

Example II – Counter Scenario

WSDL I - Properties <types> <xsd:schema targetNamespace="http://counter.com" xmlns:tns="http://counter.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> … <xsd:element name="Value" type="xsd:int"/> <xsd:element name="CounterRP"> <xsd:complexType> <xsd:sequence> <xsd:element ref="tns:Value" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </types>

WSDL II - Interface <portType name="CounterPortType" gtwsdl:implements="wsnt:NotificationProducer wsrl:ImmediateResourceTermination" wsrp:ResourceProperties ="tns:CounterRP"> <operation name="createCounter"> <input message="tns:CreateCounterRequest"/> <output message="tns:CreateCounterResponse"/> </operation> <operation name="add"> <input message="tns:AddInputMessage"/> <output message="tns:AddOutputMessage"/> </portType>

Service Implementation public _createCounterResponse createCounter(_createCounterRequest request) { ResourceContext ctx = null; CounterHome home = null; ResourceKey key = null; ctx = ResourceContext.getResourceContext(); home = (CounterHome) ctx.getResourceHome(); key = home.create(); EndpointReferenceType epr = AddressingUtils.createEndpointReference(ctx, key); _createCounterResponse response = new _createCounterResponse(); response.setEndpointReference(epr); return response; }

Service Implementation - add public int add(int arg0) throws RemoteException { Object resource = ResourceContext.getResourceContext().getResource(); Counter counter = (Counter) resource; int result = counter.getValue(); result += arg0; counter.setValue(result); return result; }

Resource Implementation public class PersistentCounter extends Counter implements PersistentResource { public void setValue(int value) { super.setValue(value); store(); } public Object create() throws Exception { Object key = super.create(); return key; public void load(ResourceKey key) throws ResourceException { …} public void store() throws ResourceException { … } public void remove() throws ResourceException { … }

ResourceHome public class CounterHome extends PersistentResourceHome { public ResourceKey create() throws Exception { Counter counter = (Counter)createNewInstance(); counter.create(); ResourceKey key = new SimpleResourceKey(keyTypeName, counter.getID()); this.resources.put(key, counter); return key; }

Conclusions WSRF refactors OGSA concepts WS-Resource: some parts are still missing Grid and Web communities can move forward on a common base WS-Resource: Web service that acts upon stateful resources

References IBM: http://www.ibm.com/developerworks/library/ws-resource/ Globus Java WSRF Core 3.9.1 http://www.globus.org/toolkit/

Thank you for your attention!