Tim Shephard wrote:

> I'm probably flogging a dead horse, but I wanted to pipe in with a me too here.
>
> Using EJBs as facades for our object graphs has been our approach all along. I 
>suppose this is what happens in a relational world trying to limp into an object 
>oriented one.
>
> Unfortunately, we've found problems with this.
>
> 1. Bean managed persistence was really our only choice.  (though I've been told 
>toplink was an option at one point).
>
> 2. Some of our sub-objects are Entity beans in their own right.  Our approach so far 
>is to give facades to these sub objects in certain places.  This will be an issue 
>when sharing starts to take place.
>
> 3. Caching.  Having these complex objects built by complex sql queries begs the 
>question of caching.  This is an area that EJB is sorely lacking.
>
> 4. Locking causes us a lot of grief as well, when we have to understand how the 
>sharing in 2 and whatever caching we can think of in 3 will affect our designs.
>
> To be bold, I'd like to say that EJB is the beginning of a useable object oriented 
>database for business applications. The relational model was great, but it only 
>handled state, while EJB brings behavior into the mix. Unfortunately, it is fairly 
>obvious that the spec is still in its infancy ..

--> Perhaps you may want to consider using a real object-database .... which does 
handle complex graphs of objects, object caching, object-level locking and server-side 
queries and indexes.  EJBs are a far cry from an object-database .... but can serve 
well as a component facade for services that
need to access complex graphs of objects.

cheers,

Nipun




>
>
> On Fri, 15 Jan 1999 09:03:34 -0600, Chip Wilson <[EMAIL PROTECTED]> wrote:
>
> >see below
> >
> >> That may depend on the application type. One part of  our application
> >> (at the moment fat-client arch.) consists of an asset analysis of our
> >> customers. We have a graph like this (simplified):
> >>
> >> Customer
> >>     - Asset
> >>     - Asset
> >>     - ...
> >>     - Liability
> >>     - Liability
> >>     - ...
> >>
> >> One type of assets is a surety of another person, potentially a customer
> >> too.
> >> So this graph can become quite complex.
> >        [Chip Wilson]
> >        Consider using coarse grained entity beans to represent sections of
> >the instance graph.  The instances that you wish to traverse may then be
> >requested from the coarse grained bean, which will result in them being
> >serialized and sent to the client for "traversal."  Changes to the graph can
> >similarly be serialized and sent back to the coarse grained entity in the
> >context of a transaction for updates.
> >
> >        In your example, you probably need a coarse grained entity called
> >Customer, which can be found based on various criteria.  This customer
> >entity is referred to by proxy, but when you want to traverse the part of
> >the instance graph pertaining to assets, you ask the Customer entity for
> >that section of the graph and work with it on the client.
> >
> >> The ability to traverse this graph is essential for our application. If
> >> EJB
> >> is unsuitable to support this ability, that would be a reason for us to
> >> choose
> >> another technology.
> >        [Chip Wilson]
> >        I see no reason why EJB cannot meet your needs.  I look at entity
> >beans as facades into the domain layer of my application.  Each facade has
> >an associated graph of domain instances to which it (the facade) provides an
> >interface.  Similarly, session beans are facades into the application model
> >layer.
> >
> >        The corresponding instance graphs for multiple entity bean instances
> >must be disjoint, even if they represent the same persistent objects.  This
> >will require work to handle concurrent access to the same persistent objects
> >from multiple entity beans.
> >
> > ==========================================================================
> >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".
> >
> > ==========================================================================
> >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".
> >
>
> ===========================================================================
> 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".

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