These are the old pages from the weblog as they were published at Cornell. Visit for up-to-date entries.

September 23, 2003

SOAP over RS232

Mark Baker points to a article by Sean McGrath where he draws an analogy between the limited use of available rs232 pins, and how that gave software developers a lot of flexibility, and HTTP, which basically also has limited 'pins', and thus according to Sean (and Mark chimes in) also gives you similar flexibility and power.

I fully understand Mark's point about the difference between a transfer and a transport protocols, but I think there is no transfer versus transport conflict here. I think Sean would have been better off drawing the analogy between pure read/write interfaces, where there are no other semantics than 'move these bits to the other side' or 'give me any bits from the other side', which is all you could do with RS232, instead of suggesting the more semantically stronger GET/POST interface (wrt rs232, I know what I'm talking about here, the rs232 driver used the be the first one you would port when moving an OS to a new platform, so I have done a few of those).

I am all for 'keeping it simple' when designing interfaces, and as such I think Sean makes a compelling case for the difficulties you encounter with frozen complex interfaces. I certainly believe REST is an important paradigm when designing scalable services. But I do think Mark is pushing the limits by suggesting that the reads & writes on the rs232 registers are in reality similar to hidden REST-like  HTTP GET & POST verbs. I think that in this case Mark is just as much a victim of the confusion between transport and transfer, as he often tries to explain to others.

And I certainly would not compare SOAP to rs232 as Mark suggests, but I am certain that it would take me only15 minutes to write a SOAP over rs232 driver, no HTTP required.

Posted by Werner Vogels at September 23, 2003 03:44 PM