Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Improved layout and eliminated redundancies between broker and client tables
Table of Contents
Warning
titleIncomplete

This table is a work-in-progress and should considered neither complete nor correct at this point.

...

Info
titleInteroperability Not Implied

This table does not imply interoperability across broker implementations. For instance, if the Java and C++ brokers both support clustering, the ability to use clustering from a Java client to a C++ broker is not implied here. Interoperability is covered in a separate 0.6 Interoperability Matrix page.

Related Pages

0.6 Feature Descriptions
0.6 Interoperability Matrix

Table Key

Y : Supported
N : Not Supported
P : Planned
PX.Y : Planned for release X.Y
? : Unknown: may/should work, but not tested
- : Not applicable

Broker Features

HTML

<table border="1" cellpadding="2">

<tr>
<th rowspan="32">&nbsp;</th>
<th colspan="32" bgcolor="#e0e0e0">Brokers<>C++</th>
<th colspan="7" bgcolor="#e0e0e0">Clients<>Java</th>
</tr>

<tr>
<th colspan="2" bgcolor="#e0e0e0">C++<>Linux</th>
<th bgcolor="#e0e0e0">Java<>Windows</th>
<th colspan="2" bgcolor="#e0e0e0">C++>*</th>
<th
</tr>

<tr bgcolor="#e0e0e0#404040">JMS</th>>
<th<td bgcolorcolspan="#e0e0e0">Java</th>
<th bgcolor4"><font color="#e0e0e0yellow">Python</th>
<th bgcolorsize="#e0e0e0">Ruby</th>
<th bgcolor="#e0e0e0">WCF</th>+1"><b>Protocols</b></font></td>
</tr>

<tr>
<th<td bgcolor="#e0e0e0">Linux</th>
<th bgcolor="#e0e0e0">Windows</th>
<th bgcolor="#e0e0e0">*</th>
<th bgcolor="#e0e0e0">Linux</th>
<th bgcolor="#e0e0e0">Windows</th>
<th bgcolor="#e0e0e0">*</th>
<th>AMQP 0-8</td>
<!-- C++ Broker Linux --><td><font color="red"><b>N</b></font></td>
<!-- C++ Broker Win   --><td><font color="red"><b>N</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">*</th>
<th bgcolor="#e0e0e0">*</th>
<th bgcolor="#e0e0e0">*</th>
<th bgcolor="#e0e0e0">Windows</th>>AMQP 0-9</td>
<!-- C++ Broker Linux --><td><font color="red"><b>N</b></font></td>
<!-- C++ Broker Win   --><td><font color="red"><b>N</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
</tr>

<tr<tr>
<td bgcolor="#404040">
<td colspan="11"><font color="yellow" size="+1"><b>Protocol Features</b><sup>1</sup></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0"#e0e0e0">AMQP 0-8<10</td>
<!-- C++ Broker Linux --><td><font color="redgreen"><b>N<><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="redgreen"><b>N<><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">AMQP 1-0</td>
<!-- C++ ClientBroker Linux --><td><font color="redblue"><b>N<><b>P</b></font></td>
<!-- C++ ClientBroker Win   --><td><font color="redblue"><b>N<><b>P</b></font></td>
<!-- JMSJava ClientBroker *     --><td><font color="greenblue"><b>Y<><b>P</b></font></td>
<!-- Java Client *    --><td>&nbsp;</tr>

<tr>
<td bgcolor="#e0e0e0"><a href="0.6 Features#Producer Flow Control">Producer Flow Control</a></td>
<!-- PythonC++ ClientBroker *Linux  --><td><b>?<><td><font color="green"><b>Y</b></font></td>
<!-- RubyC++ ClientBroker *Win    --><td><b>?</b><><td><font color="green"><b>Y</b></font></td>
<!-- Java WCFBroker Client* Win   --><td><font color="redgreen"><b>N<><b>Y</b><sup>4</b><sup></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">AMQP 0-9<>Transactions</td>
<!-- C++ Broker Linux --><td><font color="redgreen"><b>N<><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="redgreen"><b>N<><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Distributed Transactions</td>
<!-- C++ ClientBroker Linux --><td><font color="redgreen"><b>N<><b>Y</b></font></td>
<!-- C++ ClientBroker Win   --><td><font color="redgreen"><b>N<><b>Y</b><sup>3</b><sup></font></td>
<!-- JMSJava ClientBroker *     --><td><font color="green"><b>Y</b></font><><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">SSL</td>
<!-- JavaC++ Client *    --><td>&nbsp;<Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ PythonBroker ClientWin *  --><td><b>?<><td><font color="blue"><b>P</b></font></td>
<!-- RubyJava ClientBroker *    --><td><b>?</b><><td>&nbsp;</td>
<!-- WCF Client Win   --><td><font color="red"><b>N</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">AMQP 0-10</tr>

