<?xml version="1.0"?>
<!--

 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 xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Java-Broker-Introduction">
  <title>Introduction</title>
  <para>The Apache Qpid Broker for Java is a powerful open-source message broker that implements all versions of the
      <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.amqp.org"> Advanced Message Queuing Protocol (AMQP)</link>. The Apache Qpid Broker for Java
    is actually one of two message brokers provided by the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://qpid.apache.org">Apache Qpid project</link>: Broker for Java and the C++
    Broker.</para>
  <para>This document relates to the Apache Qpid Broker for Java. The <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${qpidCppBook}">C++ Broker is
    described separately</link>.</para>
  <para><emphasis>Headline features</emphasis></para>
  <itemizedlist mark="circle">
    <listitem>
      <para>100% Java implementation - runs on any platform supporting Java 1.7 or higher</para>
    </listitem>
    <listitem>
      <para>Messaging clients support in Java, C++, Python.</para>
    </listitem>
    <listitem>
      <para>JMS 1.1 compliance (Java client).</para>
    </listitem>
    <listitem>
      <para>Persistent and non-persistent (transient) message support</para>
    </listitem>
    <listitem>
      <para>Supports for all common messaging patterns (point-to-point, publish/subscribe, fan-out
        etc).</para>
    </listitem>
    <listitem>
      <para>Transaction support including XA<footnote>
          <para>XA provided when using AMQP 0-10</para>
        </footnote></para>
    </listitem>
    <listitem>
      <para>Supports for all versions of the AMQP protocol</para>
    </listitem>
    <listitem>
      <para>Automatic message translation, allowing clients using different AMQP versions to communicate with each other.</para>
    </listitem>
    <listitem>
      <para>Pluggable authentication architecture with out-of-the-box support for Kerberos, LDAP,
        External, and file-based authentication mechanisms.</para>
    </listitem>
    <listitem>
      <para>Support for message compression</para>
    </listitem>
    <listitem>
      <para>Client support for end to end message encryption</para>
    </listitem>
    <listitem>
      <para>Pluggable storage architecture with implementations including <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://db.apache.org/derby/">Apache Derby</link>, <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${oracleBdbProductOverviewUrl}">Oracle BDB JE</link><footnote>
          <para>Oracle BDB JE must be downloaded separately.</para>
        </footnote>, and External Database</para>
    </listitem>
    <listitem>
      <para>Web based management interface and programmatic management interfaces via REST.</para>
    </listitem>
    <listitem>
      <para>SSL support</para>
    </listitem>
    <listitem>
      <para>High availability (HA) support.<footnote>
          <para>HA currently only available to users of the optional BDB JE HA based message store.</para>
        </footnote></para>
    </listitem>
  </itemizedlist>
</chapter>
