Hi,

On 6/19/07, bilobag <[EMAIL PROTECTED]> wrote:
I am in the beginning stages of a web based CMS tool using JSF, Spring and
Jackrabbit.  Please give any design advice you may have for the following
questions:

Chiming in a bit late...

1) I have 3 node types. Content, book, magazine.  Book and magazine extend
the content type.  They all have some common properties and some different
properties.  Now I first thought about creating wrapper classes that just
wrap the Node object and provide getters/setters for any properties I have
for each nodeType.  However, I am unsure if this is a good idea possibly
because of locking and concurrency issues.  I don't know if its a better
idea to have data transfer objects instead to move data to/from the front
end.  However, its more work to have to copy the propertys to/from the DTO
objects back into the node, but it could be the safer design.

When possible I typically try to avoid extra layers on top of JCR.
Unlike relational databases, JCR is actually quite "OO-friendly" so
the need for an DAO/DTO layer is not that big. Typically such a layer
just ends up limiting the available functionality.

I'm not against the OCM tool as is, I think it is very useful when you
already have an existing object model to be persisted, but if you get
to start from scratch then I would rather recommend directly using
JCR.

My favourite way of working with JCR is to treat nodes as stateful
resources, and my code as a set of stateless operations to be applied
on those resources. Such an approach is very "web-friendly".

BR,

Jukka Zitting

Reply via email to