I really don't know if this is a useful contribution to SOAP vs REST - or even if such a thing is possible at this stage in the debate  :-) - but here are a couple of observations from experience.

To me, REST as an architectural approach seems less "brittle" than SOAP - less likely to break as the implementation of endpoints change.  In the rush to embrace new technologies, people often overlook the demands of time.  In this case, what will happen as all your shiny new services gradually mutate into legacy systems, subject to innumerable changes over the years?

Managing updates to distributed software systems is very hard - especially when the system is not controlled by a single party.  But versioning state is much easier.  If you write your code carefully, you can add things to state - even take items away - at one end only, and changes to that state can still be generated and used in a sensible way by other parts of the system.

So that's one thing - here's another.  HTTP and REST are only one example of a highly simplified "distributed system control technique" - a phrase chosen so as, hopefully, to avoid getting into the current terminology debate!

A powerful distributed system control technique that I use in my own software is KQML, probably the most widely used Agent Control Language (ACL).  ACLs are intended for use in synchronizing independent pieces of software, in a "multi-agent system" (MAS) where the components carry out actions that have somehow been negotiated between themselves.

KQML, afaik, has no standard concrete representation, for example in XML, though I may be wrong on this.  Since agents in a particular system are generally all developed using the same software platform, each such system can make whatever concrete representation of KQML it wishes.  What all such representations share is an agreed abstract structure - in particular, a KQML message always contains a certain set of elements (a "performative", an "illocutionary force", etc) and may contain other optional items as well.

To me, KQML seems a very interesting halfway house between REST and the WS-* stack.  It provides the simplicity and robustness of REST, along with the ability to specify something analogous to SOAP operations.  I don't know of any situations in which MAS techniques have been applied to SOA - does anyone else on this list?
-- 

All the best
Keith

http://keith.harrison-broninski.info
__._,_.___


SPONSORED LINKS
Computer software Computer aided design software Computer job
Soa Service-oriented architecture


YAHOO! GROUPS LINKS




__,_._,___

Reply via email to