Hi All,
In the Sun J2EE Blueprint the ModelManager is stored in the
ServletContext so that it may be shared among all clients, In fact the
Blueprint suggests that all objects that are to be available to all clients
and are to be stored in the Web-Tier should be stored in the ServletContext.
But, what happens when you scale up the application to be running an
Application server that is load balanced between different computers (let
alone different JVM's)? In this scenario it would be possible for the
different JVM's to have different values in the model, and given that you
may not return to the same physical machine for your next request, it would
be possible to return to a ModelManager with invalid Model information.
I know that Netscape Application Server (NAS) was able to synchronize
sessions across these machines but are there any App Servers out there
(particularly iPlanet) that can sync the ServletContext given that different
JVM's return different servlet contexts?
I realise that the reason for keeping the ModelManager in the Web-Tier is to
reduce the number of potentially expensive remote calls to the EJB-Tier by
having value objects sitting around locally and have them update themselves
when a ModelManager receives a ChangeEvent. However as EJB is basically a
"Pull" technology (i.e. client gets a handle to an EJB not visa versa) how
do ModelManagers on different JVM's know when a change event has happened on
another JVM?
Any help in this is appreciated including better ways of getting round the
shared-between-clients object caching issue.
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html