<?xml version="1.0" encoding="UTF-8"?>
<book xml:id="clustering.guide" version="5.0" xml:lang="en"
      xmlns="http://docbook.org/ns/docbook"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      xmlns:svg="http://www.w3.org/2000/svg"
      xmlns:mml="http://www.w3.org/1998/Math/MathML"
      xmlns:html="http://www.w3.org/1999/xhtml"
      xmlns:db="http://docbook.org/ns/docbook">
  <info>
    <title>JOnAS Clustering guide</title>

    <authorgroup>
      <author>
        <orgname>JOnAS Team</orgname>
      </author>
    </authorgroup>

    <legalnotice>
      <para>This work is licensed under the Creative Commons
      Attribution-ShareAlike License. To view a copy of this license,visit
      <link
      xlink:href="http://creativecommons.org/licenses/by-sa/2.0/deed.en">http://creativecommons.org/licenses/by-sa/2.0/deed.en</link>
      or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford,
      California 94305, USA.</para>
    </legalnotice>

    <copyright>
      <year>2008-2009</year>

      <holder>OW2 Consortium</holder>
    </copyright>

    <date>March 2009</date>
  </info>

  <preface xml:id="clustering.preface">
    <title>Preface</title>
    <para>At first, this guide gives an overview of the Java EE clustering
    principles. Afterwards it describes how to set up clustering in the JOnAS
    application server and how to manage it. Finally some tools and examples
    are presented.</para>
  </preface>

  <chapter xml:id="clustering.intro">
    <info>
      <title>Introduction</title>
    </info>

    <para>JOnAS provides an end to end solution for clustering that ensures
    transparent distribution,  high availability and scalability of Java EE applications.</para>

    <itemizedlist>
      <listitem><para>At the web level through</para>
        <itemizedlist>
          <listitem><para>Apache/mod_jk or Apache/mod_proxy_balancer for
          load-balancing the HTTP flow between multiple JOnAS/Tomcat
          instances.</para></listitem>

          <listitem><para>Tomcat for providing a TCP-based solution of HTTP session
          replication, ensuring their high availability</para></listitem>
        </itemizedlist></listitem>

      <listitem><para>At the JNDI level through CMI and its replicated
      registry</para></listitem>

      <listitem><para>At the EJB level (EJB2 and EJB3 support) through CMI and its
      cluster proxy</para></listitem>

      <listitem><para>At the JMS level through JORAM server and JORAM HA</para></listitem>

      <listitem><para>At the management level through the domain management feature
      and the <link xlink:href="http://jasmine.ow2.org">JASMINe</link>
      project.</para></listitem>
    </itemizedlist>

    <para>
      <mediaobject>
        <imageobject>
          <imagedata align="center"
                     fileref="../../resources/images/clustering/clustersolution.png"
                     scalefit="1" width="70%" />
        </imageobject>
      </mediaobject>
    </para>
  </chapter>

  <chapter xml:id="clustering.principles">
    <info>
      <title>Principles</title>
    </info>

    <xi:include href="clustering/principles/terminology.xml" />

    <xi:include href="clustering/principles/clustering.xml" />

    <xi:include href="clustering/principles/management.xml" />
  </chapter>

  <chapter xml:id="clustering.configuration">
    <info>
      <title>Cluster configuration</title>
    </info>

    <xi:include href="clustering/configuration/web.xml" />

    <xi:include href="clustering/configuration/ejb.xml" />

    <xi:include href="clustering/configuration/jms.xml" />
  </chapter>

  <chapter xml:id="clustering.management">
    <info>
      <title>Cluster and domain management</title>
    </info>

    <xi:include href="clustering/management/domain.xml" />

    <xi:include href="clustering/management/clusterd.xml" />

    <xi:include href="clustering/management/cluster.xml" />

    <xi:include href="clustering/management/cmi.xml" />

    <xi:include href="clustering/management/ha.xml" />
  </chapter>

  <chapter xml:id="clustering.tooling">
    <info>
      <title>Tooling</title>
    </info>

    <xi:include href="commands/configuration_newjc.xml" />

    <xi:include href="clustering/tooling/jasmine.xml" />

    <xi:include href="clustering/tooling/jkmanager.xml" />
  </chapter>

  <chapter xml:id="clustering.example">
    <info>
      <title>Examples</title>
    </info>

    <xi:include href="clustering/examples/sampleCluster2.xml" />

    <xi:include href="clustering/examples/sampleCluster3.xml" />
  </chapter>

  <chapter xml:id="clustering.troubleshootings">
    <info>
      <title>Troubleshootings</title>
    </info>

    <xi:include href="clustering/faq/faq.xml" />
  </chapter>

  <appendix>
    <info>
      <title>Appendix</title>
    </info>

    <section xml:id="cluster.cmi.doc">
      <info>
        <title>CMI project documentation</title>
      </info>

      <para>This section describes the CMI use in a standalone mode (outside
      the application server).</para>

      <section>
        <info>
          <title>CMI configuration</title>
        </info>

        <xi:include href="cmi/userguide.xml"
                    xpointer="xpointer(id('cmi.ug.conf')/*)" />
      </section>

      <section>
        <info>
          <title>CMI use</title>
        </info>

        <xi:include href="cmi/userguide.xml"
                    xpointer="xpointer(id('cmi.ug.use')/*)" />
      </section>

      <section>
        <info>
          <title>CMI administration</title>
        </info>

        <xi:include href="cmi/userguide.xml"
                    xpointer="xpointer(id('cmi.ug.adm')/*)" />
      </section>

      <!--
   <xi:include href="cmi/userguide.xml" xpointer="xpointer(//book/*)"  />
   <xi:include href="cmi/userguide.xml" xpointer="xpointer(//book/chapter/*)" />
   xpointer="xpointer(//book/bookinfo/following-sibling::*/node())"
    -->
    </section>

    <section xml:id="cluster.references">
      <info>
        <title>References</title>
      </info>

      <itemizedlist>
        <listitem>
          <link
          xlink:href="http://tomcat.apache.org/tomcat-6.0-doc/connectors.html">Tomcat
          Connectors howto</link>
        </listitem>

        <listitem>
          <link xlink:href="http://tomcat.apache.org/tomcat-6.0-doc/">Tomcat
          workers Howto</link>
        </listitem>

        <listitem>
          <link
          xlink:href="http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html">Apache
          JServ Protocol version 1.3 (ajp13)</link>
        </listitem>

        <listitem>
          <link
          xlink:href="http://www.johnturner.com/howto/apache-tomcat-howto.html">Apache
          - Tomcat HOWTO</link>
        </listitem>

        <listitem>
          <link
          xlink:href="http://tomcat.apache.org/tomcat-6.0-doc/balancer-howto.html">Apache
          + Tomcat + Load Balancing</link>
        </listitem>

        <listitem>
          <link
          xlink:href="http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html">Tomcat
          6.0 Clustering</link>
        </listitem>

        <listitem>
          <link
          xlink:href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html">Apache
          2.2/mod_proxy_balancer</link>
        </listitem>
      </itemizedlist>
    </section>
  </appendix>
</book>
