TopLink -> Cayenne

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu Jan 02 2003 - 18:21:11 EST

  • Next message: Andrus: "Contributions to Cayenne"

    Guys,

    Soon I may start a conversion project from TopLink (old version - 3.6) to
    Cayenne. There is an existing set of applications that uses a heavily
    customized framework of TopLink-based business objects. I am compiling the
    list of the issues I might have when doing this.

    One thing that TopLink seems to handle well is creating objects out of
    almost any kind of queries (raw sql, stored procedures, etc.). The
    applications in question use this feature heavily.

    I guess this shouldn't be that hard to add to Cayenne, as long as returned
    result set has all ObjectId columns. A few issues I will need to address
    are:

    1. Stored Procedure-based queries.

    2. "Partial" objects. I am not sure if it is worth pursuing at all, but
    anyway... It is a performance optimization. When an arbitrary query result
    has ObjectId columns + some other columns (but not all), it seems wasteful
    not to use these extra columns to populate object attribute values. But this
    requires substantial changes to DataContext (new PersistentState -
    PARTIAL?). In TopLink partial objects are read-only, we can't make this
    assumption. I guess we can leave it out for now...

    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...

    Any thoughts? Comments?

    Andrus



    This archive was generated by hypermail 2.0.0 : Thu Jan 02 2003 - 18:21:22 EST