Hi,

can take some of those questions:

> Lifecycle management
> I have seen that it is not implemented in Oak while specified by the JCR.
> Is there any plan to implement it ?

I don’t think there is a plan to implement them. Most of the LC functionality 
can be implemented on application level.
If you can specify your use case we can maybe advise how to do that.

> Observation
> How does it scale ?
> I need to have some custom operations executed on node creation, move, 
> deletion, ...
> I guess Observation is the way to go, but I wonder how this scale in case I 
> need to be able to handle several billions nodes ?

Observation scalability depends on 3 factors:
number of writes per cluster, number of cluster nodes and number of observation 
listeners that listen to external events on each cluster node.

For example, if you have many cluster nodes and many writes on each of those, 
but your observation listeners discard all external events then your 
application would only be bound by the listener speed for processing local 
events.
If  you have many cluster nodes which many writes on each of them you should be 
careful and not register non-local event listeners.

btw: observation works on repository state diffs. Therefore the total size of 
the repo is not relevant afaik.

> JCR vs RDBMS
> I come from the RDBMS world and I am pretty new to JCR so I apologize if 
> these are dumb questions:
> 
> *         So far, I have manipulated the JCR API (node, properties, events, 
> ...) and was able to cover my basic use cases.
> 
> But, in a real application, I need to have OO modelisation and, therefore, at 
> some point, have a way to map my business model to JCR nodes (something like 
> an ORM).
> 
> I found Jackrabbit 
> OCM<http://jackrabbit.apache.org/5-with-jackrabbit-ocm.html> but nothing in 
> Oak.
> 
> Is there something in the pipe  ?

The typical ORM usage where RDB columns are auto-mapped onto Java objects has 
shown to be less useful (or needed) in JCR. Hence, I believe all OCM projects 
have not been advanced much lately.
For many (even large scale applications) it is totally fine to work on JCR’s 
API directly. In cases, where more complex node structures are needed to model 
a business entity you can create that object as a POJO, which in turn uses JCR 
(without having to add the complexity of auto-mapping properties).

> *         What are the strategies and tooling for data migration ?
> 
> I mean if I have millions of nodes of a certain type and need to do some 
> modification in this type definition (adding a mandatory property or node, 
> changing a property type, ....); in this case how should I proceed ?

Unlike in RDB (where you cannot store anything unless you have created 
structure) in JCR it is usually recommended to delay creating structure until 
you really need it. See [1], rule 1.
So, you should start out by using nt:unstructured nodes which can easily be 
migrated.
But also be aware of [1], rule 2: designing a good hierarchy for your use case 
is essential.

HTH
Michael


[1] http://wiki.apache.org/jackrabbit/DavidsModel


On 13 Oct 2014, at 09:55, TALHAOUI Mohamed <[email protected]> wrote:

> Hi,
> 
> I have some questions regarding the POC I am working on:
> 
> Lifecycle management
> I have seen that it is not implemented in Oak while specified by the JCR.
> Is there any plan to implement it ?
> 
> Observation
> How does it scale ?
> I need to have some custom operations executed on node creation, move, 
> deletion, ...
> I guess Observation is the way to go, but I wonder how this scale in case I 
> need to be able to handle several billions nodes ?
> 
> ACL
> How does it scale ?
> If I query a large repo for nodes and only have access to few ones, how does 
> the filtering work ?
> 
> JCR vs RDBMS
> I come from the RDBMS world and I am pretty new to JCR so I apologize if 
> these are dumb questions:
> 
> *         So far, I have manipulated the JCR API (node, properties, events, 
> ...) and was able to cover my basic use cases.
> 
> But, in a real application, I need to have OO modelisation and, therefore, at 
> some point, have a way to map my business model to JCR nodes (something like 
> an ORM).
> 
> I found Jackrabbit 
> OCM<http://jackrabbit.apache.org/5-with-jackrabbit-ocm.html> but nothing in 
> Oak.
> 
> Is there something in the pipe  ?
> 
> *         What are the strategies and tooling for data migration ?
> 
> I mean if I have millions of nodes of a certain type and need to do some 
> modification in this type definition (adding a mandatory property or node, 
> changing a property type, ....); in this case how should I proceed ?
> 
> Thanks in advance for your answers,
> Mohamed

Reply via email to