260 likes | 395 Views
WSRF & WSRF’s Application in VO-DAS. Haijun Tian ChinaVO 2006-12-01. OutLine. Key Concepts How to Write the Stateful WS Resource Properties Lifecycle Management WS-Notifications VO-DAS ‘s assignment. Key Concepts-- OGSA. OGSA(Open Grid Services Architecture )
E N D
WSRF & WSRF’s Application in VO-DAS Haijun Tian ChinaVO 2006-12-01
OutLine • Key Concepts • How to Write the Stateful WS • Resource Properties • Lifecycle Management • WS-Notifications • VO-DAS ‘s assignment
Key Concepts-- OGSA • OGSA(Open Grid Services Architecture) OGSA aims to define a common, standard, and open architecture for grid-based applications ( practically, resource management, job management, security, etc)
Key Concepts-- WSRF • OGSA requires ‘stateful services’ (Manage the distributed nodes, jobs, resources, etc) • WSRF (Web Service Resource Framework) WS-R = WS + Resource
Key Concepts-- WS • WS is distributed computing technology, practically remotely-accessible methods. • WS is oriented-software ,not oriented-humans • WS are platform-independent and language-independent • Most WS use HTTP for transmitting messages (such as the service request and response).
Key Concepts-- WS How does this work in practice? Client and server stubs are generated from the WSDL file
Key Concepts-- WS A Typical Web Service Invocation
Key Concepts-- WS Apache Jakarta Tomcat The server side in a Web Services application Apache Axis
Key Concepts-- WS A stateless Web Service invocation
Key Concepts-- WSRF A stateful Web Service invocation
Key Concepts– GT4 • Globus Toolkit is a software toolkit, which is used to program grid-based applications. • It include quite a few high-level services (resource, job, security services, etc) that we can use to build Grid applications • It is a realization of OGSA requirements • WSRF is the core of GT4. Most of the Grid Services are implemented on top of WSRF. • GT4 isn’t the only WSRF implementation, such as WSRF.NET
How to Write the Stateful WS Before we start programming • Be familiar with Java and XML • Installing the GT4 Java WS Core (set environment variable) • Eclipse & GDT
How to Write the Stateful WS When writing and deploying a WSRF WS, You Must follow five simple steps: • Define the service’s interface. WSDL • Implement the service. Java • Define the deployment parameters. WSDD& JNDI • Compile everything and generate a GAR file. Ant • Deploy service. GT4 tool (globus-deploy-gar)
Resource Properties • GetResourceProperty : Given its QName • GetMultipleResourceProperties Access the value of several resource properties at once, given each of their QNames. • SetResourceProperties Update: Change the value of a RP with a new value. Insert: Add a new RP with a given value. Delete: Eliminate all occurrences of a certain RP. • QueryResourceProperties: XPath
Lifecycle Management • WS-Resource Lifetime specification offers two lifecycle management solutions: Immediate destruction and Schedule destruction.
Lifecycle Management --Immediate • Immediate destruction The factory service is responsible for creating the resources, but destruction must be requested to each individual resource through the instance service. In the WSDL, we simply extend from the standard WSRF ImmediateResourceTermination portType, which adds a destroy operation to our portType that will instruct the current resource to terminate itself immediately.
Lifecycle Management --Scheduled • This method allows our application to purge resources that for some reason (network failure, programmer error, etc) have become unavailable. • In WSDL file, Our portType requires extents standard WSRF protType: ScheduledResourceTermination • Operation: SetTerminationTime • RPs: TerminationTime & CurrentTime (the time in the machine that hosts the resource) • In JNDI deploy file, need to add sweeperDelay parameter, specified in milliseconds, which control how often the container will check if a resource is past its termination time.
WS-Notifications • WS-Notifications is not a part of WSRF, but it has strong ties to it. • Let’s suppose that our software had several distinct parts (such as client/server) and that one of the parts needs to be aware of the changes that happen in one of the other parts.
WS-Notifications Keeping track of changes using polling
WS-Notifications Keeping track of changes using notifications
WS-Notifications (BaseNotification) A typical WS-Notification interaction
Referrence: • The Globus Toolkit 4 Programmer’s Tutorial(Borja Sotomayor University of Chicago Department of Computer Science)