World Wide Webber


My Books
REST in Practice: Hypermedia and Systems Architecture
Amazon:
US, UK
Developing Enterprise Web Services by Sandeep Chatterjee and Jim Webber
Amazon:
US, UK,
Now available: Korean Edition

My Bookshelf
Programming Clojure by Stuart Halloway

RESTful Web Services by Leonard Richardson and Sam Ruby
How the REST was won?
Posted: 09 July 2004 @ 17:23 UT from Sydney, Australia

Recently I've been observing a definite upswing the in the use of REST-friendly words in the Web Services community. REST has been mentioned without attracting a huge amount of criticism in the WSA mailing list, the WS-Description WG has been grappling to support RESTful interfaces in WSDL 2.0, WS-CAF have been mooting ideas about dereferencing applications in a RESTful way, and even in the WS-GAF mailing list people are now talking about REST. It seems that REST has become the next step up from the current "procedure calls via documents" approach that Web Services are taking - which I took issue with in my recent talk to the ACS.

While I think the REST camp has got some things right, such as a focus on message-exchanges instead of APIs, I think that the current REST love-fest is worrying. Sure REST's message-oriented approach is sensible, but it has the downside of mixing the semantics of the SOAP message with those of the transport protocol. For what it's worth I believe that the semantics of a message are a function of the Web Service (or application) that processes that message. How the message gets transported is really quite unimportant in terms of functional requirements for an application.

For example you might receive this post in HTML format in your Web browser, you might receive it through the XML feed in your blog reader, or you might get it forwarded to you by fax or email. Whichever means the message takes to get to you is unimportant because the message is still going to convey the same semantics - that REST is a point on the learning curve and not the end of it as this unscientific diagram shows:

My preference, of course, is to move the best practice in Web Services forward to the "processMessage" model (I coined the term "MEOWS" - Message Exchange-Oriented Web Services but a better acronym would be welcomed), which like REST has a message-oriented flavour, but unlike REST doesn't hinge on the use of an API, not even a uniform one. This was the central tenet of an article Savas and I wrote for Web Services Journal which was more important than the WSDL article which caused such outcry :-)

As I noted before, Savas has started some weird cult around this idea.

Comments:
#
Hi Jim, I believe that the "processMessage" model is in interface, and a pretty uniform one. The difference between that and the HTTP interface is that the HTTP interface actually gives you some additional semantics that is used by the network infrastructure. That's why it's wrong to compare HTTP (REST) and "processMessage" because the latter maps very nicely to UDP or TCP (perhaps with extended addressing, but that's insignificant), which is used so heavily (and properly) by HTTP. HTTP could be reimplemented over any "processMessage" protocol.
#
processMessage is indeed uniform. And that's also why processMessage and POST mean the same thing. So I agree with part of Jacek's point, but disagree where he says that processMessage better maps to UDP and TCP.
Author Name:
Email:
Author URL:
Comment:
Antispam:
Please type the following string (note that if the strings don't match, your comment will be lost... sorry!): 'TROK'.
 
Recent entries

Recent comments

Feeds:
RSS 2.0 Atom