Chris Ferris writes, regarding BEEP and HTTP;
The BEEP protocol offers much richer message exchange patterns than does HTTP, enabling the likes of publish/subscribe, one request/N responses, etc. without having to resort to hacks.
I’m not a fan of BEEP, primarily because I see little value in standardizing at that layer (OSI layers 5 and 6) without standardizing up higher with an application protocol, because layer 7 is where interop happens on the Internet.
But I have to take issue with the “hacks” jab. He and I went back and forth on at least one HTTP extension in the early days of the Web Services Architecture WG; the MONITOR method. Is that a hack? Is mod-pubsub a hack? (well, parts sure are, but the bulk of it? 8-)
I suppose if you have the luxury of working in a greenfield environment with little in the way of architectural constraints (e.g. BEEP), then you can pretty much do what you want, and perhaps you’ll end up with something quite elegant. But doing the same thing with an existing architecture is much harder because you have more constraints you have to work within. That doesn’t make them hacks.