On Sat, Mar 07, 2009 at 08:38:01AM +0700, Jason Smith wrote: > Still, DBus is tangential to the main argument. My concern with a DBus > API is you need a persistent process translating between DBus RPC calls > and HTTP calls. So all DBus gives you is a language-independent API but > since Couch has bindings for all major languages (and direct HTTP too), I > could be persuaded that DBus is not worth the effort.
So another point worth pondering is: why did DBus choose its own protocol, rather than HTTP? Probably because (a) HTTP is actually an enormous pain to implement correctly (anybody read RFC 2616 end-to-end recently?); and (b) it's only a transport, so unless all you're doing is fetching and putting files, you still have to layer your own application semantics on top. I'm no expert on DBus, but I believe it provides things like publish-subscribe, which is not a standard HTTP application. Well, perhaps Stomp is an ad-hoc standard. Things like asynchronous notification are also awkward with HTTP - Comet? Supposedly small desktop applets would end up carrying a lot of baggage if they had to use HTTP+Stomp+Comet. B.
