blob: 5eeb6d1e397f717705a27ec557db9db1ef4e97cd [file] [log] [blame]
<?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>