The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security.
[1] AMQP mandates the behavior of the messaging provider and client to the extent that implementations from different vendors are interoperable, in the same way as SMTP, HTTP, FTP, etc.
[2] Unlike JMS, which defines an API and a set of behaviors that a messaging implementation must provide, AMQP is a wire-level protocol.
The initial design was by JPMorgan Chase from mid-2004 to mid-2006 and it contracted iMatix Corporation to develop a C broker and protocol documentation.
In 2005 JPMorgan Chase approached other firms to form a working group that included Cisco Systems, IONA Technologies, iMatix, Red Hat, and Transaction Workflow Innovation Standards Team (TWIST).
In the same year JPMorgan Chase partnered with Red Hat to create Apache Qpid, initially in Java and soon after C++.
The working group grew to 23 companies including Bank of America, Barclays, Cisco Systems, Credit Suisse, Deutsche Börse, Goldman Sachs, HCL Technologies Ltd, Progress Software, IIT Software, INETCO Systems Limited, Informatica (including 29 West), JPMorgan Chase, Microsoft Corporation, my-Channels, Novell, Red Hat, Software AG, Solace Systems, StormMQ, Tervela Inc., TWIST Process Innovations ltd, VMware (which acquired Rabbit Technologies) and WSO2.
In 2008, Pieter Hintjens, CEO and chief software designer of iMatix, wrote an article called "What is wrong with AMQP (and how to fix it)"[8] and distributed it to the working group to alert of imminent failure, identify problems seen by iMatix and propose ways to fix the AMQP specification.
In 2010, Hintjens announced that iMatix would leave the AMQP workgroup and did not plan to support AMQP/1.0 in favor of the significantly simpler and faster ZeroMQ.
The next day, on 1 November 2011, the formation of an OASIS Technical Committee was announced[11] to advance this contributed AMQP version 1.0 through the international open standards process.
The first draft from OASIS was released in February 2012,[12] the changes as compared to that published by the Working Group being restricted to edits for improved clarity (no functional changes).
The second draft was released for public review on 20 June (again with no functional changes),[13] and AMQP was approved as an OASIS standard on 31 October 2012.
[17][18] Whilst AMQP originated in the financial services industry, it has general applicability to a broad range of middleware problems.
AMQP defines a self-describing encoding scheme allowing interoperable representation of a wide range of commonly used types.
The type-system is used to define a message format allowing standard and extended meta-data to be expressed and understood by processing entities.
The header is a standard set of delivery-related annotations that can be requested or indicated for a message and includes time to live, durability, priority.