Binary Woes

, Sep 22, 2007

So, Janne Savukoski uses my post on AMQP and XMPP to somehow make a case for binary XML:

  • XML standard encoding: sucks (in protocols, ok in blogging)
  • XML data model: rocks

I’ve expressed my feelings for binary XML in the past, at least twice. XML is perfectly fine more often than not, and usually, if you believe you have a problem that you can solve by replacing XML with something “better” you’ll end up with two problems. But anyway …

Mike Herrick thinks I’m “temporarily a binary message bigot”.

Damn. Let me try to make myself clear: Believe it or not, message-oriented middleware works very well in its domain. Sadly, while there is some portability due to JMS, there is no interoperability. Because of this, an efficient protocol that addresses this (AMQP) is a perfectly valid idea. Of course this does not mean that suddenly, AMQP becomes an alternative to an Internet-scale protocol such as XMPP; but the same is true vice versa, unless looser coupling has higher priority than performance for your problem space.

I’m more and more convinced that most company-internal integration/communication scenarios share the exact same problems as cross-company, Internet-scale scenarios. In other words, what works on the Internet is very likely going to be the “right” solution for your company. But “most” does not mean “everything”, and I’ll happily consider AMQP a useful criterion for evaluating MOM solutions if and when it becomes widespread enough.

On September 23, 2007 5:09 AM, Mike Herrick said:


You are absolutely right on AMQP - it is a perfectly valid idea. My only point was that it has a ways to go. That certainly doesn’t mean it won’t happen. These things just take years. And more often than not, there is a big political component for them to be successful.

I’m not close enough to AMQP to know what the probability of it being successful is. I do know that we won’t know the answer to that for years.

I think that the XMPP idea for integration is appealing, but it is not mainstream. It has the benefit of being around in some form since 1998, being an IETF standard, and there are several viable impls out there. Clearly, however, things like JMS are used much more often today than XMPP for integration.

I was just kidding on the “binary bigot” comment. I have struggled with that myself several times. More often than not, I find myself coming back to not hurtn’ the web and going for text on the wire. I typically have other performance issues before the text becomes a problem & text has lots of benefits.

Anyway, I’m blathering on here.