labs-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ppod...@apache.org
Subject svn commit: r606974 - in /labs/fluid/slice/src/site/apt: download.apt index.apt manual.apt release_notes.apt
Date Wed, 26 Dec 2007 23:44:13 GMT
Author: ppoddar
Date: Wed Dec 26 15:43:54 2007
New Revision: 606974

URL: http://svn.apache.org/viewvc?rev=606974&view=rev
Log:
Automatic collocation by cascading relations

Added:
    labs/fluid/slice/src/site/apt/release_notes.apt
Modified:
    labs/fluid/slice/src/site/apt/download.apt
    labs/fluid/slice/src/site/apt/index.apt
    labs/fluid/slice/src/site/apt/manual.apt

Modified: labs/fluid/slice/src/site/apt/download.apt
URL: http://svn.apache.org/viewvc/labs/fluid/slice/src/site/apt/download.apt?rev=606974&r1=606973&r2=606974&view=diff
==============================================================================
--- labs/fluid/slice/src/site/apt/download.apt (original)
+++ labs/fluid/slice/src/site/apt/download.apt Wed Dec 26 15:43:54 2007
@@ -2,13 +2,15 @@
 
  Slice is available as a single jar.
 
-*----------+---------------------------------------------------------------*
-|  Version |                                 Download                              
-*----------+---------------------------------------------------------------*
-|  0.1.0   | {{{http://svn.apache.org/repos/asf/labs/fluid/slice/openjpa-slice-0.1.0-SNAPSHOT.jar}openjpa-slice-0.1.0-SNAPSHOT.jar}}
|
-*----------+---------------------------------------------------------------*
-|  0.2.0   | {{{http://svn.apache.org/repos/asf/labs/fluid/slice/openjpa-slice-0.2.0-SNAPSHOT.jar}openjpa-slice-0.2.0-SNAPSHOT.jar}}
|
-*----------+---------------------------------------------------------------*
+*----------*---------------------------------------------------------------*---------------------*
+|  Version |                                 Download                      | Release Note
       
+*----------*---------------------------------------------------------------*---------------------*
+|  0.3.0   | {{{http://svn.apache.org/repos/asf/labs/fluid/slice/openjpa-slice-0.3.0-SNAPSHOT.jar}openjpa-slice-0.3.0-SNAPSHOT.jar}}
| {{{release_notes.html#0.3.0}Release Note}} |
+*----------*---------------------------------------------------------------*---------------------*
+|  0.2.0   | {{{http://svn.apache.org/repos/asf/labs/fluid/slice/openjpa-slice-0.2.0-SNAPSHOT.jar}openjpa-slice-0.2.0-SNAPSHOT.jar}}
| {{{release_notes.html#0.2.0}Release Note}} |
+*----------*---------------------------------------------------------------*---------------------*
+|  0.1.0   | {{{http://svn.apache.org/repos/asf/labs/fluid/slice/openjpa-slice-0.1.0-SNAPSHOT.jar}openjpa-slice-0.1.0-SNAPSHOT.jar}}
| {{{release_notes.html#0.1.0}Release Note}} |
+*----------*---------------------------------------------------------------*---------------------*
 
 * Get the source code
 
@@ -43,4 +45,6 @@
      [[a]] edit <<<src/test/resources/META-INF/persistence.xml>>> accordingly
      
      [[b]] add \<dependency\> in <<<pom.xml>>> for the database driver
being
-     used.
\ No newline at end of file
+     used.
+     
+ 
\ No newline at end of file

Modified: labs/fluid/slice/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/labs/fluid/slice/src/site/apt/index.apt?rev=606974&r1=606973&r2=606974&view=diff
==============================================================================
--- labs/fluid/slice/src/site/apt/index.apt (original)
+++ labs/fluid/slice/src/site/apt/index.apt Wed Dec 26 15:43:54 2007
@@ -17,24 +17,32 @@
  The salient features of Slice are: 
    
    [[1.]] <<Transparent>> : no change to the application or to the persistent

-   domain model to upgrade from a single database to distributed database environment.
+   domain model to upgrade from a single database to a distributed database 
+   environment.
 
-   [[2.]] <<Custom Distribution>>: application decides how the newly persistent
instances be distributed  
-   across multiple databases
+   [[2.]] <<Custom Distribution Policy>>: application decides how the newly 

+   persistent instances be distributed across multiple databases. Slice tags
+   the original database for existing instances so that any update happens
+   to the appropriate database. 
    
-   [[3.]] <<Heterogeneous Database>>: each slice can be configured independently,
hence data can be 
-   distributed across heterogeneous databases. 
+   [[3.]] <<Heterogeneous Database>>: each slice can be configured independently
+   with its own JDBC driver, hence data can be distributed across heterogeneous 
+   databases. 
    
    [[4.]] <<Plug-and-Play>>: configured as a plug-in to OpenJPA runtime
    
    
  The <current> limitations are
  
-   [[1.]] <<Collocation Constraint>>: no relationships across databases; hence
the closure of 
-   an object graph must be collocated in the same database
+   [[1.]] <<Collocation Constraint>>: no relationships across databases; 
+   hence the closure of an object graph must be collocated in the same database.
+   Slice, however, helps to maintain the collocation constraint by automatically
+   assigning the correct slice for all cascaded relationship. The user-defined
+   DistributionPolicy requires to supply the slice for the root instance only.
    
-   [[2.]] <<Local Transaction>>: no two-phase commit protocol across multiple
databases when local
-   transaction is local. Under JTA transaction, the underlying slices participate in global
transaction.
+   [[2.]] <<Local Transaction>>: no two-phase commit protocol across multiple

+   databases for local transaction. Under JTA transaction, the underlying slices 
+   participate in global transaction.
 
    [[3.]] <<No Sorting>>: no sorting of query result across multiple databases.

    

Modified: labs/fluid/slice/src/site/apt/manual.apt
URL: http://svn.apache.org/viewvc/labs/fluid/slice/src/site/apt/manual.apt?rev=606974&r1=606973&r2=606974&view=diff
==============================================================================
--- labs/fluid/slice/src/site/apt/manual.apt (original)
+++ labs/fluid/slice/src/site/apt/manual.apt Wed Dec 26 15:43:54 2007
@@ -20,11 +20,11 @@
       
   * {{{manual.html#Getting}Getting Started with Slice}}
   
-    ** {{{manual.html#Download}Download Slice}}
+    ** {{{manual.html#Unit}Configure Persistence Unit}}
     
-    ** {{{manual.html#Configure}Configure Persistence Unit}}
-    
-    ** {{{manual.html#Implement}Implement Distribution Policy}}
+    ** {{{manual.html#Slice}Configure Slices}}
+
+    ** {{{manual.html#DistributionPolicy}Implement Distribution Policy}}
     
   []
   
@@ -77,13 +77,15 @@
 
  However, Slice can not establish or query any cross-database relationship. This limitation
leads
  to <collocation constraint> i.e. closure of any object graph must be stored in the
same database. 
- Currently, distribution policy implementation has to satisfy this collocation constraint.

  
  For example, if Person A is related to Address B, then instance A and B must reside in the
same database.
  Of course, another Person C and its Address D can reside in a different database.
  
- It is possible for Slice to grow smarter and determine the closure of a root object by traversal
of 
- cascaded relationships, but it is not there yet.
+ Slice can determine the closure of a root object by traversal of 
+ cascaded relationships. Hence user-defined policy has to only decide the
+ database for the <root> instance that is the explicit argument of <persist()>
call.
+ Slice will ensure that all other instances that gets persisted by cascade
+ is assigned to the same database as that of the root instance.
      
 
 {Getting} Started with Slice
@@ -91,17 +93,17 @@
     Follow the steps to enable your OpenJPA application for distributed 
     databases with Slice:
 
-       [[1]] {{{manual.html#Configure}Configure persistence unit}}
+       [[1]] {{{manual.html#Unit}Configure Persistence Unit}}
        
        [[2]] {{{manual.html#Slice}Configure Slices}}
   
-       [[3]] {{{manual.html#implements}Implement Distribution Policy}}
+       [[3]] {{{manual.html#DistributionPolicy}Implement Distribution Policy}}
   
        [[4]] {{{manual.html#Run}Run your application}}
 
     []
     
-     [[1]] {Configure} Persistence Unit
+     [[1]] Configure Persistence {Unit}
   
          Add the following in <<<META-INF/persistence.xml>>>:
                 
@@ -109,7 +111,7 @@
          <property name="openjpa.BrokerFactory" value="slice"/>
 ---------------------------------------+ 
  
-     [[2]] Configure the {Slice}s:
+     [[2]] Configure {Slice}s:
 
          Each Slice has a unique URL
          
@@ -137,12 +139,8 @@
          <property name="slice.Three.ConnectionDriverName" value="com.another.Driver"/>
 ---------------------------------------+
  
-     [[3]] Specify a Java class that {implements} DistributionPolicy
+     [[3]] Implement {DistributionPolicy} 
 
---------------------------------------
-          <property name="slice.DistributionPolicy" value="org.acme.foo.MyDistro"/>
-----------------------------------------
-     
            {{{apidocs/org/apache/openjpa/slice/DistributionPolicy.html} 
            org.apache.openjpa.slice.DistributionPolicy}}
            is a simple interface with a single method. The interface is described as 
@@ -161,9 +159,14 @@
      */
     String distribute(Object pc, Set<String> slices, Object context);
 -------------------------------------------------------
-      
-      
 
+           The policy class you implement is to be specified in 
+           <<<META-INF/persistence.xml>>> as:
+                 
+--------------------------------------
+          <property name="slice.DistributionPolicy" value="org.acme.foo.MyDistro"/>
+----------------------------------------
+ 
      [[4]] {Run} your application
 
            That is it. 

Added: labs/fluid/slice/src/site/apt/release_notes.apt
URL: http://svn.apache.org/viewvc/labs/fluid/slice/src/site/apt/release_notes.apt?rev=606974&view=auto
==============================================================================
--- labs/fluid/slice/src/site/apt/release_notes.apt (added)
+++ labs/fluid/slice/src/site/apt/release_notes.apt Wed Dec 26 15:43:54 2007
@@ -0,0 +1,34 @@
+Release Notes
+
+* Version {0.3.0}
+ 
+   * <Automatic Collocation Constraint>: Added support for identifying the correct

+      slice for instances that are newly persistent by cascade. Collocation
+      constraint requires that the closure of any object graph be stored in the
+      same slice. In earlier version, user-defined DistributionPolicy has to
+      ensure this constraint by returning the same slice for all the instances 
+      in the same closure.\
+      Now DistributionPolicy only needs to be implemented for root instances i.e. 
+      the instances that are explicit argument of persist()
+      call. The cascaded instances will be automatically assigned the same slice
+      identifier of the root instance.
+      
+   []
+      
+
+* Version {0.2.0}
+ 
+   * <Per-slice Configuration>: Added support for per-slice configuration. 
+      Now each slice can be configured with separate database driver or database 
+      dictionary or any other property.
+   
+   * The previous multi-URL configuration is no more supported.
+   
+   []
+   
+* Version {0.1.0}
+ 
+   * First working version for extending OpenJPA to horizontally-partitioned,
+   distributed database.
+   
+   []



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org


Mime
View raw message