> Atomic: "An atomic object is one without a complex object graph. These
> objects have a very flat object graph with an emphasis on primitive
> properties over complex relationships with other objects. The reason is
> quite simple: the deeper the object graph the more work it is to stream
> the object across the network."
>
> This presumes a slow, thin connection.  Maybe my application has tons of
> bandwidth to play with, and it would be really useful to stream complex
> object graphs to the client.  Maybe I have a custom serialization
> protocol that is super fast.

On the contrary. You pay CPU time trying to serialize a complex object,
regardless of your bandwidth. The more complex the graph the slower
serialization will be, the more large the the objects are, the more
bandwidth would help. So, passing around a huge String would benefit
from a fat pipe. Passing around a complex heirarchy of small objects
would benefit from a better CPU.


> The current project I'm on uses JSP pages and servlets to generate the
> user interface, so my "client" is in the same datacenter as my "server",
> and they are connected over a high speed network.  Why can't my servlets
> and JSPs manipulate the same complex graphs of fine-grained domain
> objects that my EJBs manage?

Try dropping your high speed network to 10MB/s and see if it makes a
difference.

I suggest you try a simple RMI test passing a String across a method
call and then passing a complex graph of objects. Try running it in a
loop with a network monitor and CPU monitor and see where the bottleneck
comes up first in either case.

I think that will give you a precise answer to all your questions.

arkin



> Why can't I have a coarse grained entity bean as a facade to a complex
> graph of domain objects, then stream that same graph of domain objects
> to the client, where local changes are made to the copy.  When the
> changes are ready to be committed, the modified complex graph can be
> streamed to a session bean, where the changes are passed on to the
> appropriate entity bean within the context of a transaction.  I have a
> high level concept, say "Customer", represented by an entity bean and a
> complex, mutable, independent, coarse-grained object graph that I
> serialize and transmit to the client.  The client mutates the graph,
> then passes it back in the context of a transaction.  The mutations are
> made durable in the corresponding entity bean.
>
> Comments?

===========================================================================
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