<?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.
 
-->

<chapter>

<title>AMQP (Advanced Message Queueing Protocol</title>


<para>AMQP <ulink url="http://www.amqp.org/" >Advanced
Message Queuing Protocol</ulink> is an open standard designed to
support reliable, high-performance messaging over the Internet.
AMQP can be used for any distributed or business application, and
supports common messaging paradigms like point-to-point, fanout,
publish-subscribe, and request-response.</para>
<para>Apache Qpid implements AMQP, including transaction management,
queuing, clustering, federation, security, management and
multi-platform support.</para>
<para>Apache Qpid implements the latest AMQP specification, providing
transaction management, queuing, distribution, security,
management, clustering, federation and heterogeneous multi-platform
support and a lot more.</para>
<para>Apache Qpid is highly optimized, and <ulink url=
"amqp-compatibility.html">aims to be 100% AMQP Compliant</ulink>.</para>

<section>
<title>Download the AMQP Specifications</title>

<itemizedlist>
<title>AMQP version 0-10</title>
<listitem><para><ulink url="https://jira.amqp.org/confluence/download/attachments/720900/amqp.0-10.pdf?version=1"
>AMQP 0-10 Specification (PDF)</ulink></para></listitem>
<listitem><para><ulink url="https://jira.amqp.org/confluence/download/attachments/720900/amqp.0-10.xml?version=1"
>AMQP 0-10 Protocol Definition XML</ulink></para></listitem>
<listitem><para><ulink url="https://jira.amqp.org/confluence/download/attachments/720900/amqp.0-10.dfd?version=1"
>AMQP 0-10 Protocol Definition DTD</ulink></para></listitem>
</itemizedlist>


<itemizedlist>
<title>AMQP version 0-9-1</title>
<listitem><para><ulink url=
"https://jira.amqp.org/confluence/download/attachments/720900/amqp0-9-1.pdf?version=1"
>AMQP 0-9-1 Specification (PDF)</ulink></para></listitem>
<listitem><para><ulink url=
"https://jira.amqp.org/confluence/download/attachments/720900/amqp0-9-1.xml?version=1"
>AMQP 0-9-1 Protocol Documentation (PDF)</ulink></para></listitem>
<listitem><para><ulink url=
"https://jira.amqp.org/confluence/download/attachments/720900/amqp0-9-1.dtd?version=1"
>AMQP 0-9-1 Protocol Definitions (XML)</ulink></para></listitem>
</itemizedlist>


<itemizedlist>
<title>AMQP version 0-9</title>
<listitem><para><ulink url=
"https://jira.amqp.org/confluence/download/attachments/720900/amqp0-9.pdf?version=1"
>AMQP 0-9 Specification (PDF)</ulink></para></listitem>
<listitem><para><ulink url=
"https://jira.amqp.org/confluence/download/attachments/720900/amqp0-9.xml?version=1"
>AMQP 0-9 Protocol Documentation (PDF)</ulink></para></listitem>
<listitem><para><ulink url=
"https://jira.amqp.org/confluence/download/attachments/720900/amqp0-9.dtd?version=1"
>AMQP 0-9 Protocol Definitions (XML)</ulink></para></listitem>
</itemizedlist>


<itemizedlist>
<title>AMQP version 0-8</title>
<listitem><para><ulink url=
"https://jira.amqp.org/confluence/download/attachments/720900/amqp0-8.pdf?version=1"
>AMQP 0-8 Specification (PDF)</ulink></para></listitem>
<listitem><para><ulink url="https://jira.amqp.org/confluence/download/attachments/720900/amqp0-8.dtd?version=1"
>AMQP 0-8 Protocol Documentation (PDF)</ulink></para></listitem>
<listitem><para><ulink url="https://jira.amqp.org/confluence/download/attachments/720900/amqp0-8.xml?version=1"
>AMQP 0-8 Protocol Definitions (XML)</ulink></para></listitem>
</itemizedlist>
</section>

</chapter>
