Web Services Resource Framework
Encyclopedia
Web Services Resource Framework (WSRF) is a family of OASIS
OASIS (organization)
The Organization for the Advancement of Structured Information Standards is a global consortium that drives the development, convergence and adoption of e-business and web service standards...

-published specifications for web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...

s. Major contributors include the Globus Alliance
Globus Alliance
The Globus Alliance is an international association dedicated to developing fundamental technologies needed to build grid computing infrastructures...

 and IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

.

A web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...

 by itself is nominally stateless
Stateless server
In computing, a stateless protocol is a communications protocol that treats each request as an independent transaction that is unrelated to any previous request so that the communication consists of independent pairs of requests and responses...

, 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
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

, 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
WS-Addressing
WS-Addressing or Web Services Addressing is a specification of transport-neutral mechanisms that allow web services to communicate addressing information...

 endpoint reference. This may be a simple URI
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...

 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
Common Object Request Broker Architecture
The Common Object Request Broker Architecture is a standard defined by the Object Management Group that enables software components written in multiple computer languages and running on multiple computers to work together .- Overview:CORBA enables separate pieces of software written in different...

 and DCOM
Distributed component object model
Distributed Component Object Model is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+...

 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
WebSphere Application Server
IBM WebSphere Application Server , a software application server, is the flagship product within IBM's WebSphere brand. It was initially created by Donald Ferguson, who later became CTO of CA Technologies, and the first version launched in 1998....

).

With a distributed objects view of the network, WSRF is also at loggerheads with the REST
Representational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...

 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
SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...

 and REST
Representational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...

, because they both have stateful resources at the far end. However, REST, as implemented on HTTP, assumes that the URL
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....

 is all that is needed to address the resource – there is no need for the complexity of the WS-Addressing
WS-Addressing
WS-Addressing or Web Services Addressing is a specification of transport-neutral mechanisms that allow web services to communicate addressing information...

 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
WS-Notification
WS-Notification is a group of specifications related to the WS-Resource framework that allows event driven programming between web services.WS-Notification is based on the event notification pattern...

, do not go through firewalls. This is why REST designs prefer polling, such as in RSS and Atom (standard)
Atom (standard)
The name Atom applies to a pair of related standards. The Atom Syndication Format is an XML language used for web feeds, while the Atom Publishing Protocol is a simple HTTP-based protocol for creating and updating web resources.Web feeds allow software programs to check for updates published on a...

 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
Open Grid Services Infrastructure
The Open Grid Services Infrastructure was published by the Global Grid Forum as a proposed recommendation in June 2003. It was intended to provide an infrastructure layer for the Open Grid Services Architecture...

. Its limited compatibility with the mainstream WS-I
Web Services Interoperability
The Web Services Interoperability Organization 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 and tests for interoperability...

 architecture created dissent from the UK grid community. The Global Grid Forum ultimately isolated their dependencies on WSRF in a WSRF profile for their Open Grid Services Architecture
Open Grid Services Architecture
The Open Grid Services Architecture describes an architecture for a service-oriented grid computing environment for business and scientific use, developed within the Global Grid Forum...

. 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
WS-Management
Web Services-Management is a DMTF open standard defining a SOAP-based protocol for the management of servers, devices, applications and various Web services. The DMTF has published the standards document DSP0226 with version v1.1.0 of 2010-03-03....

, with its dependency on WS-Transfer
WS-Transfer
WS-Transfer is a specification defining the transfer of an XML-representation of an WS-addressable resource, as well as creating and deleting such resources.The Candidate Recommendation specification summarize the scope like this:...

 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
WS-Management
Web Services-Management is a DMTF open standard defining a SOAP-based protocol for the management of servers, devices, applications and various Web services. The DMTF has published the standards document DSP0226 with version v1.1.0 of 2010-03-03....

. 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
WS-Notification
WS-Notification is a group of specifications related to the WS-Resource framework that allows event driven programming between web services.WS-Notification is based on the event notification pattern...

 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
WS-Notification
WS-Notification is a group of specifications related to the WS-Resource framework that allows event driven programming between web services.WS-Notification is based on the event notification pattern...

, which is the hardest to test.
  • The Globus Toolkit
    Globus Toolkit
    The Globus Toolkit, currently at version 5, is an open source toolkit for building computing grids developed and provided by the Globus Alliance.-Standards implementation:The Globus Toolkit is an implementation of the following standards:...

     version 4 contains Java and C implementations of WSRF; many other Globus tools have been rebuilt around WSRF.
  • WebSphere Application Server
    WebSphere Application Server
    IBM WebSphere Application Server , a software application server, is the flagship product within IBM's WebSphere brand. It was initially created by Donald Ferguson, who later became CTO of CA Technologies, and the first version launched in 1998....

     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
    WS-Notification
    WS-Notification is a group of specifications related to the WS-Resource framework that allows event driven programming between web services.WS-Notification is based on the event notification pattern...

    , 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 URI
    Uniform Resource Identifier
    In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...

    s. In addition, WSRF::Lite provides a mapping of HTTP verbs to WSRF operations, making it possible to use WS-Resources in a REST
    Representational State Transfer
    Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...

     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
    UNICORE
    UNICORE is a Grid computing technology that provides seamless, secure, and intuitive access to distributed Grid resources such as supercomputers or cluster systems and information stored in databases. UNICORE was developed in two projects funded by the German ministry for education and research...

    is built on a Java implementation of the WSRF 1.2 standard including WS-ResourceLifetime and a partial implementation of WS-Notification.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK