Apache Qpid / Red Hat MRG Messaging
Apache Qpid is open source AMQP implementation licensed under the Apache License 2.0. Red Hat MRG Messaging is a product from Red Hat which is based on the Apache Qpid project. More information can be found on the Qpid website: http://qpid.apache.org or on the Red Hat website: http://www.redhat.com/.
The client libraries supporting both AMQP 0-10 and 1.0 are available for multiple programming languages, including:
- C++
- C# .NET
- Java
- Python
Following components are expected to be compatible with Eurex Clearing interfaces:
- Qpid Messaging API (C++, AMQP 0-10, AMQP 1.0)1
- Qpid JMS (Java, AMQP 0-10)
- Qpid JMS (Java, AMQP 1.0)
- AMQP 1.0 JMS Client (Java, AMQP 1.0)2
- Qpid Messaging API (pure Python, AMQP 0-10)3
- Qpid Dispatch router (AMQP 1.0 only)
The Qpid project has three different JMS libraries:
- Qpid JMS client for AMQP 0-10 (http://qpid.apache.org/components/jms/amqp-0-x.html) is a client which supports the older version of the AMQP protocol 0-10.
- Qpid JMS client for AMQP 1.0 (http://qpid.apache.org/components/jms/index.html) is still only in early version, but it is the main AMQP 1.0 client for Java which should continue to be supported and developed in a long term. This client is compatible with our interfaces starting with the release 0.2.0.
- AMQP 1.0 JMS client (http://qpid.apache.org/components/jms/amqp-1.0-prototype.html) is prototype AMQP implementation. It is fully compatible with Eurex interfaces, but it is not being developed anymore. Therefore it is recommended to use the Qpid JMS client for AMQP 1.0 instead.
Members are free to choose any of the above mentioned libraries according to their own requirements. The last versions tested for compatibility with Eurex Clearing interfaces were 0.32 (0.34 for the C++ client) and 0.4.0 (for the Qpid JMS client). The version of the Dispatch router tested for compatibility with Eurex Clearing interfaces is 0.5.
The documentation for the client libraries can be obtained from two sources. The Apache Qpid project provides the documentation as well as API references for all of its components on its website (http://qpid.apache.org/documentation.html) Additionally, Red Hat provides the documentation for its MRG Messaging product. This includes the “Messaging Installation Guide”, “Messaging User Guide” and “Programming in Apache Qpid” documents – can be found in the documentation section of Red Hat’s website: http://docs.redhat.com/.
1. The Qpid Messaging API is written in C++. Bindings are available for .NET, Python, Ruby and Perl. ↩
2. The current Qpid JMS client with AMQP 1.0 support is a “prototype” / “experimental” implementation. A brand new JMS client based on the Qpid Proton library is being actively developed. ↩
3. The Qpid Messaging client written in pure Python has a different API than the C++ library (including its Python binding). It is not expected that the pure Python API would support AMQP 1.0 in the future. Therefore it should be preferred to use the Python bindings to the C++ library. ↩