You are on page 1of 2

Web Services Resource Framework (WSRF) is a family of OASIS-published specifications for

web services. Major contributors include the Globus Alliance and IBM.

A web service by itself is nominally stateless, i.e., it retains no data between invocations. This
limits the things that can be done with web services, although workarounds exist – such as
having the web service read from a database, for example, or using session state by way of
cookies or WS-Session.

WSRF provides a set of operations that web services may implement to become stateful; web
service clients communicate with resource services which allow data to be stored and retrieved.
When clients talk to the web service they include the identifier of the specific resource that
should be used inside the request, encapsulated within the WS-Addressing endpoint reference.
This may be a simple URI address, or it may be complex XML content that helps identify or
even fully describe the specific resource in question.

Alongside the notion of an explicit resource reference comes a standardized set of web service
operations to get/set resource properties. These can be used to read and perhaps write resource
state, in a manner somewhat similar to having member variables of an object alongside its
methods. The primary beneficiary of such a model are management tools, which can enumerate
and view resources, even if they have no other knowledge of them. This is the basis for WSDM.

Component specifications
 WS-Resource defines a WS-Resource as the composition of a resource and a Web
service through which the resource can be accessed.
 WS-ResourceProperties describes an interface to associate a set of typed values with a
WS-Resource that may be read and manipulated in a standard way.
 WS-ResourceLifetime describes an interface to manage the lifetime of a WS-Resource.
 WS-BaseFaults describes an extensible mechanism for rich SOAPFaults.
 WS-ServiceGroup describes an interface for operating on collections of WS-Resources.

Also of relevance is WS-Notification which says how to push information to other web-services
about what is going on.

Implementations
Implementing the basic property get/set semantics of WSRF resources is relatively simple. The
hardest problem is probably returning faults as WSRF Base Faults where the specification
requires it, because SOAP stacks themselves prefer to raise SOAPFault faults. Managing
resource lifetimes is harder, but this is optional, as is WS-Notification, which is the hardest to
test.

 The Globus Toolkit version 4 contains Java and C implementations of WSRF; many
other Globus tools have been rebuilt around WSRF.
 WebSphere Application Server version 6.1 provides a WSRF environment which
supports both simple and clustered, highly available WSRF endpoints.
 The Apache Foundation have a Muse 2.0 project which is a Java-based implementation
of the WSRF, WS-Notification, and WSDM specifications.
 WSRF::Lite is a perl-based implementation that makes exclusive use of the Address
element of the endpoint reference, thus making WS-Resources identifiable via URIs. In
addition, WSRF::Lite provides a mapping of HTTP verbs to WSRF operations, making it
possible to use WS-Resources in a REST architectural style.
 WSRF.NET is a .NET based project about WSRF specs from a research team of the
University of Virginia.
 The latest version 6.0 of UNICORE is built on a Java implementation of the WSRF 1.2
standard including WS-ResourceLifetime and a partial implementation of WS-
Notification.

You might also like