[exo-jcr-commits] exo-jcr SVN: r2892 - in jcr/branches/1.12.x/docs/reference/en/src/main: docbook/en-US/modules/jcr/concepts and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Aug 6 09:45:36 EDT 2010
Author: dkatayev
Date: 2010-08-06 09:45:35 -0400 (Fri, 06 Aug 2010)
New Revision: 2892
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-exo-implementation.xml
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/concepts/exojcr.gif
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/concepts/wsdatamodel.gif
Modified:
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/configuration/exo-jcr-configuration.xml
Log:
EXOJCR-869 eXo JCR implementation chapter added
Added: jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-exo-implementation.xml
===================================================================
--- jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-exo-implementation.xml (rev 0)
+++ jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-exo-implementation.xml 2010-08-06 13:45:35 UTC (rev 2892)
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="JCR.eXoImplementation">
+ <?dbhtml filename="ch-jcr-exo-implementation.html"?>
+
+ <title>eXo JCR Implementation</title>
+
+ <section>
+ <title>Related Documents</title>
+
+ <para>Access Control Configuration Export Import Implementation External
+ Value Storages JDBC Data Container config Locking Multilanguage support
+ Node types and Namespaces Repository and Workspace management Repository
+ container life cycle Workspace Persistence Storage Workspace SimpleDB
+ storage</para>
+ </section>
+
+ <section>
+ <title>How it works</title>
+
+ <para>eXo Repository Service is a standard eXo service and is a registered
+ IoC component, i.e. can be deployed in some ExoContainer (see <link
+ linkend="JCR.eXoJCRconfiguration.RepositoryConfiguration">Service
+ configuration</link> for details) Relationships between components are
+ shown in the picture below:</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/concepts/exojcr.gif" />
+ </imageobject>
+ </mediaobject>
+
+ <para><emphasis role="bold">Exo Container</emphasis> some subclass of
+ org.exoplatform.container.ExoContainer (usually
+ org.exoplatform.container.StandaloneContainer or
+ org.exoplatform.container.PortalContainer) that holds a reference to
+ RepositoryService</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><emphasis role="bold">Repository Service</emphasis> contains
+ information about repositories, eXo JCR is able to manage many
+ Repositories</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Repository</emphasis> Implementation of
+ javax.jcr.Repository. It holds references to one or more
+ Workspace(s)</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Workspace</emphasis> container of a single
+ rooted tree of Items (Note that here it is not exactly the same as
+ javax.jcr.Workspace as it is not a per Session object)</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Usual JCR application use case includes two initial steps:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Obtaining Repository object by getting <emphasis
+ role="bold">RepositoryService</emphasis> from current ExoContainer
+ (eXo "native" way) or via JNDI lookup if eXo repository is bound to
+ the naming context using (see <link
+ linkend="JCR.eXoJCRconfiguration">Service configuration</link> for
+ details)</para>
+ </listitem>
+
+ <listitem>
+ <para>Creating javax.jcr.Session object that calls
+ Repository.login(..)</para>
+ </listitem>
+
+ <listitem>
+ <para>Creating javax.jcr.Session object that calls
+ Repository.login(..)</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Workspace Data Model</title>
+
+ <para>The following diagram explains which components of eXo JCR
+ implementation are used in a data flow to perform operations specified in
+ JCR API</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/concepts/wsdatamodel.gif" />
+ </imageobject>
+ </mediaobject>
+
+ <para>The Workspace Data Model can be splitted into 4 levels by data
+ isolation and value from the JCR model point of view.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>eXo JCR core implements <emphasis role="bold">JCR API</emphasis>
+ intefaces such as Item, Node, Property. It contains JCR "logical" view
+ on stored data</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Session Level</emphasis> isolates
+ transient data viewable inside one JCR Session and interacts with API
+ level using eXo JCR internal API</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Session Data Manager</emphasis> maintains
+ transient session data. Along with data
+ accessing/modification/validation logic it contains Modified Items
+ Storage to hold the data changed between subsequent save() calling and
+ Session Items Cache</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Transaction Data Manager</emphasis>
+ maintains session data between save() and transaction commit/rollback
+ if the current session is part of a transaction</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Workspace Level</emphasis> operates for
+ particular workspace shared data. It contains per-Workspace
+ objects</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Workspace Storage Data Manager</emphasis>
+ maintains workspace data including final validation, events firing,
+ caching.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Workspace Data Container</emphasis>
+ implements physical data storage. It allows different types of backend
+ (like RDB, FS files etc) to be used as a storage for JCR data. Along
+ with the main Data Container other storages for persisted Property
+ Values can be configured and used.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Indexer</emphasis> maintains workspace
+ data indexing for further queries.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Storage Level</emphasis> persistent
+ storages for:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>JCR Data</para>
+ </listitem>
+
+ <listitem>
+ <para>Indexes (Apache Lucene)</para>
+ </listitem>
+
+ <listitem>
+ <para>Values (for BLOBs for ex) if different from main Data
+ Container</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </section>
+</chapter>
Modified: jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/configuration/exo-jcr-configuration.xml
===================================================================
--- jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/configuration/exo-jcr-configuration.xml 2010-08-05 15:19:12 UTC (rev 2891)
+++ jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/configuration/exo-jcr-configuration.xml 2010-08-06 13:45:35 UTC (rev 2892)
@@ -149,7 +149,7 @@
</itemizedlist>
</section>
- <section>
+ <section id="JCR.eXoJCRconfiguration.RepositoryConfiguration">
<title>Repository service configuration (JCR repositories
configuration)</title>
Modified: jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml
===================================================================
--- jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml 2010-08-05 15:19:12 UTC (rev 2891)
+++ jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml 2010-08-06 13:45:35 UTC (rev 2892)
@@ -13,9 +13,12 @@
<xi:include href="jcr/concepts/why-jcr.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="jcr/concepts/jcr-exo-implementation.xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="jcr/concepts/jcr-advantages.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="jcr/concepts/jcr-compatibility-levels.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
Added: jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/concepts/exojcr.gif
===================================================================
(Binary files differ)
Property changes on: jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/concepts/exojcr.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/concepts/wsdatamodel.gif
===================================================================
(Binary files differ)
Property changes on: jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/concepts/wsdatamodel.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the exo-jcr-commits
mailing list