AMQP (Advanced Message Queuing Protocol) is a binary, open standard application layer protocol designed to enable rapid communication between all message-oriented middleware. AMQP supports a wide range of messaging applications and communication patterns and provides flow controlled communication with message-delivery guarantees.
The project to develop AMQP was initiated by the investment bank JPMorgan Chase in 2003 as an open effort to develop a universal application layer communication protocol. The initial work on the new protocol was conducted by JPMorgan Chase till 2006 with some help from third-party contractors.
In 2005 JPMorgan Chase started approaching a number of large technological companies, such as Red Hat, Cisco Systems, Microsoft and other big players, to form a co-operative working group for the development of AMQP protocol in collaboration. Red Hat was one of the earliest partners to join JPMorgan Chase in this project. In 2005, Red Hat also started the development of Apache Qpid, an open-source messaging system that implements AMQP.
Eventually, the AMQP working group included 23 companies: JPMorgan Chase, Red Hat, Microsoft, Barclays, Goldman Sachs, Cisco Systems, Credit Suisse, Deutsche Börse, Bank of America, VMware (it acquired Rabbit Technologies which was also a part of the group), HCL Technologies Ltd, Progress Software, IIT Software, INETCO Systems Limited, Informatica, my-Channels, Novell, Software AG, Solace Systems, StormMQ, Tervela Inc., TWIST Process Innovations, and WSO2. In 2011, the AMQP working group was reorganized into an OASIS Technical Committee on AMQP. OASIS is a nonprofit consortium that works on the development, convergence, and adoption of product-independent standards in various technology fields.
First early version of AMQP (v.0.8) was released in June 2006, followed by a number of other releases over the next two years. AMQP 1.0 was released in 2011 at a conference in New York, followed by a demonstration of software solutions running the protocol that were developed by Microsoft, Red Hat, VMware and a number of other working group members. AMQP was approved as an OASIS open standard in 2012. In 2014, AMQP was also approved as an ISO and IEC International Standard.
Even though AMQP was initiated by JPMorgan Chase as a protocol primarily for the financial services industry, it is broadly applied across industries and in a wide range of middleware solutions.
As the AMQP protocol was designed to enable a wide range of communication patterns and messaging applications, the AMQP specification is defined in a number of layers, such as type system, a performance protocol for transferring messages from one process to another, a standard message format, and messaging capabilities.
AMQP is a wire-level protocol, which is a way of getting data from point to point by sending it across the network as a stream of bytes. This allows any tool to create, receive and interpret such messages regardless of the implementation language. Some of the most notable features of the AMQP protocol is flow controlled communication with message-delivery guarantees and the support authentication and encryption based on TLS (Transport Layer Security) protocol and SASL (Simple Authentication and Security Layer) framework.
There are a number of other open protocol specifications that are viewed as an alternative to AMQP. One of them is MQTT (Message Queuing Telemetry Transport), a lightweight publish-subscribe network protocol that transports messages between devices. Others include JMS (Java Message Service), STOMP (Streaming Text Oriented Messaging Protocol), XMPP (Extensible Messaging and Presence Protocol) and OpenWire.