<tr>
<td bgcolor="#e0e0e0">RDMA</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="greenred"><b>Y<><b>N</b></font></td>
<!-- Java Broker *    --><td><font color="greenred"><b>Y<><b>N</b></font></td>
<!-- C++ Client Linux --><td><font/tr>

<tr bgcolor="#404040">
<td colspan="4"><font color="green"><b>Y</b></font><yellow" size="+1"><b>Broker Features</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">ACL</td>
<!-- C++ ClientBroker Win  Linux --><td><font color="green"><b>Y</b></font></td>
<!-- JMSC++ ClientBroker *Win     --><td><font color="greenblue"><b>Y<><b>P</b></font></td>
<!-- Java ClientBroker *    --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Clustering</td>
<!-- PythonC++ ClientBroker *Linux  --><td><font color="green"><b>Y</b></font></td>
<!-- RubyC++ ClientBroker *Win    --><td><font color="greenred"><b>Y<><b>N</b></font></td>
<!-- WCFJava Broker Client* Win   --><td><font color="greenred"><b>Y<><b>N</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">AMQP 1-0<>Federation</td>
<!-- C++ Broker Linux --><td><font color="bluegreen"><b>P<><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="bluegreen"><b>P<><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="blue"><b>P</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Management Exchange</td>
<!-- C++ ClientBroker Linux --><td><font color="bluegreen"><b>P<><b>Y</b></font></td>
<!-- C++ ClientBroker Win   --><td><font color="bluegreen"><b>P<><b>Y</b></font></td>
<!-- JMSJava ClientBroker *     --><td><font color="bluegreen"><b>P<><b>Y</b><sup>2</b><sup></font></td>
<!-- Java Client *    --><td>&nbsp;</tr>

<tr>
<td bgcolor="#e0e0e0">QMF Agent</td>
<!-- PythonC++ ClientBroker *Linux  --><td><font color="bluegreen"><b>P<><b>Y</b></font></td>
<!-- RubyC++ ClientBroker *Win    --><td><font color="bluegreen"><b>P<><b>Y</b></font></td>
<!-- Java WCFBroker Client* Win   --><td><font color="bluegreen"><b>P<><b>Y</b><sup>2</b><sup></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0"><a href="0.6 Features#Producer Flow Control">Producer Flow Control</a><>JMX bridge</td>
<!-- C++ Broker Linux --><td><font color="greenred"><b>Y<><b>N</b></font></td>
<!-- C++ Broker Win   --><td><font color="greenred"><b>Y<><b>N</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></b><sup>5<font></sup></font><td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Replication</td>
<!-- C++ ClientBroker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ ClientBroker Win   --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- JMSJava ClientBroker *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</tr>

<tr>
<td bgcolor="#e0e0e0">Watchdog</td>
<!-- PythonC++ ClientBroker *Linux  --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- RubyC++ ClientBroker *Win    --><td>&nbsp;</td>
<!-- Java WCFBroker Client* Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Transactions<>XML Exchange</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font><><td>&nbsp;</td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Last Value Queue</td>
<!-- C++ ClientBroker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ ClientBroker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- JMSJava ClientBroker *     --><td><font color="greenblue"><b>Y<><b>P</b></font></td>
<!-- Java Client *    --><td>&nbsp;</tr>

