The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for Message-Oriented Middleware (MOM). The defining features of AMQP are message orientation, queuing, routing (including Peer-to-Peer (P2P) and Publish-Subscribe), reliability and security.
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, Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), etc. have created interoperable systems. Previous standardization of Middleware have happened at the Application Programming Interface (API) level (e.g. Java Message Service (JMS)) and were focused on standardizing programmer interaction with different middleware implementations, rather than on providing interoperability between multiple implementations. Unlike JMS, which defines an API and a set of behaviors that a messaging implementation must provide, AMQP is a Wire Protocol. A wire-level protocol is a description of the format of the data that is sent across the network as a stream of bytes. Consequently, any tool that can create and interpret messages that conform to this data format can interoperate with any other compliant tool, irrespective of implementation language.
Source: https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol