[EMAIL PROTECTED] wrote:
>I don't think that's coincidence, do you?  Fine
>granularity seems like a good entity design criterium.  The
>opposite extreme is object-graph entities, perhaps even with
>entities reachable from other entities (entity graphs).

I agree that it SEEMS like a good entity design criterium, however it breaks down 
rather quickly when object graphs are needed to represent your domain model, and when 
these same object graphs need to be made available to a client application running 
over a potentially slow network. (Where multiple requests to the server can be too 
costly.) I don't see entity graphs (component graphs) as a good solution for several 
reasons, but the key problems being related to clustering and distributed transactions.

>I wouldn't want to tackle O-R mapping for object graphs.

We are going through this, and you are right, it is not a simple task, however I don't 
think it would not be any easier using fine-grained entity beans. Also, coarse grained 
object graphs allow us more control over how we query our RDBMS, therefore enabling us 
to optimize it where necessary.

>I also suspect small entities
>are more ammenable to transaction atomicity when compared withobject >graphs.

I think they are (at least in the RDBMS world), however I believe that in practice, 
most real-world applications deal with larger coarse-grained object graph-like data 
sets. I would like to hear from Chip from ObjectSpace about atomicity in the ODBMS 
world. I suspect that a single update of the entire object graph would be considered 
an atomic transaction.

Besides a good EJB architecture should restrict updates of any record in an RDBMS to a 
single entity bean (or object graph within it), therefore removing any chance for 
deadlock. (Not always possible, but should be the goal.)

-Glenn.

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to