Ian,
I concur with your post, but want to clarify one thing.
> -----Original Message-----
> snip
> I assume a horizontal scaleability design point involving multiple copies
> of the EJB server, on multiple JVMs, on multiple machines each accessing
> the same database that is also shared with other (EJB or non-EJB)
> applications. With a horizontal scaleability design point, the usefulness
> of caching bean instances is limited and EJB servers supporting this
> design
> point must aim to give acceptable performance without caching.
>
While I agree that cache coherency is difficult in this context, there are
EJB servers that can synchronize caches across multiple VM's within a
machine (via shared memory), and across machines using page oriented cache
synchronization. I am aware of at least two vendors who can do this <vendor>
GemStone/J and Persistence </vendor>
I also agree with you that this caching business can be dicey. Caching
policies have to take into account whether the underlying database is
updated from other than the EJB server. I would point out though that
applications find ample use for caching outside of "business object data of
record". For example, many of our customers use the cache for:
- Meta data (supporting information or "rules" that the business objects
use)
- Work flow state.
- Store and forward queues.
- Caching of information that is static. For example data that is turned
into HTML or XML through dynamic rendoring benefits immensely from avoiding
dbms round trips to build up the state.
These things in compination with selective business object state caching Can
make having such a facility a huge win. It depends on the application of
course. Just because we have a hammer it does not follow that everything is
a nail... Different servers have a different sweet spot.
Regards,
-Chris.
===========================================================================
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".