Re: TopLink -> Cayenne

From: Holger Hoffstätte (holge..izards.de)
Date: Fri Jan 03 2003 - 12:58:36 EST

  • Next message: Dave Slusher: "My local Cayenne changes"

    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