- From: Savas Parastatidis <Savas.Parastatidis@newcastle.ac.uk>
- Date: Mon, 5 Jul 2004 22:00:07 +0100
- To: "David Orchard" <dorchard@bea.com>, <www-ws-arch@w3.org>
Hi Dave, [snip] > If people want to dispute whether WS-RF is "RESTful" or not, I'd prefer it > if they gave concrete technical reasons rather than "I don't think so" or > "doesn't feel like it to me". The constraints that make up REST are > rigorously defined and WS-RF can be directly evaluated against them. For > example, I could see an argument being used that says something like: WS- > RF isn't RESTlike because EPRs aren't links. They aren't links because > the use of reference properties takes the resource "off the web". Now I > have counter-arguments to that in mind, but that's the kind of argument > I'd expect. [snip] Please allow me to take up on your challenge to justify why I think that WS-RF is not RESTful. Since I am not a REST expert, I may be wrong in this. It is my understanding that REST depends on constraint, protocol-specific interfaces (e.g., the HTTP verbs or the FTP verbs). Through those verbs, it is possible to operate on state. In WS-RF, it is true that common operations (I prefer "message exchanges") are defined. There are WSDL message exchange patterns that define how one could get/set the properties of a resource. The elements of a "ResourceProperties" document are seen as the properties of that resource. However, WS-RF also allows the definition of more operations in addition to the ResourceProperties ones. According to WS-RF, a resource is accessible through a Web Service (a stateless entity... using WS-RF terminology) and its "operations". The WS operations providing access to (or operating on) the resource's state are not defined, they are not constrained. In fact, one could have different operations through different services operating on the same resource. Let me try to summarise some key characteristics of three architectural styles (I may miss some, so please forgive me) in a hope to illustrate their differences as I see them: - REST: Defines that there is a limited number of operations (verbs) that can be used on the state of a resource. Resources are identified by URIs. The URI scheme defines which verbs can be used. - Object-orientation: State is modelled explicitly as objects. Each object has a name (or even an identity), state, and an interface through which the state is operated. To my mind, WS-RF falls under this model. - Service-orientation: the focus is on the services and the messages that are exchanged between them. No explicit modelling of state. I'd be interested to know objections/comments to the above. Best regards, .savas.
Received on Monday, 5 July 2004 17:00:49 UTC