Dickon,

You said:
        > snip

> But the representation of domain entities as Remote does present a
> limitation which you do not necessarily have in, for example, CORBA. Take,
> for example a basic 'Person' logical domain entity. To represent this as
> an
> EJBObject mapped to an EntityBean is great from the point of view that you
> gain extensive appserver support for transactions, lifecycle and
> persistence. It is also good that you retain the abstractness of the
> domain
> definition since it gives you greater flexibility in the integration,
> migration and evolution of your underlying implementation.
>
> But you cannot pass a collection of Person to the client as you could with
> CORBA. There are instances in many applications where this is desirable
> since you may wish to iterate over large numbers of such domain entities
> without generating large numbers of calls across the network.
>
In CORBA you have the exact same problem. You are either passing remote
object references, or copies of domain objects that have been turned into
IDL structs/sequences. Now that CORBA has pass by value semantics, there is
a direct analogy to EJB. At the level of distributed object messaging, the
challenges are the same. CORBA perhaps has the advantage that it doesn't
seduce you into exposing your fine grained objects to direct remote
integration.

        > snip

> There just seems to be an inherent contradiction in the design goals of
> EJB
> with regard to entity beans. They enable scalable representation and
> management of thousands of fine-grained instances of domain entities, but
> in
> order to interact with these entities you have to either accept a high
> volume of network calls or manually extract the state and identity of each
> entity and manage the flow of this data to and from the client.
>
All distributed systems face the same dilema. What you must do is build
a coarse grained service interface that your client use to interact with
business
objects on the server. The idea that a object model can be transparently
partitioned between client and server has been shown to be niave. Take it
from a vendor that provides such a capability with our Smalltalk. People get
in trouble with this if they aren't very careful about the partitioning.

-Chris.

----------------------------------------------------------------------
Chris Raber, Systems Engineer, GemStone Systems Inc.
100 West Big Beaver, Suite 200, Troy, MI 48084
phone: (248)-680-6691, fax: (248)-680-6689,
email: [EMAIL PROTECTED]
web: http://www.gemstone.com/
----------------------------------------------------------------------

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