views:

49

answers:

2

I spotted a very good argument against protocol-based (viz. SOAP) reliable messaging. Is this a flame-war topic, or is there a fair degree of consensus about this?

I think the author's "Netherlands" case-study ought to have included an in-order example as well.

p.s. I wish google had a "contrast" tool, that finds sites with opposing points of view. Doesn't "Google Contrast" sound cool? :)

+1  A: 

Unreliable messaging (ie. UDP) can be made reliable by providing handshaking messages:

S: Are you there?

R: Yes, I am Here.

S: Turn On Porch Light (this is Message 6)

R: OK.

S: Did you receive message 6?

R: Sorry, what? (or no response)

S: Turn on Porch light (this is message 7)

R: Message 7 Received.

R: Porch Light is On.

Robert Harvey
+1  A: 

It's not an argument against reliable messaging in principle, but against putting it in the transport layer. It reminds me a little of the Mysql developers years ago saying "you don't need $foo in the database, it's easy to do that in the application layer" - where $foo was typically "transactions", or "foreign keys", or "constraints", or ... any of many other things they've since decided to implement anyway.

I don't mean that to imply that de Graauw is necessarily wrong, as it's clear he has no need for a reliable transport in his particular app, but I do suggest that "I don't need X, therefore you don't either" is a false generalisation in principle and often incorrect in practice.

telent