Web Services Resource Framework

Source: Wikipedia, the free encyclopedia.

Web Services Resource Framework (WSRF) is a family of OASIS-published specifications for web services. Major contributors include the Globus Alliance and IBM.

A

stateless
, i.e., it retains no data between invocations. This limits the things that can be done with web services,

Before WSRF, no standard in the Web Services family of specifications explicitly defined how to deal with stateful interactions with remote resources. This does not mean that web services could not be stateful. Where required a web service could read from a database, or use session state by way of cookies or WS-Session.

WSRF provides a set of operations that web services can use to implement stateful interaction; 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.

Issues with WSRF

WSRF is not without controversy. Most fundamental is architectural: are distributed objects with state and operations the best way to represent remote resources? It is almost a port into XML of the distributed objects pattern, of which

WebSphere Application Server
).

With a distributed objects view of the network, WSRF is also at loggerheads with the

Atom (standard)
feeds. WSRF has done nothing to make SOAP more acceptable to the REST community.

The introduction of WSRF also caused splits in the WS-* world. It was first announced to the World at a

Global Grid Forum event in February 2004, as a successor to the Open Grid Services Infrastructure. Its limited compatibility with the mainstream WS-I architecture created dissent from the UK grid community.[1] The Global Grid Forum ultimately isolated their dependencies on WSRF in a WSRF profile for their Open Grid Services Architecture. WSRF protocols were also used by WSDM as the means to interacts with manageable resources described in WSDM. The WS-* world, however, was not united on a single standard for Web services management with Microsoft, Sun and others choosing to pursue WS-Management, with its dependency on WS-Transfer
as the means to describe manageable resources.

Component specifications

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 Archived 2006-10-13 at the Wayback Machine project which is a Java-based implementation of the WSRF, WS-Notification, and WSDM
    specifications.
  • WSRF::Lite Archived 2007-11-12 at the
    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.

See also

References

  1. ^ Malcolm Atkinson; David DeRoure; Alistair Dunlop; Geoffrey Fox; Peter Henderson; Tony Hey; Norman Paton; Steven Newhouse; Savas Parastatidis; Anne Trefethen; Paul Watson; Jim Webber (2004-07-31). "Web Service Grids: An Evolutionary Approach" (PDF). UK e-Science Technical Report Series. Archived from the original (PDF) on 2006-10-11.

External links