Sunday, 10 August 2008

AMQP beyond the firewall

In response to my blog on AMQP and interop, Guy Crets comments that until we have a broker-to-broker specification, AMQP is effectively of no further interest than any other MOM.

Matthew then responded that this is in the AMQP Working Group's sights.

While I agree a broker-to-broker definition is important, it is not necessary. AMQP has a simple model, which is "client" to "broker". But this is a common model for Internet communications. After all, er, HTTP has the same model. And somehow this doesn't seem to have harmed its adoption on the Internet.

So that doesn't worry me. I agree there is something missing from AMQP for real widespread Internet adoption and that is a global addressing scheme. Without that, its very hard to build true Internet wide messaging. Take the e-mail analogy. You don't really need to have a spec of how email servers talk to each other - effectively one server acts as a client to the other using the same protocol that a mail client uses to send mail. But what you really need is a single global email address schema. Of course global addressing is on our todo list too.

Despite this, I think Guy is wrong that AMQP is no better than an existing MOM. Because even within the enterprise firewall, interop is important, and that is what AMQP is aiming for. Guy believes that "this is not a problem within a single organization", but for many organizations it is a huge problem: many companies are locked in to a single vendor for MOM and cannot innovate or change vendors, and the companies that have more than one MOM struggle to bridge them.

AMQP isn't perfect and it isn't complete yet, but the goals are important and as long as we keep making progress it will become an important addition to the Internet protocols.

1 comment:

  1. Paul, thanks for this. I have expanded on your comments with a RabbitMQ based point of view, via Guy Crets' blog here.

    ReplyDelete