<?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.
  -->
<book version="5.0" xml:id="apache-ki-reference-documentation"
      xmlns="http://docbook.org/ns/docbook"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      xmlns:xi="http://www.w3.org/2001/XInclude">

    <info>
        <title>Apache Ki</title>
        <subtitle>Reference Documentation</subtitle>
        <authorgroup>
            <author>
                <personname>
                    <firstname>Les</firstname>
                    <surname>Hazlewood</surname>
                </personname>
            </author>
        </authorgroup>
        <legalnotice>
            <para>
                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
            </para>
            <para>
                <link href="http://www.apache.org/licenses/LICENSE-2.0">
                    http://www.apache.org/licenses/LICENSE-2.0
                </link>
            </para>
            <para>
                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.
            </para>
        </legalnotice>
    </info>

    <!-- front matter -->
    <toc/>

    <xi:include href="preface.xml"/>

    <part xml:id="ki-quickstart">
        <title>Apache Ki Quickstart</title>
        <partintro xml:id="ki-quickstart-intro">
            <para>
                This initial part of the reference documentation walks through the simplest quickstart application
                so that you may become familiarized Ki's programming API and general concepts. While this
                application is probably the absolute simplest Ki-enabled application that we know of,
                it should make you comfortable understanding what Ki can do, and how it can help you create
                more secure applications. The rest of the documentation will serve as your guide to help you move
                from this simple example to even the most complicated enterprise applications.
            </para>

            <note>
                <para>
                    The code for this quickstart application is in the
                    <filename>samples/quickstart</filename>
                    directory of the source distribution.
                </para>
            </note>
        </partintro>
    </part>
    <part xml:id="ki-core">
        <title>Apache Ki Core</title>
        <partintro xml:id="ki-core-intro">
            <para>
                This part of the reference documentation covers
                Ki's core architectural components that support
                functionality in all environments, from
                constrained Applets and cell phones to full n-tier
                clustered enterprise applications.
            </para>
            <para>
                Most important among these are the <interfacename>Subject</interfacename> and
                SecurityManager components. These are then followed
                by comprehensive coverage of the supporting compnents
                responsiple for handling logging in, called an
                <interfacename>Authenticator</interfacename>
                and access control, called an
                <interfacename>Authorizer</interfacename>.
            </para>
            <para>

            </para>
            <para>
                Finally, the adoption of the test-driven-development (TDD)
                approach to software development is certainly advocated by
                the Spring team, and so coverage of Spring's support for
                integration testing is covered (alongside best practices for
                unit testing). The Spring team have found that the correct
                use of IoC certainly does make both unit and integration
                testing easier (in that the presence of setter methods and
                appropriate constructors on classes makes them
                easier to wire together on a test without having to set up
                service locator registries and suchlike)... the chapter
                dedicated solely to testing will hopefully convince you of
                this as well.
            </para>
            <itemizedlist>
                <listitem>
                    <para>
                        <link linkend="security-manager"/>
                    </para>
                </listitem>
              <!-- <listitem>
                 <para><xref linkend="authentication"/></para>
               </listitem>
               <listitem>
                 <para><xref linkend="authorization"/></para>
               </listitem>
               <listitem>
                 <para><xref linkend="realms"/></para>
               </listitem>
               <listitem>
                 <para><xref linkend="sessions"/></para>
               </listitem>
               <listitem>
                 <para><xref linkend="cryptography"/></para>
               </listitem> -->
            </itemizedlist>
        </partintro>
        <xi:include href="security-manager.xml"/>
    </part>

    <!-- <part xml:id="ki-web">
     <title>Web Support</title>
     <partintro xml:id="ki-web-intro">
       <para>
         This part of the reference documentation covers
                 Ki's web support, specifically using Ki in
                 a Servlet container for web-based applications.
       </para>
       <para>
         The Spring Framework's own web framework,
         <link linkend="mvc">Spring Web MVC</link>, is covered in
         the first couple of chapters. A number of the remaining
         chapters in this part of the reference documentation are
         concerned with the Spring Framework's integration with
         other web technologies, such as <link linkend="struts">Struts</link>
         and <link linkend="jsf">JSF</link> (to name but two).
       </para>
       <para>
         This section concludes with coverage of Spring's MVC
         <link linkend="portlet">portlet framework</link>.
       </para>
       <itemizedlist>
         <listitem>
           <para><xref linkend="mvc"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="view"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="web-integration"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="portlet"/></para>
         </listitem>
       </itemizedlist>
     </partintro>
     &mvc;
     &view;
     &web-integration;
     &portlet;
   </part>
   <part id="ki-integration">
     <title>Integration</title>
     <partintro id="ki-integration-intro">
       <para>
         This part of the reference documentation covers Ki's
                 integration with other technologies that might be
                 useful in application deployments.
       </para>
       <itemizedlist>
         <listitem>
           <para><xref linkend="remoting"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="ejb"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="jms"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="jmx"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="cci"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="mail"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="scheduling"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="dynamic-language"/></para>
         </listitem>
         <listitem>
           <para><xref linkend="metadata"/></para>
         </listitem>
       </itemizedlist>
     </partintro>
   </part> -->
    <!-- back matter -->
    <!-- <xi:include href="ki.tld.xml"/> -->
</book>
