> No, you just don't let the fine-grained objects talk in a fine-grained way
> to the client. As far as the client is concerned, you wrap them up in a
> coarse-grained Session Bean. The fine-grained objects interact with each
> other in the server-side code; this is presumably how MSF works too,
> otherwise it would have the same problems with inefficient fine-grained
> interactions over a network.
Exactly! Your client communicates to a Session bean on the server using
coarse-grained methods and then your Session Bean can utilize as fine a
grained object
model as appropriate, using tons of plain vanilla Java object instances,
Entity bean instances, session bean instances, or whatever it takes to
accomplish the coarse-grained task for the client. All the interaction by
the session bean to the fine grained object model and by the objects in the
fine grained object model with each other is local so should be just as
efficient as your MSF workspace. All the transaction capabilities you have
now in MSF are applicable as the client or the session bean can indicate
that the whole coarse grained task is to be accomplished within
a transaction or the session bean can manage the coarse grained task as a
series
of smaller transactions if that is more appropriate. Indeed the client can
even
manage a series of coarse grained calls as 1 transaction. So you should be
able
to replicate any of the transactional features of your MSF framework.
To completely replicate the MSF framework as you described it you would
need an application server capable of doing load balancing on the coarse
grained session object that the client is going to converse with. This
load balancing is equivalent to picking a workspace on the least loaded
server in your MSF framework.
If cost is an issue you could certainly manually implement load balancing
in JOnAS. Have a load balancing session bean that returns bean references
on the least loaded server to the client. It would obviously need to
maintain
the state of the clients who have come and left so it can determine the
load.
It can get references on the same bean on a different servers by changing
the JNDI
properties to point to a different provider prior to the JNDI lookup. And
there
you go, cheap load balancing.
Hope this helps.
Later,
Sean
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".