<?xml version="1.0" encoding="ISO-8859-1"?>

<document>

  <properties>
        <author email="remm@apache.org">Remy Maucherat</author>
        <title>Slide Architecture</title>
    </properties>

  <body>
  
  <section name="Introduction">
    
    <p>
      Slide's architecture is a matrix of modules, from high-level services to
      low-level services and clearly separates functionality around different
      aspects (structure, security, locking and versioning).
    </p>
    
    <p>
      The high-level interfaces are meant to provide a simple, standardized 
      way of manipulating a namespace. Underneath these clean interfaces lie 
      "pluggable" service implementations, which are the low-level services.
    </p>
    
    <p>
      There exist tight dependencies between the high-level services because 
      of the need to enforce security, locking and other contraints throughout
      the offered client API.
    </p>
    
  </section>

  <section name="External Architecture">

    <p>
      <img src="images/arch-ext.png"/>
    </p>
    
  </section>

  <section name="Internal Architecture">

    <p>
      <img src="images/arch-int1.png"/>
    </p>
    
  </section>

  <section name="Transaction Management">

    <p>
      <img src="images/arch-int2.png"/>
    </p>
    
  </section>
  
  </body>
</document>
