Re: Newby question about Cayenne, threads and EOF comparison

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Fri Apr 02 2004 - 12:17:59 EST

  • Next message: Andrus Adamchik: "Re: Newby question about Cayenne, threads and EOF comparison"

    Hi Alex,

    In depth answer to all these questions would probably require a small
    book :-) Hopefully you'll be able to get some perspective from the
    messages by different posters.

    Here is a few things I wanted to add...

    > It looks like Cayenne is the closest and even has some nice things EOF
    > still lacks (reverse relationships not firering automatically upon
    > insert, multi-instance synchronizing, etc...).

    To name a few more: "paginated" queries, iterated results, more
    databases supported "out of the box", ant deployment tools (

    > 1. Is Cayenne thread safe? If so are there any limitations (e.g.
    > database channels, etc...)?

    Of the shared resources only the snapshot cache (DataRowStore) is
    locked during commit operations and when fetched objects are
    registered. Database access itself is fully multithreaded, and other
    than using a connection pool, everything is really stateless there.

    > 2. Is there a list of comparison of features with EOF, not meant for
    > the manager who decides but for the developer who wants to migrate?

    A few missing features that are to be released very soon: optimistic
    locking, inheritance, and (maybe a bit later) shared context for static
    data.

    A few things that EOF has but Cayenne does not: nested contexts, step
    by step undo (I suspect the lack of this makes Cayenne faster, but I
    have no profiling data to confirm that). Both should be relatively easy
    to add I guess.

    > 3. Performance wise, how do you think you compare to EOF? Especially
    > snapshotting, versionning (undo management?), etc...?

    I'd love to know myself... Somehow I think Cayenne is more lightweight
    and will be faster.

    > 2. Is there any plan (within Cayenne or with other projects) to have
    > the equivalent of EOInterface (after spending several weeks banging my
    > head on Swing... coming from OpenStep... I miss that controller
    > layer)?

    This is my favorite one. Even though I never used IB, and had no such
    reference point, writing CayenneModeler in Swing was such a major
    pain!!! I finally settled on Scope MVC framework
    (http://scope.sourceforge.net/). It is MVC, all right. It even has some
    limited support of bindings to Swing widgets. But I can recommend it
    only with some reservations(as of Scope 1.0.1). Its design heavily
    relies on static methods, variables and singletons. Changing something
    in it is close to impossible. But it will give you the controller :-)

    While not trying to build an MVC framework of its own, Cayenne provides
    its own cool ways to integrate data objects into Swing (no matter what
    other frameworks Swing app might be using). Looks like you've done some
    in depth research of Cayenne features, so you might have seen some
    information about Data Views (chapter 14 in the 1.1 user guide).

    Cheers
    Andrus



    This archive was generated by hypermail 2.0.0 : Fri Apr 02 2004 - 12:18:05 EST