How well can the client and server can be made to work together?

From: Chris Murphy (chri..trandz.org)
Date: Wed Jan 23 2008 - 07:35:54 EST

  • Next message: Adam Yocum: "Re: Join over Multiple Database"

    I haven't used Cayenne but would like to think thru how it could be
    used. Specifically Cayenne Remote Object Persistence seems like a great
    way of implementing an exposed domain model with a Swing GUI client.
    However most Swing applications of any complexity also need to access
    server side methods. My question goes to how well the client and server
    can be made to work together.

    In JDO the Entity Manager (that's JPA (EJB3.0) terminology) is called a
    Persistent Manager (PM), in Hibernate a Session. In JDO a remote PM
    exists on the client and talks to its partner PM on the server. From the
    Cayenne documentation it looks as if I can say that a CayenneContext on
    the client seemlessly makes requests on its DataContext that resides on
    the server.

    If you are using Spring lightweight remoting for services then to make
    queries faster your Spring service methods will want access to the same
    DataContext that the CayenneContext is accessing. In fact it would be
    great if they could even access the same 'cursor' of query result
    objects. Thus if your application had just done a query on the client
    and then called a Spring service method, and as part of its working the
    method needed to use the same result set (which is an object graph) that
    the client had just requested - then the server side method should be
    able to access it. In fact if the client or the server modifies and
    commits result set data, then the other side (server or client) ought to
    be able to access that data without re-querying. Is this Spring/Cayenne
    integration possible with Cayenne?

    Note there are two stages to the question. For the DataContext to be
    shared it would make sense for the Spring and Cayenne Web services to be
    running on the server in the same JVM. Getting to this stage would be
    pretty good as the DataContext's cache of 'all objects that it has
    recently queried' would be shared. Getting to the next stage, of having
    shared -updatable data object result sets- would be great as it would
    mean that queries would not even need to be repeated.

    With Cayenne can you get to stage one or stage two?

    thanks - Chris Murphy (www.strandz.org)

    >



    This archive was generated by hypermail 2.0.0 : Wed Jan 23 2008 - 07:37:46 EST