Re: Cayenne Data View on client?

From: Andriy Shapochka (ashapochk..otmail.com)
Date: Sun Oct 19 2003 - 16:51:33 EDT

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

    > Now your idea of UI clients communicating with Cayenne "server" (ala
    > EOF JavaClient) will require some work in a different area, namely
    > creating some sort of distributed DataContext. I've toyed with this
    > idea in the past, and it should be possible to do with a some extra
    > effort.
    >
    > I like this approach theoretically. It should be much more lightweight
    > then any kind of EJB, and ...well...distributed. Now I would still want
    > to see a deeper study of cases when this might be beneficial for the
    > application compared to having the whole stack on the client. Anything
    > else other than applets? I know that many people in WO/EOF world use
    > such 3-tier/rich client approach, so if anyone could comment/elaborate
    > on the benefits, I'd love to hear this myself. What are the most
    > appropriate uses for this?
    >
    > Andrus
    >
    >

    I believe Java Web Start application development would greatly benefit from
    such a three-tier approach. I have some experience of creating Web Start
    apps. First of all it is very popular in the Java world and there are
    thousands and thousands of them deployed (the technology is already mature
    and worn smooth) and as opposite to applets you can deploy any (!) kinds of
    applications as Web Start apps and make them available online (best if
    signed). When I had created such an app based on Cayenne it became evident
    there would be two serious problems with it. First it is poorly scaled and
    lacks efficiency as every client would open its own JDBC connection to the
    host database server over the Internet (which is quite bad practice by
    itself) and data- or connection- sharing would be difficult, and, second,
    that would mean every client's box receives enough information locally to
    open the JDBC connection, so somebody could use it to connect to the
    database with an application different than my Web Start application which
    is altogether bad and unacceptable.

    So, roughly speaking, one VERY important scenario might be:

    1. Cayenne standalone app is developed as a regular two tier application
    2. Without changes in the code (or with minor ones) it is reconfigured to
    work over the mid-tier.
    3. It is deployed as a Web Start Application on the company's website to
    provide services of the rich client quality to customers, so on...

    By the way, the possibility to use the concept of Data Views in the manner
    hinted by Tore's question is very interesting and, definitely, something to
    think about.

    Andriy.



    This archive was generated by hypermail 2.0.0 : Sun Oct 19 2003 - 16:45:18 EDT