You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2004/02/03 04:03:13 UTC

svn commit: rev 6437 - in incubator/directory/eve/trunk/eve/xdocs: . design

Author: akarasulu
Date: Mon Feb  2 19:03:11 2004
New Revision: 6437

Added:
   incubator/directory/eve/trunk/eve/xdocs/design/
   incubator/directory/eve/trunk/eve/xdocs/design/index.xml
   incubator/directory/eve/trunk/eve/xdocs/design/navigation.xml
Modified:
   incubator/directory/eve/trunk/eve/xdocs/design.xml
Log:
breaking up design overview into peices

Modified: incubator/directory/eve/trunk/eve/xdocs/design.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/xdocs/design.xml	(original)
+++ incubator/directory/eve/trunk/eve/xdocs/design.xml	Mon Feb  2 19:03:11 2004
@@ -10,33 +10,55 @@
       
       <subsection name="Components and Services">
         <p>
-          The server is designed as a system of highly granular components.  
+          The server is designed as a system of highly granular components.
           Some components are a collection of other components with a facade to 
           form a subsystem of the server.  Subsystems can contain other 
-          subsystems and one component can depend on another.
+          subsystems and one component can depend on zero or more other
+          components.
         </p>
         
         <p>
-          A micro kernel or component container is required to run the server.  
+          If the following paragraphs sounds a little confusing you might want 
+          to read a little about the IoC pattern and there is no better place 
+          than Avalon for that.  Below are some Avalon documents you might find
+          useful when translating some of this babble:
+        </p>
+        
+        <ul>
+          <li><a href=
+          "http://avalon.apache.org/framework/cop/guide-patterns-ioc.html">
+          Inversion of Control Pattern</a></li>
+          
+          <li><a href="http://avalon.apache.org/framework/cop/index.html">
+          Component Oriented Programing</a></li>
+        </ul>
+
+        <p>
+          A micro kernel or component container is required to run the server.
           A micro kernel is a peice of code operating as a component container 
           providing services for that component and running the component 
           through a set of life-cycles.  Eve is designed to run on any micro 
-          kernel.  Her subsystems and components are designed as Plain Old Java 
-          Objects (POJOs) that can be wrapped to make them interoperate within 
-          different containers.  Eve currently will work out of the box with 
-          Merlin and PicoContainer.
+          kernel using component wrappers.  Her subsystems and components are 
+          designed as Plain Old Java Objects (POJOs) that can be wrapped to 
+          make them interoperate within different containers.  Eve is slated to 
+          work with both Merlin and PicoContainer, but there are no restrictions
+          to using containers like Loom, Plexus, or Phoenix.
+        </p>
+        
+        <p>
+          Each component within Eve has a public service interface which 
+          declares what that component can do for its clients.  The service
+          interface is kept and packaged separately from any component 
+          implementation.  The separation is achieved by using a different maven
+          project hence build jar for the SPI and the implementations of that
+          service.  An SPI project is often used to contain the service 
+          interface and other interfaces associated with the component.  
+          Providers of the service must implement the interfaces in the SPI.
         </p>
         
         <p>
-          Each component within Eve has a service interface which defines to 
-          the world what that component can do for its clients.  The service
-          interface is kept separate from any component implementation.  
-          Different projects are used to separate them.  An SPI project is often
-          used to contain the service interface and other interfaces associated
-          with the component.  Providers of the service must implement the 
-          interfaces in the SPI.  These component implementations are often 
-          kept in separate projects.  The drive behind this approach has to do 
-          with modularity and classloader schemes.  It is always good to keep 
+          The drive behind this approach has to do with modularity and 
+          classloader schemes.  It is always good to keep 
           the interfaces separate from any specific implementations.  You can 
           have many implementations for the same service interface.  Secondly
           the classloader heirarchy in containers often puts implementation

Added: incubator/directory/eve/trunk/eve/xdocs/design/index.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/xdocs/design/index.xml	Mon Feb  2 19:03:11 2004
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <author email="akarasulu@apache.org">Alex Karasulu</author>
+    <title>Apache Directory Project: Design Overview</title>
+  </properties>
+  
+  <body>
+    <section name="Design Overview">
+      <subsection name="Overview">
+        <p>
+          Coming soon ...
+        </p>
+        
+        <table>
+          <tr>
+            <th>Heading I</th>
+            <th>Heading II</th>
+          </tr>
+          
+          <tr>
+            <td>
+              Coming soon ...
+            </td>
+            <td>
+              <p>
+                Coming soon ...
+              </p>
+            </td>
+          </tr>
+        </table>
+      </subsection>
+
+    </section>
+  </body>
+</document>

Added: incubator/directory/eve/trunk/eve/xdocs/design/navigation.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/xdocs/design/navigation.xml	Mon Feb  2 19:03:11 2004
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project>
+
+ <title>Apache Directory Project</title>
+
+ <body>
+
+    <links>
+      <item name="Apache" href="http://apache.org/"/>
+      <item name="Directory" href="../../index.html"/>
+      <item name="Eve" href="/index.html"/>
+      <item name="LDAP" href="../ldap/index.html"/>
+      <item name="Naming" href="../naming/index.html"/>
+      <item name="Janus" href="../janus/index.html"/>
+      <item name="Snickers" href="../snickers/index.html"/>
+      <item name="Sitedocs" href="../sitedocs/index.html"/>
+    </links>
+
+    <menu name="About Directory">
+      <item name="Overview" href="../../index.html"/>
+      <item name="Community" href="../../community/index.html"/>
+      <item name="Latest News" href="../../news.html"/>
+      <item name="Sub-Projects" href="../../subprojects/index.html">
+        <item name="Eve" href="/index.html">
+          <item name="Design" href="/index.html">
+            <item name="Components" href="/design/components.html">
+          </item>  
+          <item name="Features" href="/features.html"/>
+          <item name="Backend" href="/backend/index.html"/>
+          <item name="Frontend" href="/frontend/index.html"/>
+        </item>
+        <item name="LDAP" href="../ldap/index.html"/>
+        <item name="Janus" href="../janus/index.html"/>
+        <item name="Naming" href="../naming/index.html"/>
+        <item name="Snickers" href="../snickers/index.html"/>
+        <item name="Sitedocs" href="../sitedocs/index.html"/>
+      </item>
+      <item name="Documentation" href="../../doc/index.html"/>
+    </menu>
+
+    <menu name="Resources">
+      <item name="Jira" href=
+        "http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10400"/>
+      <item name="Wiki" href="http://wiki.apache.org/directory"/>
+      <item name="Lists" href="../../mailing-lists.html"/>
+      <item name="License" href="../../license.html"/>
+      <item name="Sandbox" href="../../sandbox/index.html"/>
+      <item name="Downloads" href="../../download.cgi"/>
+      <item name="Subversion" href="../../svn.html"/>
+      <item name="Related Projects" href="../../related/index.html"/>
+    </menu>
+
+ </body>
+
+</project>