Este conteúdo não está disponível no idioma selecionado.
Chapter 3. AMQP 1.0 Client APIs
Abstract
AMQP 1.0 is approved International standard approved by the International Standards Organization (ISO) and the International Electrotechnical Commission (IEC).
The Advanced Message Queuing Protocol is an open Internet Protocol for Business Messaging. AMQP is separated into layers. The lowest level defines a binary peer-to-peer protocol for transporting messages between two processes over a network. the second layer defines an abstract message format, with concrete standard encoding. Every compliant AMQP process must be able to send and receive messages in this standard encoding.
3.1. Introduction to AMQP
What is AMQP?
The Advanced Message Queuing Protocol (AMQP) is an open standard messaging system, which has been designed to facilitate interoperability between messaging systems. The key features of AMQP are:
- Open standard (defined by the OASIS AMQP Technical Committee)
- Defines a wire protocol
- Defines APIs for multiple languages (C++, Java)
- Interoperability between different AMQP implementations
JMS is an API
It is interesting to contrast the Java Message Service (JMS) with AMQP. The JMS is first and foremost an API and is designed to enable Java code to be portable between different messaging products. JMS does not describe how to implement a messaging service (although it imposes significant constraints on the messaging behaviour), nor does JMS specify any details of the wire protocol for transmitting messages. Consequently, different JMS implementations are generally not interoperable.
AMQP is a wire protocol
AMQP, on the other hand, does specify complete details of a wire protocol for messaging (in an open standard). Moreover, AMQP also specifies APIs in several different programming languages (for example, Java and C++). An implementation of AMQP is therefore much more constrained than a comparable JMS implementation. One of the benefits of this is that different AMQP implementations ought to be interoperable with each other.
AMQP-to-JMS requires message conversion
If you want to bridge from an AMQP messaging system to a JMS messaging system, the messages must be converted from AMQP format to JMS format. Usually, this involves a fairly lightweight conversion, because the message body can usually be left intact while message headers are mapped to equivalent headers.