diff options
-rw-r--r-- | doc/book/src/AMQP compatibility.xml | 2 | ||||
-rw-r--r-- | doc/book/src/AMQP-Messaging-Broker-CPP.xml | 26 | ||||
-rw-r--r-- | doc/book/src/AMQP-Messaging-Broker-Java.xml | 30 | ||||
-rw-r--r-- | doc/book/src/AMQP-Messaging-Clients.xml | 11 | ||||
-rw-r--r-- | doc/book/src/Book.xml | 21 | ||||
-rw-r--r-- | doc/book/src/Qpid Interoperability Documentation.xml | 358 | ||||
-rw-r--r-- | doc/book/src/schemas.xml | 1 |
7 files changed, 428 insertions, 21 deletions
diff --git a/doc/book/src/AMQP compatibility.xml b/doc/book/src/AMQP compatibility.xml index 5b6838a092..ed01f52f94 100644 --- a/doc/book/src/AMQP compatibility.xml +++ b/doc/book/src/AMQP compatibility.xml @@ -6,7 +6,7 @@ <para> <emphasis>Qpid provides the most complete and compatible implementation of AMQP. And is the most aggressive in implementing the latest - version of the specification. Qpid can be</emphasis> <emphasis><xref linkend="qpid_Download"/></emphasis> + version of the specification. </para> <para> There are two brokers: diff --git a/doc/book/src/AMQP-Messaging-Broker-CPP.xml b/doc/book/src/AMQP-Messaging-Broker-CPP.xml index 3cd8be8665..8daf50b637 100644 --- a/doc/book/src/AMQP-Messaging-Broker-CPP.xml +++ b/doc/book/src/AMQP-Messaging-Broker-CPP.xml @@ -1,7 +1,20 @@ <?xml version="1.0"?> +<part> + <title>AMQP Messaging Broker (Implemented in C++)</title> + <partintro> + <para>Qpid provides two AMQP messaging brokers:</para> + + <itemizedlist> + <listitem><para>Implemented in C++ - high performance, low latency, and RDMA support.</para></listitem> + <listitem><para>Implemented in Java - Fully JMS compliant, runs on any Java platform.</para></listitem> + </itemizedlist> + + <para>Both AMQP messaging brokers support clients in multiple languages, as long as the messaging client and the messaging broker use the same version of AMQP. See <link linkend="AMQP-Compatibility"/> to see which messaging clients work with each broker.</para> + + <para>This section contains information specific to the broker that is implemented in C++.</para> + </partintro> + <chapter> - <title>AMQP Messaging Broker (implemented in C++)</title> - <section> <title> Running the AMQP Messaging Broker </title> @@ -17,10 +30,10 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="queue%20state%20replication.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Starting%20a%20cluster.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ACL.xml"/> +</chapter> + - </section> - - <section> +<chapter> <title> Managing the AMQP Messaging Broker </title> @@ -30,6 +43,5 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Qpid%20Management%20Framework.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Management%20Design%20notes.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="QMF%20Python%20Console%20Tutorial.xml"/> - - </section> </chapter> +</part> diff --git a/doc/book/src/AMQP-Messaging-Broker-Java.xml b/doc/book/src/AMQP-Messaging-Broker-Java.xml index c911f311d1..ef743a0704 100644 --- a/doc/book/src/AMQP-Messaging-Broker-Java.xml +++ b/doc/book/src/AMQP-Messaging-Broker-Java.xml @@ -1,15 +1,29 @@ <?xml version="1.0"?> -<section> -<section> +<part> + <title>AMQP Messaging Broker (Implemented in Java)</title> + <partintro> + <para>Qpid provides two AMQP messaging brokers:</para> + + <itemizedlist> + <listitem><para>Implemented in C++ - high performance, low latency, and RDMA support.</para></listitem> + <listitem><para>Implemented in Java - Fully JMS compliant, runs on any Java platform.</para></listitem> + </itemizedlist> + + <para>Both AMQP messaging brokers support clients in multiple languages, as long as the messaging client and the messaging broker use the same version of AMQP. See <link linkend="AMQP-Compatibility"/> to see which messaging clients work with each broker.</para> + + <para>This section contains information specific to the broker that is implemented in Java.</para> + </partintro> + +<chapter> <title>General User Guides</title> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Java%20Broker%20Feature%20Guide.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Qpid%20Java%20FAQ.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Java%20Environment%20Variables.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Qpid%20Troubleshooting%20Guide.xml"/> -</section> +</chapter> -<section id="AMQPMessagingBroker%28implementedinJava%29-HowTos"> +<chapter id="AMQPMessagingBroker%28implementedinJava%29-HowTos"> <title>How Tos</title> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Add%20New%20Users.xml"/> @@ -22,9 +36,9 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="How%20to%20Tune%20M3%20Java%20Broker%20Performance.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Qpid%20Java%20Build%20How%20To.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Use%20Priority%20Queues.xml"/> -</section> +</chapter> -<section id="AMQPMessagingBroker%28implementedinJava%29-ManagementTools"> +<chapter id="AMQPMessagingBroker%28implementedinJava%29-ManagementTools"> <title>Management Tools</title> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Qpid%20JMX%20Management%20Console.xml"/> @@ -32,5 +46,5 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Qpid%20Java%20Broker%20Management%20CLI.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Management%20Design%20notes.xml"/> -</section> -</section> +</chapter> +</part>
\ No newline at end of file diff --git a/doc/book/src/AMQP-Messaging-Clients.xml b/doc/book/src/AMQP-Messaging-Clients.xml new file mode 100644 index 0000000000..2fcd4ea33f --- /dev/null +++ b/doc/book/src/AMQP-Messaging-Clients.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<section> + <title/> + <para> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="AMQP%20Java%20JMS%20Messaging%20Client.html"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="4589059.html"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="AMQP%20.NET%20Messaging%20Client.html"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="AMQP%20Python%20Messaging%20Client.html"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="AMQP%20Ruby%20Messaging%20Client.html"/> + </para> +</section> diff --git a/doc/book/src/Book.xml b/doc/book/src/Book.xml index ae590433ed..8a1037d06f 100644 --- a/doc/book/src/Book.xml +++ b/doc/book/src/Book.xml @@ -11,15 +11,26 @@ <xi:include href="Getting_Started.xml"/> <xi:include href="Download.xml"/> </part> - <xi:include href="Brokers.xml"/> + +<!-- + The broker sections define their own <part/> elements, with <partintro/> text. +--> + <xi:include href="AMQP-Messaging-Broker-CPP.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + <xi:include href="AMQP-Messaging-Broker-Java.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + <part> - <title>Clients</title> - <xi:include href="Clients.xml"/> + <title>AMQP Messaging Clients Clients</title> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="AMQP%20Java%20JMS%20Messaging%20Client.html"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="4589059.html"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="AMQP%20.NET%20Messaging%20Client.html"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="AMQP%20Python%20Messaging%20Client.html"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="AMQP%20Ruby%20Messaging%20Client.html"/> </part> <part> <title>Appendices</title> - <xi:include href="Interoperability.xml"/> -<!-- <xi:include href="FAQ.xml"/> --> + <xi:include href="AMQP compatibility.xml"/> + <xi:include href="Qpid Interoperability Documentation.xml"/> + <!-- <xi:include href="FAQ.xml"/> --> </part> </book> diff --git a/doc/book/src/Qpid Interoperability Documentation.xml b/doc/book/src/Qpid Interoperability Documentation.xml new file mode 100644 index 0000000000..7d46cdd1c3 --- /dev/null +++ b/doc/book/src/Qpid Interoperability Documentation.xml @@ -0,0 +1,358 @@ +<?xml version="1.0" encoding="utf-8"?> +<chapter xmlns:html="http://www.w3.org/1999/xhtml"><title> + Apache Qpid : Qpid Interoperability Documentation + </title><section role="h2" id="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation"><title> + Qpid Interoperability Documentation + </title> + + <para> + This page documents the various interoperable features of the + Qpid clients. + </para> + <section role="h3" id="QpidInteroperabilityDocumentation-SASL"><title> + SASL + </title> + + <para> + + </para> + <section role="h4" id="QpidInteroperabilityDocumentation-StandardMechanisms"><title> + Standard + Mechanisms + </title> + + <para> + <ulink url="http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer#SASL_mechanisms"/> + </para><para> + This table list the various SASL mechanisms that each component + supports. The version listed shows when this + functionality was added to the product. + </para><table><title/><tgroup cols="7"> + <tbody> + <row> + <entry> + Component + </entry> + <entry> + ANONYMOUS + </entry> + <entry> + CRAM-MD5 + </entry> + <entry> + DIGEST-MD5 + </entry> + <entry> + EXTERNAL + </entry> + <entry> + GSSAPI/Kerberos + </entry> + <entry> + PLAIN + </entry> + </row> + <row> + <entry> + C++ Broker + </entry> + <entry> + M3[<xref linkend="QpidInteroperabilityDocumentation-1"/>] + </entry> + <entry> + M3[<xref linkend="QpidInteroperabilityDocumentation-1"/>,<xref linkend="QpidInteroperabilityDocumentation-2"/>] + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + M3[<xref linkend="QpidInteroperabilityDocumentation-1"/>,<xref linkend="QpidInteroperabilityDocumentation-2"/>] + </entry> + <entry> + M1 + </entry> + </row> + <row> + <entry> + C++ Client + </entry> + <entry> + M3[<xref linkend="QpidInteroperabilityDocumentation-1"/>] + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + M1 + </entry> + </row> + <row> + <entry> + Java Broker + </entry> + <entry> + + </entry> + <entry> + M1 + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + M1 + </entry> + </row> + <row> + <entry> + Java Client + </entry> + <entry> + + </entry> + <entry> + M1 + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + M1 + </entry> + </row> + <row> + <entry> + .Net Client + </entry> + <entry> + M2 + </entry> + <entry> + M2 + </entry> + <entry> + M2 + </entry> + <entry> + M2 + </entry> + <entry> + + </entry> + <entry> + M2 + </entry> + </row> + <row> + <entry> + Python Client + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + ? + </entry> + </row> + <row> + <entry> + Ruby Client + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + + </entry> + <entry> + ? + </entry> + </row> + </tbody> + </tgroup></table><para> + + 1: Support for these will be in M3 (currently available on + trunk). + + 2: C++ Broker uses <xref linkend="qpid_"/> which + supports CRAM-MD5 and GSSAPI but these have not been tested yet + </para> +<!--h4--></section> + + <section role="h4" id="QpidInteroperabilityDocumentation-CustomMechanisms"><title> + Custom + Mechanisms + </title> + + <para> + There have been some custom mechanisms added to our + implementations. + </para><table><title/><tgroup cols="3"> + <tbody> + <row> + <entry> + Component + </entry> + <entry> + AMQPLAIN + </entry> + <entry> + CRAM-MD5-HASHED + </entry> + </row> + <row> + <entry> + C++ Broker + </entry> + <entry> + + </entry> + <entry> + + </entry> + </row> + <row> + <entry> + C++ Client + </entry> + <entry> + + </entry> + <entry> + + </entry> + </row> + <row> + <entry> + Java Broker + </entry> + <entry> + M1 + </entry> + <entry> + M2 + </entry> + </row> + <row> + <entry> + Java Client + </entry> + <entry> + M1 + </entry> + <entry> + M2 + </entry> + </row> + <row> + <entry> + .Net Client + </entry> + <entry> + + </entry> + <entry> + + </entry> + </row> + <row> + <entry> + Python Client + </entry> + <entry> + M2 + </entry> + <entry> + + </entry> + </row> + <row> + <entry> + Ruby Client + </entry> + <entry> + M2 + </entry> + <entry> + + </entry> + </row> + </tbody> + </tgroup></table> + + <section><title>AMQPLAIN</title> + <para/> + </section> + + <section><title>CRAM-MD5-HASHED</title> + <para> + The Java SASL implementations require that you have the password + of the user to validate the incoming request. This then means + that the user's password must be stored on disk. For this to be + secure either the broker must encrypt the password file or the + need for the password being stored must be removed. + </para><para> + The CRAM-MD5-HASHED SASL plugin removes the need for the plain + text password to be stored on disk. The mechanism defers all + functionality to the build in CRAM-MD5 module the only change is + on the client side where it generates the hash of the password + and uses that value as the password. This means that the Java + Broker only need store the password hash on the file system. + While a one way hash is not very secure compared to other forms + of encryption in environments where the having the password in + plain text is unacceptable this will provide and additional layer + to protect the password. In particular this offers some + protection where the same password may be shared amongst many + systems. It offers no real extra protection against attacks on + the broker (the secret is now the hash rather than the password). + </para> + </section> +<!--h4--></section> +<!--h3--></section> +<!--h2--></section> +</chapter> diff --git a/doc/book/src/schemas.xml b/doc/book/src/schemas.xml index 3b2359e1c3..a622875477 100644 --- a/doc/book/src/schemas.xml +++ b/doc/book/src/schemas.xml @@ -1,5 +1,6 @@ <?xml version="1.0"?> <locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0"> + <uri resource="AMQP-Messaging-Broker-CPP.xml" typeId="DocBook"/> <uri resource="Configure the Broker via config.xml.xml" typeId="DocBook"/> <uri resource="SSL.xml" typeId="DocBook"/> <uri resource="Using Broker Federation.xml" typeId="DocBook"/> |