cmlenz 01/10/23 06:07:48
Modified: . build.xml
Added: src/share overview.html
Log:
Added JavaDoc overview page contents, and specified overview file path
in build script.
Revision Changes Path
1.135 +2 -1 jakarta-slide/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/build.xml,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -r1.134 -r1.135
--- build.xml 2001/10/15 01:05:37 1.134
+++ build.xml 2001/10/23 13:07:47 1.135
@@ -776,11 +776,12 @@
<!-- =================================================================== -->
<!-- Build the Slide JavaDoc -->
<!-- =================================================================== -->
- <target name="javadoc" depends="prepare" unless="skip.javadoc">
+ <target name="javadoc" depends="prepare,util" unless="skip.javadoc">
<property name="copyright" value="" />
<javadoc sourcepath="src/share" destdir="${slide.build}/doc/javadoc"
doctitle="Slide ${version} API Documentation"
windowtitle="Slide API Documentation"
+ overview="src/share/overview.html"
package="true" noindex="false" author="true" version="true"
packagenames="org.*">
<classpath>
1.1 jakarta-slide/src/share/overview.html
Index: overview.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
$Header: /home/cvs/jakarta-slide/src/share/overview.html,v 1.1 2001/10/23
13:07:48 cmlenz Exp $
$Revision: 1.1 $
$Date: 2001/10/23 13:07:48 $
====================================================================
The Apache Software License, Version 1.1
Copyright (c) 1999 The Apache Software Foundation. All rights
reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution, if
any, must include the following acknowlegement:
"This product includes software developed by the
Apache Software Foundation (http://www.apache.org/)."
Alternately, this acknowlegement may appear in the software itself,
if and wherever such third-party acknowlegements normally appear.
4. The names "The Jakarta Project", "Tomcat", and "Apache Software
Foundation" must not be used to endorse or promote products derived
from this software without prior written permission. For written
permission, please contact [EMAIL PROTECTED]
5. Products derived from this software may not be called "Apache"
nor may "Apache" appear in their names without prior written
permission of the Apache Group.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
====================================================================
This software consists of voluntary contributions made by many
individuals on behalf of the Apache Software Foundation. For more
information on the Apache Software Foundation, please see
<http://www.apache.org/>.
[Additional notices, if required by prior licensing conditions]
-->
</head>
<body>
<p>
Welcome to the documentation of the
<a href="http://jakarta.apache.org/slide" target="_parent">Jakarta Slide</a>
core API.
</p>
<h3>Architecture</h3>
<p>
The Slide architecture is a matrix of modules, ranging from high-level
to low-level services, clearly separating functionality around different
aspects (content, structure, security, locking and versioning).
</p>
<p>
Content in Slide is organized in
<a href="org/apache/slide/common/Namespace.html">Namespaces</a>, which
contain a hierarchical tree of information (analogous to directories and
files in a filesystem). Multiple namespaces are aggregated in a
<a href="org/apache/slide/common/Domain.html">Domain</a>. The default
implementation of a Slide domain is as a static entity, so only one
domain can exist per JVM.
</p>
<p>
The <a href="#helpers">high-level interfaces</a> (<i>Helpers</i>) are
meant to provide a simple, standardized way of manipulating a namespace
from a client application. Underneath these interfaces lie pluggable,
<a href="#stores">low-level services</a> (<i>Stores</i>), which take care
of actual storing the information.
</p>
<p align="center">
<small><i>Overview of the Slide architecture<br><br></i></small>
<img src="org/apache/slide/common/doc-files/architecture.png">
</p>
<a name="stores"><h3>Stores</h3></a>
<p>
Stores are low level services that handle the actual storage of content
and related data. Stores are totally pluggable, enabling the use of the
most appropriate storage method for the type of data to store.
</p>
<p>
Two different kinds of services exist:
<ul>
<li>
The <b>Descriptors</b> stores, which are responsible for storing
structure, locks, metadata, etc.
</li>
<li>
The <b>Content</b> stores, which is only responsible for storing the
actual content.
</li>
</ul>
This distinction has been made because it's easy to see that while some
repositories are very efficient at managing and indexing small amounts
of data (relational databases are a good example of this), others are
best for storing big chunks of data (for example filesystems).
</p>
<p>
Within Slide, every object can possibly have a different kind of backing
low-level service. For example, some objects might be stored in a remote
LDAP directory, while others could be stored in an local SQL database.
Thus, the content of a namespace can be distributed across several
different descriptors and content stores.
</p>
<p>
It is up to the administrator to choose how objects will be stored using
the Slide configuration file, which maps low-level services to
individual nodes in the namespace.
</p>
<p>
Services are attributed to nodes in the namespace. This mapping is
automatically inherited by sub-nodes. Here is an example of how one
namespace might be mapped into different low-level services:
</p>
<p align="center">
<small><i>Namespace mapped to multiple stores<br><br></i></small>
<img src="org/apache/slide/common/doc-files/stores.png">
</p>
<p>
It is obvious that decent transaction capabilities are required in each
individual store as well as across all the stores. Slide provides it's
own transaction manager based on the Java Transaction API (JTA) to
comply with this requirement. Operations that include multiple objects
and span various stores can be grouped in transactions and rolled back
if one of the operations fails.
</p>
<p align="center">
<small><i>Transactions in Slide<br><br></i></small>
<img src="org/apache/slide/common/doc-files/transactions.png">
</p>
<a name="helpers"><h3>Helpers</h3></a>
<p>
Slide also provides a higher level abstraction of the content management
system through a set of Java classes, called helpers. These encompass
all the functionality a client application will need, clearly separated
by aspect. These high-level services allow an application to access
content in a uniform fashion, no matter where it might be located, or
how it is phisically stored.
</p>
<p>
Tight dependencies exist between the high-level services because of the
need to enforce security, locking and other contraints throughout the
client API.
</p>
<p>
The following helpers are provided:
<ul>
<li><b>Structure</b>
<br>
Provides access to the hierarchical namespace tree.
<br>
<i><small>See the
<a
href="org/apache/slide/structure/package-summary.html">org.apache.slide.structure</a>
package for more details...</small></i>
<br><br>
</li>
<li>
<b>Content</b>
<br>
Manages object content, versioning and meta-data.
<br>
<i><small>See the
<a
href="org/apache/slide/content/package-summary.html">org.apache.slide.content</a>
package for more details...</small></i>
<br><br>
</li>
<li>
<b>Security</b>
<br>
Manages access control to objects in a namespace.
<br>
<i><small>See the
<a
href="org/apache/slide/security/package-summary.html">org.apache.slide.security</a>
package for more details...</small></i>
<br><br>
</li>
<li>
<b>Lock</b>
<br>
Provides locking functionality.
<br>
<i><small>See the
<a
href="org/apache/slide/lock/package-summary.html">org.apache.slide.lock</a>
package for more details...</small></i>
<br><br>
</li>
<li>
<b>Macro</b>
<br>
Provides object management functions that deal with operations which
span multiple helpers (like for example deleting, copying and moving
objects).
<br>
<i><small>See the
<a
href="org/apache/slide/macro/package-summary.html">org.apache.slide.macro</a>
package for more details...</small></i>
<br><br>
</li>
</ul>
</p>
<p>
Instances of these helpers for a specific namespace can be obtained
through the <a
href="org/apache/slide/common/NamespaceAccessToken.html">NamespaceAccessToken</a>
that you receive when accessing the namespace.
</p>
</body>
</html>