This excellent article - "Can AMQP break IBM's MOM Monopoly?" - explains in clear terms the difference between API standardization (JMS) and wire-level interop standardization (AMQP).
This is a distinction that lies at the heart of WSO2. We founded the company on the premise that wire-level interop was a bigger game changer than API compatibility. I think the REST crowd would have to agree .
Five years ago, J2EE was still seen as "the answer" by the enterprise vendors. But even then, most Java programmers weren't J2EE programmers, and most programmers weren't Java programmers. And since then we have seen Spring and dependency-injection challenge the core concept of enterprise APIs, and Ruby, PHP, Python, F#, Scala, Erlang challenge Java. The only points of agreement are web-protocols - HTTP/REST, SMTP/email, XMPP and SOAP/WS-*. I hope we can soon add AMQP to the list as a high-performance reliable protocol.
One single protocol for use within the firewall and between business partners would be ideal. But for communication between AMQP servers, the AMQP spec only mentions "explicit bridges".
ReplyDeleteAs such, AMQP focuses on messaging within the corporate firewall. Having a standard protocol doesn't add much value there. There are plenty of good and free/cheap MOM implementations.
So I can't understand your enthusiasm about AMQP.
Guy,
ReplyDeleteYour observation is true but only within the current scope of time. The AMQP roadmap addresses this. Broker to Broker federation is the next major aspect of the protocol we will work on after completing 1.0. Unfortunate there is only so much scope that can be managed at one time and still hope to get resolution.
Please see the comment I left on your posting regarding this concern for a fuller explanation.
http://guycrets.blogspot.com/2008/08
/amqp-enthusiasm.html
Matthew