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>
  
  
  


Reply via email to