Nicely said.
(link) [del.icio.us/distobj]
Google Fight speaks on the REST vs SOA(P) debate. We now know, unequivocally, that people prefer napping to bathing. 8-)
(link) [del.icio.us/distobj]
Heh, cool.
(link) [del.icio.us/distobj]

I’ve talked about both the pluses and minuses of Amazon‘s approach to Web Services for some time now. Recently, I’ve heard that they’re in the process of greatly expanding those services, which is great. But I think that before they go too far with that, they should really dig a little deeper to learn why it is exactly that their “RESTful” data retrieval services are getting the uptake they are.

I don’t think it’s controversial to claim that Amazon see the REST vs Web services debate as primarily about encodings; either a message is encoded as a SOAP envelope, or it’s encoded as a URI, but in both cases the abstract message – the information being conveyed – is identical. I completely disagree, of course, and believe that there’s a very large architectural difference between those two approaches; that in http URI form, the URI isn’t the message, and instead, the surrounding HTTP message which encapsulates that URI becomes the real message, while the URI itself is treated as an opaque bag-o-bits. Through this encapsulation, GET becomes the operation.

What I just described I refer to as “accidentally RESTful”, and it’s surprisingly common. And while, for the simple data retrieval case, it is RESTful, and a significant improvement over vanilla SOA, you’ll find that as you add support for state-changing actions and just generally evolve that application over time, you’re going to run into many of the same problems you’d run into doing SOA.

Fair warning!

Update; oh, I suppose this is, in part, a response to something Dare said a couple of weeks back; those APIs he lists ARE RESTful, at least with respect to using the uniform interface.

John McDowall on simplicity;

Making simplicity a goal in integration is key to success – it can be an aspirational goal i.e. integration may never but point and click but unless the goal is simplicity rather than solving many imaginary problems then the possibility to asymptotically approach it will never happen. So setting simplicity of solution is always the right goal.

Bingo. Now, what architectural constraints can we adopt to induce simplicity?

Anyone, anyone? 8-)

Inaccurate (“ruthless disregard for unpleasant facts” seems to be the purvey of SOA proponents), but very funny nonetheless 8-)
(link) [del.icio.us/distobj]
Not quite a RESTafarian, but a quality post from Anne nonetheless.
(link) [del.icio.us/distobj]
Dave writes;;
In the Web services vs REST debate, the sad part is that the communities are not coming closer together. There are things that could be done for Web services to integrate with REST but few people from either camp are jumping up and down.
Let me ask this, what’s the middle ground between a position which says “Interface constraints are required for Internet scale distributed systems”, and one which says “Service specific interfaces are required for Internet scale distributed systems”? IMO, there is none. “Support both”, which is how I’d characterize Dave’s many well intentioned efforts to bridge the divide, is not a middle ground, since supporting both requires rejecting the interface constraint. Either that, or you’re talking about supporting two distinct architectural styles, which is the aforementioned divide. Practically though – in terms of the many specs being developed, I think the only middle ground is RESTful SOAP, which isn’t so much in the middle from a REST POV (since it is REST), but is from a Web POV, in that SOAP would be used to extend the Web rather than walk all over it. FWIW, that position is what I’ve been fighting for since I joined the XMLP WG. I’m really quite a moderate. 8-) He ends;
[…]I call on technical people to engage in deeply technical debates and less on “marketing” campaigns.
Ouch! 8-O There’s certainly been some “non” and poor technical arguments made on the REST side (as I mentioned publicly, I didn’t care too much for one of Carlos’ posts on the topic), but by and large the arguments have been entirely technical! I’ve certainly primarily used technical arguments over the past five years. It is to Dave’s (enormous) credit that he made the effort to describe SOA as an architectural style, but he’s been the only Web service proponent who’s even attempted to use the language of software architecture to defend his position (even if I often disagree with him when he does). But notice how his efforts never made it into the Web Services Architecture document! What does that say about the aggregate respect for software architecture by the WG? Oodles, IMO. The truth is that there’s already been a whole lot of technical debate, some of it even fruitful. The camps have just agreed to disagree, insofar as Web services proponents argue, in effect or actuality, that either a) the architectural properties that SOA doesn’t have that REST does, aren’t important to Internet based systems, or b) that SOA does not have less of some architectural properties as REST proponents claim, digital marketing services. I’d also like to remind Dave how we got to this point. Web services were created because it was felt that Web architecture wasn’t sufficient to integrate disparate applications together over the Internet. Actually, that’s not quite right. The explanation that seems to better reflect reality is that the Web was never considered as a platform suitable for meeting the objectives of Web services, as can be demonstrated by the numerous articles talking about how Web services evolved from the likes of CORBA, DCOM, RMI, etc.., without mentioning the Web!! The Web just didn’t resemble what folks knew a distributed computing solution to look like, so it just never registered in the heads to consider it. Well, the myth of the Web being unsuitable has been largely dispelled by now. The big question then, I’d say, is why haven’t the implications of this – that Web services exist – been revised as a result?
Dare Obasanjo, RESTafarian 8-)
(link) [del.icio.us/distobj]
Big +1
(link) [del.icio.us/distobj]