The Web Services Resource Framework (WSRF) defines a generic and open framework for modeling and accessing stateful resources using Web Services. This includes mechanisms to describe views on the state, to support management of the state through properties associated with the Web Service, and to describe how these mechanisms are extensible to groups of Web Services. It defines the means by which:
- Web Services can be associated with one or more stateful resources (named, typed, state components).
- Service requestors access stateful resources indirectly through Web Services that encapsulate the state and manage all aspects of Web Service based access to the state.
- Stateful resources can be destroyed, through immediate or time based destruction.
- The type definition of a stateful resource can be associated with the interface description of a Web Service to enable well-formed queries against the resource via its Web Service interface.
- The state of the stateful resource can be queried and modified via Web Service message exchanges.
- Endpoint references to Web Services that encapsulate stateful resources can be renewed when they become invalid, for example due to a transient failure in the network.
- Stateful resources can be aggregated for domain-specific purposes.
Organization: OASIS
More information: WSRF page on the OASIS website (new window)
Additional related specifications that have been developed that will be considered by OASIS for the WSRF. These were developed by Computer Associates, Fujitsu, Globus Alliance, Hewlett-Packard, IBM, and the University of Chicago. The motivation for these specifications is that while Web service implementations typically do not maintain state information during their interactions, their interfaces must frequently allow for the manipulation of state, that is, data values that persist across and evolve as a result of Web service interactions
WS-ResourceProperties: This defines how the data associated with a stateful resource can be queried and changed using Web Services technologies. This allows a standard means by which data associated with a WS-Resource can be accessed by clients. The declaration of the WS-Resource’s properties represents a projection of or a view on the WS-Resource’s state. This projection represents an implied resource type which serves to define a basis for access to the resource properties through Web service interfaces. More on WS-ResourceProperties at IBM website (new window).
WS-ResourceLifetime: This defines two ways of destroying a WS-Resource: immediate and scheduled. This allows designers flexibility to design how their Web Services applications can clean up resources no longer needed. More on WS-ResourceLifetime at IBM website (new window).
WS-BaseFaults: This defines an XML Schema type for a base fault, along with rules for how this fault type is used by Web Services. A designer of a Web Services application often uses interfaces defined by others. Managing faults in such an application is more difficult when each interface uses a different convention for representing common information in fault messages. Support for problem determination and fault management can be enhanced by specifying Web Services fault messages in a common way. When the information available in faults from various interfaces is consistent, it is easier for requestors to understand faults. It is also more likely that common tooling can be created to assist in the handling of faults. More on WS-BaseFaults at IBM website (new window).
WS-ServiceGroup: This defines a means by which Web Services and WS-Resources can be aggregated or grouped together for a domain specific purpose. In order for requestors to form meaningful queries against the contents of the ServiceGroup, membership in the group must be constrained in some fashion. The constraints for membership are expressed by intension using a classification mechanism. Further, the members of each intension must share a common set of information over which queries can be expressed. More on WS-ServiceGroup at IBM website (new window).
Also see WS-Notification.
![]()
More on the general topic: Models and metamodels