Mark's comment to my last post got me thinking about REST and MEST again*. Let's set a couple of things straight here:
- REST - Maintains that the distributed hypermedia model as exemplified by the WWW is the key architecture for creating loosely coupled distributed systems. Resources with uniform addressing and interfaces form the key software artefacts in RESTful systems. Resources and their uniform interfaces are exposed to the application level and this model permeates the whole stack. The application understands that the way in which a resource is accessed is semantically significant.
- MEST - Embraces the SOAP processing model as its fundamental architectural constraint. The SOAP processing model is prevalent throughout the architecture of applications built using this style. SOAP messages flow from sender through intermediates to ultimate recipients which are applications. Applications deal with SOAP messages as a first-class constructs and are utterly agnostic about how messages are transported from semantic viewpoint.
Both of these are valid architectural styles for Internet-scale computing, and share a common philosophy insofar as they both look to promote sensible architectural constraints for systems. Now, I happen so subscribe to the MESTian view since I like the transport agnosticism that SOAP provides, and I believe that the SOAP processing model is quite suitable for Internet scale computing. Mark conversely subscribes to the RESTifarian viewpoint and points to the Web as a good example of a scalable, extensible, RESTful system.
There's no animosity between these two camps (I think), and indeed MEST owes much to REST. But as Bill and DaveOnote, there is animosity between the REST and Web Services camps. OK, so it used to really nark me when the REST camp got on its high horse but through that needling I came to realise that Web Services was indeed in a pretty poor state (and WSDL 2.0 does little to help). Nonetheless it doesn't mean that you have to be a RESTifarian if you don't like the patterns and practices coming out of some parts of the WS community, you too can become a MESTian.
[*] I was going for a run at the time, so this whole post might just be the result of my brain being jiggled up-and-down for an hour. Just so you know...