<tr>
<td bgcolor="#e0e0e0">Priority Queue</td>
<!-- PythonC++ ClientBroker * Linux --><td><font color="green"><b>Y</b></font></td>
<!-- RubyC++ ClientBroker * Win   --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- Java WCFBroker Client* Win   --><td>&nbsp;</><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Distributed>SASL Transactions<Security</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b><sup>4<b></sup></font></td>
<!-- Java Broker *    --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">BDB Store Module</td>
<!-- C++ ClientBroker Linux --><td><font color="greenred"><b>Y<><b>N</b></font></td>
<!-- C++ ClientBroker Win   --><td>&nbsp;<><td><font color="red"><b>N</b></font></td>
<!-- JMSJava ClientBroker *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">SQL Database Store Module</td>
<!-- PythonC++ ClientBroker *Linux  --><td>&nbsp;<><td><font color="red"><b>N</b></font></td>
<!-- RubyC++ ClientBroker *Win    --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- WCFJava ClientBroker Win*    --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">SSL<>Async Store Module</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="bluered"><b>P<><b>N</b></font></td>
<!-- Java Broker *    --><td>&nbsp;</><td><font color="red"><b>N</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Durable Exchanges</td>
<!-- C++ ClientBroker Linux --><td><font color="green"><b>Y</b><sup>1</b><sup></font></td>
<!-- C++ ClientBroker Win   --><td>&nbsp;<><td><font color="green"><b>Y</b><sup>1</sup></font></td>
<!-- JMSJava ClientBroker *     --><td>&nbsp;<--><td><font color="green"><b>Y</b><sup>1</sup></font></td>
<!-- Java Client *    --><td>&nbsp;</tr>

<tr>
<td bgcolor="#e0e0e0">Durable Queues</td>
<!-- PythonC++ ClientBroker *Linux  --><td>&nbsp;<--><td><font color="green"><b>Y</b><sup>1</sup></font></td>
<!-- RubyC++ ClientBroker *Win    --><td>&nbsp;<--><td><font color="green"><b>Y</b><sup>1</sup></font></td>
<!-- WCFJava Broker Client* Win   --><td>&nbsp;<><td><font color="green"><b>Y</b><sup>1</sup></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">RDMA<>Durable Bindings</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b><sup>1</b><sup></font></td>
<!-- C++ Broker Win   --><td><font color="redgreen"><b>N<><b>Y</b><sup>1</b><sup></font></td>
<!-- Java Broker *    --><td><font color="redgreen"><b>N<><b>Y</b><sup>1</b><sup></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Queue Sizing Policies</td>
<!-- C++ ClientBroker Linux --><td><b>-<><td><font color="green"><b>Y</b></font></td>
<!-- C++ ClientBroker Win   --><td><b>-</b></td>
<!-- JMS Client *     --><td><b>-</b><><td>&nbsp;</td>
<!-- Java ClientBroker *    --><td>&nbsp;</td>
<!-- Python Client *  --><td><b>-</b><//tr>

<tr>
<td bgcolor="#e0e0e0">Flow-to-disk</td>
<!-- RubyC++ ClientBroker * Linux --><td><font color="green"><b>Y</b><sup>1</sup></font></td>
<!-- C++ Broker Win   --><td><b>-><td>&nbsp;</b></td>
<!-- Java WCFBroker Client* Win   --><td><b>-<><td><font color="red"><b>N</b></font></td>
</tr>

<tr bgcolor="#404040">
<td colspan="114"><font color="yellow" size="+1"><b>Broker><b>External Features<Tools</b><sup>1<b></sup></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">ACL<>qpid-config</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="bluegreen"><b>P<><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Client Linux --><td><font color="green"><b>Y</b></font><><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">qpid-tool</td>
<!-- C++ ClientBroker Win Linux  --><td><font color="green"><b>Y</b></font></td>
<!-- JMSC++ ClientBroker *  Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java ClientBroker *    --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">qpid-cluster</td>
<!-- PythonC++ ClientBroker *Linux  --><td><font color="green"><b>Y</b></font></td>
<!-- RubyC++ ClientBroker *Win    --><td>&nbsp;<><td><font color="red"><b>N</b></font></td>
<!-- Java WCFBroker Client* Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Clustering<>qpid-route</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="redgreen"><b>N<><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="red"><b>N</b></font></><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">qpid-stat</td>
<!-- C++ ClientBroker Linux --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- C++ ClientBroker Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- Java ClientBroker *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Wintr>

