Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Web Services Resource Framework
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Family of specifications for web services}} {{self-published|date=September 2011}} {{for|the radio station in Florida|WSRF (AM)}} '''Web Services Resource Framework''' ('''WSRF''') is a family of [[OASIS (organization)|OASIS]]-published specifications for [[web service]]s. Major contributors include the Globus Alliance and [[IBM]]. A [[web service]] by itself is nominally [[Stateless server|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 [https://www.w3.org/2002/ws/arch/ 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 [[Uniform Resource Identifier|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 [[Web Services Distributed Management|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 [[Common Object Request Broker Architecture|CORBA]] and [[Distributed Component Object Model|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 [[Representational State Transfer|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 [[Representational State Transfer|REST]], because they both have stateful resources at the far end. However, REST, as implemented on [[HTTP]], assumes that the [[Uniform Resource Locator|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 [[Web Services Interoperability|WS-I]] architecture created dissent from the UK grid community.<ref>{{cite web |author=Malcolm Atkinson |author2=David DeRoure |author3=Alistair Dunlop |author4=Geoffrey Fox |author5=Peter Henderson |author6=Tony Hey |author7=Norman Paton |author8=Steven Newhouse |author9=Savas Parastatidis |author10=Anne Trefethen |author11=Paul Watson |author12=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 | archive-date = 2006-10-11 | archive-url = https://web.archive.org/web/20061011145324/http://www.nesc.ac.uk/technical_papers/UKeS-2004-05.pdf }}</ref> 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 [[Web Services Distributed Management|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== *'''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 [[SOAPFault]]s. *'''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. To note, Globus Toolkit [https://toolkit.globus.org/ retired in 2018]. * [[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] {{Webarchive|url=https://web.archive.org/web/20061013143348/http://ws.apache.org/muse/ |date=2006-10-13 }} project which is a Java-based implementation of the WSRF, [[WS-Notification]], and [[Web Services Distributed Management|WSDM]] specifications. * [http://www.rcs.manchester.ac.uk/research/wsrflite WSRF::Lite] {{Webarchive|url=https://web.archive.org/web/20071112045209/http://www.rcs.manchester.ac.uk/research/wsrflite |date=2007-11-12 }} is a perl-based implementation that makes exclusive use of the ''Address'' element of the endpoint reference, thus making WS-Resources identifiable via [[Uniform Resource Identifier|URI]]s. In addition, WSRF::Lite provides a mapping of [[HTTP]] verbs to WSRF operations, making it possible to use WS-Resources in a [[Representational State Transfer|REST]] architectural style. * <!-- [http://www.ws-rf.net WSRF.NET] --> [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. ==See also== *[[WS-I]] *[[Open Grid Services Architecture]] *[[WS-Management]] *[[List of web service specifications]] ==References== {{reflist}} ==External links== *[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrf OASIS WSRF Page] *[https://www.jcsl.com.cy/en Website Design & Development] *[http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html Guide to WSRF from The Globus Toolkit 4 Programmer's Tutorial] {{Webarchive|url=https://web.archive.org/web/20060630024902/http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html |date=2006-06-30 }} {{OASIS Standards}} [[Category:Web standards]] [[Category:Web services]] [[Category:Grid computing]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:For
(
edit
)
Template:OASIS Standards
(
edit
)
Template:Reflist
(
edit
)
Template:Self-published
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)