Re: Cayenne Data View on client?

From: Andriy Shapochka (ashapochk..otmail.com)
Date: Mon Oct 20 2003 - 16:18:55 EDT

  • Next message: Andrus Adamchik: "Re: Cayenne Committer Proposal: Eric Schneider"

    ----- Original Message -----
    From: "Tore Halset" <halse..vv.ntnu.no>
    To: <cayenne-deve..bjectstyle.org>
    Sent: Monday, October 20, 2003 10:15 PM
    Subject: Re: Cayenne Data View on client?

    > On søndag, okt 19, 2003, at 21:15 Europe/Oslo, Andrus Adamchik wrote:
    >
    > What are the most appropriate uses for this?
    >
    > Hello.
    >
    > * Not every property in the model should be accessible from the client.
    > * It should be possible to generate serverside and clientside classes
    > from the Modeler.
    > * We need a separate layer for authentication/authorization and
    > session-management. Probably inside a layer that knows about http.
    > Perhaps axis?
    > * It would be very nice to be able to do a two level commit. One
    > commit from the client to the server, and a second commit from the
    > server to the database.
    >
    > I know this will be lot of work and that I am not competent to do it.
    >
    > - Tore.

    And this is exactly what I was talking about yesterday. The interesting
    thing is, if thinking in terms of DataObject "snapshots", conceptually the
    problem is quite simple. Frameworks like JGL Voyager did similar things even
    in nineties.
    - The main application deployed on the serverside (not necessarily in a
    container, may be a simple socket listener) works with the actual data
    objects on behalf of the clients like any Cayenne two-tier app.
    - It sends data object snapshots to the clients and receives the updated
    data object snapshots to merge them with the serverside originals for the
    following commits.
    - It commits changes to the database on request from a client.

    In the simple case the snapshots will be equal (meaning the type and the
    contents) to the original data objects. Every client gets its own
    DataContext to work with on the serverside. The data sharing can be
    implemented at least for the read-only entities (or objects). While there
    spring up many issues EJBs try to deal with the problems resulting from the
    naive two-tier approach go away. In the present state of Cayenne it looks
    like the only bulky thing needed to solve the problem in this way is
    implementation of a tier responsible for the transportation of DataObject
    snapshots, Queries, Commit/Rollback commands, etc.

    Andriy.



    This archive was generated by hypermail 2.0.0 : Mon Oct 20 2003 - 16:12:06 EDT