Web Services Resource Framework

Web Services Resource Framework

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.

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 CORBA and DCOM are examples. A WSRF resource may be a stateful entity to which multiple clients have resource references and the WSRF specification itself does not deal with concerns such as isolation and availability, deferring to the composable nature of web service specifications to deal with these. Many WSRF stacks appear to avoid these concerns by being low-availability, mapping 1:1 from a WSRF resource reference to a local object instance, which in C++ and Java is usually not at all persistent (with the exception of those bound to a database through some persistence mechanism). There are, however, implementations of WSRF that support persistence, clustering and high-availability of resources (for example, in WebSphere Application Server).

With a distributed objects view of the network, WSRF is also at loggerheads with the REST model of the network, in which everything is a resource, but in which all actions are enabled through a limited and standardized set of operations. In some ways, the two models are closer than pure SOAP and REST, because they both have stateful resources at the far end. However, REST, as implemented on HTTP, assumes that the URL is all that is needed to address the resource — there is no need for the complexity of the WS-Addressing ReferenceParameters. The idea of managing the lifetime of remote content through renewable leasing comes in for particular criticism. The other issue with the architecture from the REST community is that callbacks/notifications, as described in WS-Notification, do not go through firewalls. This is why REST designs prefer polling, such as in RSS and 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 [cite paper
author = Malcolm Atkinson,
coauthors = David DeRoure, Alistair Dunlop, Geoffrey Fox, Peter Henderson, Tony Hey, Norman Paton, Steven Newhouse, Savas Parastatidis, Anne Trefethen, Paul Watson, and Jim Webber
title = Web Service Grids: An Evolutionary Approach
publisher = UK e-Science Technical Report Series
date = 2004-07-31
url = http://www.nesc.ac.uk/technical_papers/UKeS-2004-05.pdf
format = PDF
accessdate =
] . 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.

Eventually, in spring 2006, an announcement was made of a planned future convergence between WSDM and WS-Management.Fact|date=February 2007 This may or may not include all of WSRF. Most likely, many of the more controversial aspects of the technology will either be omitted or made optional.

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 [http://ws.apache.org/muse/ Muse 2.0] project which is a Java-based implementation of the WSRF, WS-Notification, and WSDM specifications.
* [http://www.rcs.manchester.ac.uk/research/wsrflite 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.
* [http://www.cs.virginia.edu/~gsw2c/wsrf.net.html 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.

ee also

*WS-I
*Open Grid Services Architecture
*WS-Management

External links

* [http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrf OASIS WSRF page]
* [http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html Guide to WSRF from The Globus Toolkit 4 Programmer's Tutorial]

Notes


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Web Service Resource Framework — (WSRF) forma parte de la família de especificaciones relativas a servicios web publicadas por OASIS. Los principales impulsores de esta especificación son IBM y la Globus Alliance. Un servicio web no tiene estado, es decir, no mantiene ninguna… …   Wikipedia Español

  • Web Services Interoperability — The Web Services Interoperability Organization (WS I) is an industry consortium chartered to promote interoperability amongst the stack of web services specifications. WS I does not define standards for web services; rather, it creates guidelines …   Wikipedia

  • Web Services — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Ein Webservice oder Webdienst ist eine Software Anwendung, die mit… …   Deutsch Wikipedia

  • Web service — A Web service (also Web Service) is defined by the W3C as a software system designed to support interoperable machine to machine interaction over a network [cite web |url=http://www.w3.org/TR/ws gloss/ |title=Web Services Glossary] . Web services …   Wikipedia

  • Devices Profile for Web Services — The Devices Profile for Web Services (DPWS) defines a minimal set of implementation constraints to enable secure Web Service messaging, discovery, description, and eventing on resource constrained devices. Its objectives are similar to those of… …   Wikipedia

  • List of Web service specifications — There are a variety of specifications associated with web services. These specifications are in varying degrees of maturity and are maintained or supported by various standards bodies and entities. Specifications may complement, overlap, and… …   Wikipedia

  • WEB 2.0 — ist ein Schlagwort, das für eine Reihe interaktiver und kollaborativer Elemente des Internets, speziell des WWW steht und damit in Anlehnung an die Versionsnummern von Softwareprodukten eine Abgrenzung von früheren Nutzungsarten postuliert. Der… …   Deutsch Wikipedia

  • Resource oriented architecture — (or, ROA) is a specific set of guidelines of an implementation of the REST architecture.REST, or Representational State Transfer (see Roy Thomas Fielding s Doctoral Thesis Architectural Styles andthe Design of Network based Software Architectures …   Wikipedia

  • Open Grid Services Infrastructure — The Open Grid Services Infrastructure (OGSI) was published by the Global Grid Forum (GGF) as a proposed recommendation in June 2003.[1] It was intended to provide an infrastructure layer for the Open Grid Services Architecture (OGSA). OGSI takes… …   Wikipedia

  • Web-Standard — Logo des W3C Das World Wide Web Consortium (kurz: W3C) ist das Gremium zur Standardisierung der das World Wide Web betreffenden Techniken. Es wurde 1994 gegründet. Gründer und Vorsitzender des W3C ist Tim Berners Lee, der auch als der Erfinder… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”