| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| |
| <section id="AMQP-Compatibility"> |
| <title> |
| AMQP compatibility |
| </title> |
| <para> |
| Qpid provides the most complete and compatible implementation |
| of AMQP. And is the most aggressive in implementing the latest |
| version of the specification. |
| </para> |
| <para> |
| There are two brokers: |
| </para> |
| |
| <itemizedlist> |
| <listitem><para>C++ with support for AMQP 0-10</para></listitem> |
| <listitem><para>Java with support for AMQP 0-8 and 0-9 (0-10 planned)</para></listitem> |
| </itemizedlist> |
| <para> |
| There are client libraries for C++, Java (JMS), .Net (written in |
| C#), python and ruby. |
| </para> |
| <itemizedlist> |
| <listitem><para>All clients support 0-10 and interoperate with the C++ |
| broker. |
| </para></listitem> |
| </itemizedlist> |
| <itemizedlist> |
| <listitem><para>The JMS client supports 0-8, 0-9 and 0-10 and interoperates |
| with both brokers. |
| </para></listitem> |
| </itemizedlist> |
| <itemizedlist> |
| <listitem><para>The python and ruby clients will also support all versions, |
| but the API is dynamically driven by the specification used and |
| so differs between versions. To work with the Java broker you |
| must use 0-8 or 0-9, to work with the C++ broker you must use |
| 0-10. |
| </para></listitem> |
| </itemizedlist> |
| <itemizedlist> |
| <listitem><para>There are two separate C# clients, one for 0-8 that |
| interoperates with the Java broker, one for 0-10 that |
| inteoperates with the C++ broker. |
| </para></listitem> |
| </itemizedlist> |
| <para> |
| QMF Management is supported in Ruby, Python, C++, and via QMan |
| for Java JMX & WS-DM. |
| </para> |
| <section role="h3" id="AMQPcompatibility-AMQPCompatibilityofQpidreleases-3A"> |
| <title> |
| AMQP |
| Compatibility of Qpid releases: |
| </title> |
| <para> |
| Qpid implements the AMQP Specification, and as the specification |
| has progressed Qpid is keeping up with the updates. This means |
| that different Qpid versions support different versions of AMQP. |
| Here is a simple guide on what use. |
| </para> |
| <para> |
| Here is a matrix that describes the different versions supported |
| by each release. The status symbols are interpreted as follows: |
| </para> |
| |
| <variablelist> |
| <varlistentry> |
| <term>Y</term> |
| <listitem><para>supported</para></listitem> |
| </varlistentry> |
| <varlistentry> |
| <term>N</term> |
| <listitem><para>unsupported</para></listitem> |
| </varlistentry> |
| <varlistentry> |
| <term>IP</term> |
| <listitem><para>in progress</para></listitem> |
| </varlistentry> |
| <varlistentry> |
| <term>P</term> |
| <listitem><para>planned</para></listitem> |
| </varlistentry> |
| </variablelist> |
| |
| <table> |
| <title>AMQP Version Support by Qpid Release</title> |
| <tgroup cols="6"> |
| <tbody> |
| <row> |
| <entry> |
| Component |
| </entry> |
| <entry> |
| Spec |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| M2.1 |
| </entry> |
| <entry> |
| M3 |
| </entry> |
| <entry> |
| M4 |
| </entry> |
| <entry> |
| 0.5 |
| </entry> |
| </row> |
| <row> |
| <entry> |
| java client |
| </entry> |
| <entry> |
| 0-10 |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-9 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-8 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| java broker |
| </entry> |
| <entry> |
| 0-10 |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| P |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-9 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-8 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| c++ client/broker |
| </entry> |
| <entry> |
| 0-10 |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-9 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| </row> |
| <row> |
| <entry> |
| python client |
| </entry> |
| <entry> |
| 0-10 |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-9 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-8 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| ruby client |
| </entry> |
| <entry> |
| 0-10 |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-8 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| C# client |
| </entry> |
| <entry> |
| 0-10 |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| 0-8 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| <!--h3--> |
| </section> |
| |
| <section role="h3" id="AMQPcompatibility-InteroptablebyAMQPspecificationversion"> |
| <title> |
| Interop |
| table by AMQP specification version |
| </title> |
| <para> |
| Above table represented in another format. |
| </para> |
| <table> |
| <title>AMQP Version Support - alternate format</title> |
| <tgroup cols="5"> |
| <tbody> |
| <row> |
| <entry> |
| |
| </entry> |
| <entry> |
| release |
| </entry> |
| <entry> |
| 0-8 |
| </entry> |
| <entry> |
| 0-9 |
| </entry> |
| <entry> |
| 0-10 |
| </entry> |
| </row> |
| <row> |
| <entry> |
| java client |
| </entry> |
| <entry> |
| M3 M4 0.5 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| java client |
| </entry> |
| <entry> |
| M2.1 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| N |
| </entry> |
| </row> |
| <row> |
| <entry> |
| java broker |
| </entry> |
| <entry> |
| M3 M4 0.5 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| N |
| </entry> |
| </row> |
| <row> |
| <entry> |
| java broker |
| </entry> |
| <entry> |
| trunk |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| P |
| </entry> |
| </row> |
| <row> |
| <entry> |
| java broker |
| </entry> |
| <entry> |
| M2.1 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| N |
| </entry> |
| </row> |
| <row> |
| <entry> |
| c++ client/broker |
| </entry> |
| <entry> |
| M3 M4 0.5 |
| </entry> |
| <entry> |
| N |
| </entry> |
| <entry> |
| N |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| c++ client/broker |
| </entry> |
| <entry> |
| M2.1 |
| </entry> |
| <entry> |
| N |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| N |
| </entry> |
| </row> |
| <row> |
| <entry> |
| python client |
| </entry> |
| <entry> |
| M3 M4 0.5 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| <row> |
| <entry> |
| python client |
| </entry> |
| <entry> |
| M2.1 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| N |
| </entry> |
| </row> |
| <row> |
| <entry> |
| ruby client |
| </entry> |
| <entry> |
| M3 M4 0.5 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| N |
| </entry> |
| </row> |
| <row> |
| <entry> |
| ruby client |
| </entry> |
| <entry> |
| trunk |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| P |
| </entry> |
| </row> |
| <row> |
| <entry> |
| C# client |
| </entry> |
| <entry> |
| M3 M4 0.5 |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| N |
| </entry> |
| <entry> |
| N |
| </entry> |
| </row> |
| <row> |
| <entry> |
| C# client |
| </entry> |
| <entry> |
| trunk |
| </entry> |
| <entry> |
| Y |
| </entry> |
| <entry> |
| N |
| </entry> |
| <entry> |
| Y |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| <!--h3--> |
| </section> |
| |
| </section> |