First of all (better late than never): Happy New Year from me as well! I
was a little quiet for the last couple of weeks because I had eye surgery
on both eyes and can just now finally get some computer time again. :)
Andrus Adamchik wrote:
> 3. Distributed cache. All Cayenne caching is DataContext based. Current
> TopLink application has a custom (non-TopLink) multicast cache update
> mechanism. I wonder if we can add some cache synchronization API to
> DataDomain, with pluggable implementation that can be either local or
> distributed. Then I can reuse current multicast synchronization framework,
> or maybe even talk the owner of the code to make it a part of Cayenne...
I cannot say much about your other issues (except that I couldn't get the
point behind the partial objects), but I thought a bit about the cross-VM
notification issues. The usual approach - manually throwing EOGlobalIDs,
err, ObjectIDs over the fence via RMI or XML-RPC works but is tiresome,
not failsafe and really only useful for ad-hoc hacks. Much better to have
a generalized messaging solution that deserves the name: JMS is the
obvious candidate. But JMS alone 'only' takes care of the messaging
(although it's pretty flexbile, synchronous/asynchronous, guaranteed
delivery, IIRC can use different transports etc.; I think newer TopLink
uses JMS too) and several people realized that more generalized
infrastructure for caching is needed. See:
http://www.jcp.org/en/jsr/detail?id=107 for something that will likely
show up in J2EE sooner or later. Its ideas are based on JCache by Oracle
and there's at least one person with a clue on the group (from Gemstone),
so there's actually hope. :-)
Another interesting thing to look into might be JCS:
http://jakarta.apache.org/turbine/jcs/ which is also used by Hibernate
('that other' mapping framework) for cross-VM consistency. JCS uses RMI
and offers a very, very interesting set of features. I don't know how
difficult it might be to set up an (probably optional)
DataContextChangeEventObserver that distributes updates/deletes to other
VMs; a look at Hibernate will probably help.
Dirk & I had some interesting brainstorming today about the EventObserver
stuff; we found a couple of points that we could improve, so once we have
this in place we can look at trying to throw Events around over a network.
Guess I'll have to dig out my TopLink again sand see how we can improve on
that!
Holger
This archive was generated by hypermail 2.0.0 : Fri Jan 03 2003 - 12:59:16 EST