Actually, if the services fulfill coarse-grained operations using
fine-grained method calls, why don't they use O/R mapping? Why use
entity beans to begin with?
If you want to be close to the data, get as close as you possible can
(O/R mapping). If you want to be far from the data, select a
far-reaching architecture (EJB entity beans).
arkin
"Jon Tirsén" wrote:
>
> The major problem of putting entities separated from
> the session beans is that entities typically are more
> object-oriented and communicate using fine-grained
> method-calls, while sessions are service-oriented
> using coarse-grained method-calls. The services
> fullfill their coarse-grained operations using several
> fine-grained method calls on the entities.
> This makes it necessary (for performance/scaleability)
> to put the entities and sessions in the same
> address-space (ie. using local calls).
>
> So the irony here is: For performance the entity
> should be close to the data and the session should be
> close to the entity.
>
> --- "Ananiev, Alexander"
> <[EMAIL PROTECTED]> skrev:
> > I like the idea of getting database as much to do as
> > possible in terms of
> > persistence. And I have a question in that regard.
> > I'm currently in the
> > process of evaluating Oracle JServer which is EJB
> > 1.0 application server
> > embedded in 8i database. The idea is to put entity
> > beans (even though in
> > fact current version of JServer doesn't support
> > them) or some O/R layer into
> > Jserver which would get the persistence logic as
> > close as it can get to the
> > data. On the other hand, I can still have my session
> > beans with the business
> > logic running outside of the database in some other
> > application server which
> > is supposedly more scalable. So, has anybody on the
> > board happened to
> > implement similar architecture? What do experts here
> > think about the
> > usability of "embedded" as I call them application
> > servers (I know that
> > other vendors are also putting JVMs inside their
> > databases) ? And the last
> > question: would there be a problem to propagate
> > transaction context between
> > containers from different vendors?
> >
> > Alexander "Sasha" Ananiev
> > PricewaterhouseCoopers
> >
> >
> > -----Original Message-----
> > From: Louth, William (Exchange)
> > [SMTP:[EMAIL PROTECTED]]
> > Sent: Monday, April 10, 2000 3:56 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: 'local' entity beans vs
> > dependent objects
> >
> > Hi all,
> >
> > Are we advocating that the business
> > interface, that is used for
> > local
> > objects, have RemoteExceptions listed for
> > all methods. It will have
> > to if it
> > is also to be used for the RemoteInterface.
> > This seems strange
> > considering
> > that we are now dealing with local
> > state/details objects are
> > implying that
> > they are remote. This really is going to
> > cause confusion for the
> > client side
> > developer. Maybe I am reading this wrong.
> > Maybe what people are
> > really
> > saying is that the bean and state objects
> > are implementing the
> > common
> > business interface.
> >
> > One thing to consider before moving totally
> > away from entity beans
> > and to
> > session beans with OO databases. Entity
> > beans should not be just
> > data
> > holders they should do some useful work on
> > their internal state and
> > help
> > reduce the amount of the data sent across
> > the network. This comes
> > back to a
> > previous post I made on the inprise
> > newsgroup about this area:
> >
> >
> >
> ======================================================
> > Subject: Re: Design questions
> > Date: Fri, 4 Feb 2000 10:52:25 +0100
> > From: "William Louth"
> > <[EMAIL PROTECTED]>
> > Newsgroups: inprise.public.appserver
> >
> > My last post was not so clear so let me try
> > again.
> >
> > A good starting point is the following
> > pyramid:
> >
> > / User \
> > / GUI \
> > / Session Beans \
> > / Entity Beans \
> > / Database \
> > ====================
> >
> > What the above diagram is showing is a
> > layered architecture. I use
> > this
> > diagram with new recruits to help them
> > understand how to allocate
> > processing
> > over components. In terms of designing most
> > business systems we
> > should try
> > to do as much work (processing) at each of
> > the lower layers. The
> > larger the
> > layer the more data held. The following is
> > also based on the
> > Locality
> > Principle which means moving processing
> > closer to the data or
> > objects that
> > play together should stay together. So with
> > this we see that we
> > should get
> > the database to do as much as possible since
> > it has most of the
> > data,
> > actually all of the persistent data. What
> > this mean, well getting
> > the
> > database to do the filtering (selection),
> > sorting, computation
> > (computed
> > fields) .etc of the data before moving it up
> > to the entity bean
> > layer. The
> > more work this layer does the less the
> > entity beans have to do since
> > less
> > data is possibly passed.
> >
> > Note: I am not advocating building alot of
> > business logic into the
> > DB layer
> > in fact this is something I am not in favour
> > of.
> >
> > At the entity bean layer we should then
> > provide some methods in our
> > interface which provide bulk processing of
> > our internal data for
> > clients
> > (session beans). For example the premium
> > calculations of some
> > insurance
> > policy object, our state returned in one
> > method call, etc.. In terms
> > of good
> > OO design this is better. What we are trying
> > to do is reduce the
> > amount of
> > data we pass up the pyramid i.e. to our
> > clients, by processing more
> > of it.
> > At the session bean level we should try to
> > do as much as possible to
> > the
> > entity data we have extracted before
> > returning to the client. This
> > in our
> > case manifests itself in returning objects
> > which represent customs
> > views of
> > our entity data, in most cases these views
> > do not include all the
> > objects
> > processed and their properties.
> >
> > At the user interface layer we should do
> > better tasks analysis to
> > refine the
> > information that is displayed to the user,
> > looking at what objects
> > are
> > involved, what information on these objects
> > needs to be displayed
> > and at
> > what point in the task is it best to provide
> > the information. In
> > many
> > interface designs too much data is usually
> > given to the user which
> > requires
> > them to do more processing (mind) before
> > they can get the
> > information they
> > need to peform their task efficiently.
> > ....
> >
> > With distributed computing we should be
> > logical designers who are
> > reluctant
> > physical designers.
> >
> === message truncated ===
>
> __________________________________________________
> Do You Yahoo!?
> Send online invitations with Yahoo! Invites.
> http://invites.yahoo.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".
--
----------------------------------------------------------------------
Assaf Arkin www.exoffice.com
CTO, Exoffice Technologies, Inc. www.exolab.org
===========================================================================
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".