</table>


Notes
1. When a store module is loaded
2. via Qman
3. Not persistent at this time on SQL Database store
4. On 0-8, 0-9 and 0-9-1 only at this time

Client Features

HTML

<table border="1" cellpadding="2">

<tr>
<th rowspan="2">   --><td>&nbsp;</td>
</tr>

<tr>
<tdth>
<th colspan="2" bgcolor="#e0e0e0">Federation</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="blue"><b>P</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Management Exchange</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b><sup>3</sup></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">QMF Agent</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b><sup>3</sup></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">JMX bridge</td>
<!-- C++ Broker Linux --><td><font color="red"><b>N</b></font></td>
<!-- C++ Broker Win   --><td><font color="red"><b>N</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Replication</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java Broker *    --><td>&nbsp;</td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Watchdog</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td>&nbsp;</td>
<!-- Java Broker *    --><td>&nbsp;</td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">XML Exchange</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td>&nbsp;</td>
<!-- Java Broker *    --><td>&nbsp;</td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Last Value Queue</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="blue"><b>P</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Priority Queue</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">SASL Security</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">BDB Store Module</td>
<!-- C++ Broker Linux --><td><font color="red"><b>N</b></font></td>
<!-- C++ Broker Win   --><td><font color="red"><b>N</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">SQL Database Module</td>
<!-- C++ Broker Linux --><td><font color="red"><b>N</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Async Store Module</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="red"><b>N</b></font></td>
<!-- Java Broker *    --><td><font color="red"><b>N</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Durable Exchanges</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Durable Queues</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Durable Bindings</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- Java Broker *    --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Queue Sizing Policies</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td>&nbsp;</td>
<!-- Java Broker *    --><td>&nbsp;</td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Flow-to-disk</td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y</b><sup>2</sup></font></td>
<!-- C++ Broker Win   --><td>&nbsp;</td>
<!-- Java Broker *    --><td><font color="red"><b>N</b></font></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr bgcolor="#404040">
<td colspan="11"><font color="yellow" size="+1"><b>Client Features</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">New API</td>
<!-- C++ Broker Linux --><td><b>-</b></td>
<!-- C++ Broker Win   --><td><b>-</b></td>
<!-- Java Broker *    --><td><b>-</b></td>
<!-- C++ Client Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Client Win   --><td><font color="green"><b>Y</b></font></td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td><font color="green"><b>Y</b></font></td>
<!-- Ruby Client *    --><td><font color="blue"><b>P</b></font></td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">QMF library</td>
<!-- C++ Broker Linux --><td><b>-</b></td>
<!-- C++ Broker Win   --><td><b>-</b></td>
<!-- Java Broker *    --><td><b>-</b></td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Priority Delivery</td>
<!-- C++ Broker Linux --><td>&nbsp;</td>
<!-- C++ Broker Win   --><td>&nbsp;</td>
<!-- Java Broker *    --><td>&nbsp;</td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>>C++</th>
<th bgcolor="#e0e0e0">JMS</th>
<th bgcolor="#e0e0e0">Java</th>
<th bgcolor="#e0e0e0">Python</th>
<th bgcolor="#e0e0e0">Ruby</th>
<th bgcolor="#e0e0e0">WCF</th>
</tr>

<tr>
<th bgcolor="#e0e0e0">Linux</th>
<th bgcolor="#e0e0e0">Windows</th>
<th bgcolor="#e0e0e0">*</th>
<th bgcolor="#e0e0e0">*</th>
<th bgcolor="#e0e0e0">*</th>
<th bgcolor="#e0e0e0">*</th>
<th bgcolor="#e0e0e0">Windows</th>
</tr>

