Talk:Advanced Message Queuing Protocol

Historical Inaccuracy
The description of AMQP's origins are severely inaccurate. The protocol was designed by myself (Pieter Hintjens) with input from JPMC engineers and others in iMatix, during 2004-2006. JPMC contracted us after failing to design a protocol themselves. I posted the original archives (https://github.com/imatix/openamq) to show the many iterations of the protocol from its original state to the 0.8 version that was the basis for the committee effort. Pieter Hintjens (talk) 09:32, 19 November 2014 (UTC)

Licensing Questions
I believe the current text regarding opinions on the provisions of the AMQP license are not being made by a lawyer. The intent of the AMQP License is to allow implementation and distribution, but not modification of the *specification* itself.

There is specific clarification about this by the AMQP WG itself: Extract: "We encourage both commercial and open source implementations of AMQP, in software, hardware or embedded in other services and solutions. We encourage distribution of implementations in source or binary forms and we encourage the bundling and distribution of AMQP as part of operating systems and other infrastructure. The AMQP License enables this."

I believe that the "legal opinion" in the entry should be omitted as it is clearly the intent of the protocol authors that AMQP be broadly implemented and distributed. I propose that the legal opinion is removed. --Egalis (talk) 20:41, 2 June 2009 (UTC)

ACTIONED: Today I removed the licensing Controvery section as no one has objected to my notes above. --Egalis (talk) 22:00, 26 June 2009 (UTC) 26 June, 2009.

The AMQP model
I added a bit of text detailing the AMQP model. I'd like to put up a couple of points for discussion


 * Is the text readable for someone new to AMQP? Can it be simplified and/or clarified? Can details such as entity properties be moved to somewhere later in the text?
 * Is always the correct terminology used? I deliberately omitted things like sessions and tracks however.
 * Is everything correct?
 * The spec (0.10) states the queue and exchange names have the same type but speak of utf-8 only in the context of queue names. Are both naming schemas the same?

There are also critical omissions / things to do:


 * Failures modes / unroutable messages / accept and acquire modes / ACK. This also leads to the omission of the alternate-exchange property.
 * There is no differentiation between version 0.8, 0.9 and 0.10 of the spec.
 * Transactions.
 * Default exchanges and changed semantics (implicit bindings).
 * The text is pretty much absent of links and formatting.
 * More examples are needed.

The source for my description is the version 0.10 of the official specification.

Yawn09 (talk) 17:10, 12 February 2009 (UTC)

We need to add some info covering the transition of AMQP to OASIS Standards Group and the differences between 1.0 and 0.9.1. Egalis (talk) 02:25, 9 February 2012 (UTC)

Links
Why have my link to 0MQ implementation of AMQP been removed? —Preceding unsigned comment added by 89.173.41.158 (talk) 20:44, 11 February 2009 (UTC)

I have reinstated your edits regarding ZeroMq. It is an implementation of AMQP and thus belongs here. Ade oshineye (talk) 07:56, 12 February 2009 (UTC)

According to zeromq's FAQ, AMQP support was dropped (the question is Does ØMQ support AMQP protocol?), so I'm surprised to see zeromq listed here. —Preceding unsigned comment added by 94.124.131.44 (talk) 12:30, 18 May 2010 (UTC)

Recommend removal of references to OpenAMQ and 0MQ. This is piggy-back marketing where the vendor decided to leave the standards group and go his own way, somewhat acrimoniously. 0MQ is not compatible with other implementations and OpenAMQ was publicly abandoned by the same vendor as documented in the 2011 version of this article. — Preceding unsigned comment added by Egalis (talk • contribs) 02:21, 9 February 2012 (UTC)

OpenAMQ should be reinstated. It is an implementation of AMQP (the first I think) and thus belongs here. — Preceding unsigned comment added by 63.166.115.40 (talk) 21:55, 20 April 2012 (UTC)

Corporate Financial Motivation
Some background in to the corporate financial reasons for creating yet another interoperability specification in a sea of such specifications would benefit the article considerably. Fredric Rice (talk) 18:01, 5 February 2010 (UTC)

External reference: iMatix and ZeroMQ
Why the external reference to iMatix message about ZeroMQ was removed?

Isn't this kind of information exactly what any adopter needs to review to build the pros and cons matrix?

The edit:
 * 15:11, 1 April 2010 74.62.23.134 (21,955 bytes) - Herndon, VA

The link removed:
 * iMatix: AMQP is fundamentally flawed, and unfixable

The iMatix OpenAMQ broker has been removed from the list of implementations. Along with the inaccurate History section (which claims, falsely and with irrelevant reference to a 2007 article, that the protocol existed in 2003), these changes warrant a tag, which I've added. There is a full change history of AMQP and OpenAMQ evolving from their first versions in 2004 to the 0.8 release that was passed to the working group, at https://raw.githubusercontent.com/imatix/openamq/1f623b53f9f3934559a472beb842d4c15614edbe/release.txt Pieter Hintjens (talk) 15:43, 1 January 2016 (UTC)


 * I have removed the tag and the inaccurate claim about the protocol existing in 2003. --Joshua Issac (talk) 19:55, 23 May 2017 (UTC)

But what is it really?
I read the intro and skimmed the article; I still don't really know how it fits in with the rest of the world.

Are emails sent over AMQP? If so, are the emails broken into pieces, each is an AMQP message? Or is it more like many emails get lumped together as one AMQP message? Is it used for voicemail? Or online chat, or online video?

Do the messages transport in 1/100 of a second, or does it take a day? Are AMQP messages just a few bytes? or usually over a megabyte or gigabyte? Is it mostly for communication between server processes, process to process, and humans are rarely involved? Or can a human be an endpoint? How does an AMQP link between processes differ from a TCP/IP link? From an SMTP or HTTP link? Do endpoints have URLs? or other kinds of address or rendezvous mechanisms?

Giving a few real-world examples would answer a lot of these questions. One that could be understood by your dad. OsamaBinLogin (talk) 21:25, 16 October 2014 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on Advanced Message Queuing Protocol. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20121010015604/http://lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html to http://lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 08:22, 27 June 2017 (UTC)

API
I remvoed the following sentence:

"Note that, like HTTP and XMPP, AMQP does not have a standard API."

It also doesn't have a pet cat. Because it is a wire-level protocols it can't have an APIs in the traditional sense, making this a category error. If you were to stretch the term you could argue that and API is a higher level protocol, or even that a protocol is a low level API, but at this point the words cease to have their commonly accepted meanings. All the best: Rich Farmbrough 15:09, 12 May 2024 (UTC).