<tr bgcolor="#404040">
<td colspan="118"><font color="yellow" size="+1"><b>External Tools<><b>Protocols</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Configuration<">AMQP 0-8</td>
<!-- C++ Client Linux --><td><font color="red"><b>N</b></font></td>
<!-- C++ Client Win Broker Linux --><td><font color="greenred"><b>Y<><b>N</b></font></td>
<!-- C++ Broker WinJMS Client *     --><td><font color="green"><b>Y</b></font></td>
<!-- Java BrokerClient *    --><td>&nbsp;</td>
<!-- C++Python Client * Linux --><td>&nbsp;<><td><b>?</b></td>
<!-- C++Ruby Client Win*    --><td>&nbsp;<><td><b>?</b></td>
<!-- JMSWCF Client *Win   --><td><font color="red"><b>N</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">AMQP --><td>&nbsp;<0-9</td>
<!-- JavaC++ Client *Linux    --><td>&nbsp;<--><td><font color="red"><b>N</b></font></td>
<!-- PythonC++ Client *Win   --><td>&nbsp;<><td><font color="red"><b>N</b></font></td>
<!-- RubyJMS Client *     --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- WCFJava Client * Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Status Query<!-- Python Client *  --><td><b>?</b></td>
<!-- C++ Broker Linux --><td><font color="green"><b>Y< Ruby Client *    --><td><b>?</b></font></td>
<!-- C++WCF BrokerClient Win   --><td><font color="greenred"><b>Y<><b>N</b></font></td>
<!-- Java Broker *    --><td>&nbsp;</tr>

<tr>
<td bgcolor="#e0e0e0">AMQP 0-10</td>
<!-- C++ Client Linux --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- C++ Client Win   --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- JMS Client *     --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- Ruby Client *    --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- WCF Client Win   --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Cluster>AMQP Management<1-0</td>
<!-- C++ BrokerClient Linux --><td><font color="greenblue"><b>Y<><b>P</b></font></td>
<!-- C++ Broker WinClient Win   --><td><font color="blue"><b>P</b></font></td>
<!-- JMS Client *     --><td><font color="redblue"><b>N<><b>P</b></font></td>
<!-- Java BrokerClient *    --><td>&nbsp;</td>
<!-- Python Client *  --><td><font color="blue"><b>P</b></font></td>
<!-- C++Ruby Client Linux*    --><td>&nbsp;<><td><font color="blue"><b>P</b></font></td>
<!-- C++WCF Client Win   --><td>&nbsp;<><td><font color="blue"><b>P</b></font></td>
<!-- JMS Client *     --><td>&nbsp;</tr>


<tr bgcolor="#404040">
<td colspan="8"><font color="yellow" size="+1"><b>Client Features</b></font></td>
</tr>

<tr>
<td bgcolor="#e0e0e0">New API</td>
<!-- JavaC++ Client *   Linux --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- PythonC++ Client Win *  --><td>&nbsp;<><td><font color="green"><b>Y</b></font></td>
<!-- RubyJMS Client *     --><td>&nbsp;</td>
<!-- WCFJava Client * Win   --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Federation Management<nbsp;</td>
<!-- Python C++Client Broker* Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker WinRuby Client *    --><td><font color="greenblue"><b>Y<><b>P</b></font></td>
<!-- JavaWCF BrokerClient *Win    --><td>&nbsp;</td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;<</tr>

<tr>
<td bgcolor="#e0e0e0">QMF library</td>
<!-- JMS Client *      C++ Client Linux --><td>&nbsp;</td>
<!-- JavaC++ Client * Win   --><td>&nbsp;</td>
<!-- PythonJMS Client *     --><td>&nbsp;</td>
<!-- RubyJava Client *    --><td>&nbsp;</td>
<!-- WCFPython Client Win *  --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Statistics</td>
<!-- C++Ruby Broker Linux --><td><font color="green"><b>Y</b></font></td>
<!-- C++ Broker Win   --><td><font color="green"><b>Y</b></font><Client *    --><td>&nbsp;</td>
<!-- JavaWCF BrokerClient *Win    --><td>&nbsp;</td>
</tr>

<tr>
<td bgcolor="#e0e0e0">Priority Delivery</td>
<!-- C++ Client Linux --><td>&nbsp;</td>
<!-- C++ Client Win   --><td>&nbsp;</td>
<!-- JMS Client *     --><td>&nbsp;</td>
<!-- Java Client *    --><td>&nbsp;</td>
<!-- Python Client *  --><td>&nbsp;</td>
<!-- Ruby Client *    --><td>&nbsp;</td>
<!-- WCF Client Win   --><td>&nbsp;</td>
</tr>

</table>

Notes

...

Tools

HTML

...