You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Borut Bolčina <bo...@gmail.com> on 2006/08/08 22:51:48 UTC
Web application with no access to database
Hello,
me again troubling you...
I just read the
http://cwiki.apache.org/confluence/display/CAYDOC/Remote+Object+Persistence+Guidein
search of the solution. If someone read my posting about "Database
replication and caching" this is the continuation of the architectural
question.
Two or more web applications will collect data from users and obviously
should be persisted in database. Those web apps will communicate with
backend java applications (cluster) via RMI calls for some other reasons.
Collected web data represent two Cayenne data objects (one is in the to-one
relationship with the other). If we don't want the web apps to have direct
access to database, this two objects should be passed to backend Cayenne
enabled java application to persist them. As I read the thread
http://www.objectstyle.org/cayenne/lists/cayenne-user/2005/09/0205.html I am
not sure what would be the best approach to take for my case
(entity1----toOne--->entity2). Should I
- make two value objects (those would be to plain serializable beans?)
and pass them via RMI call to backend java application to connect them and
persist them, or
- create DataContext, insert those to CayenneDataObjects into it,
serialize DataContext and send it over the RMI to backend java application
just to commitChanges on received deserialized DataContext, or
- set up Hessian web service on backend machines to receive requests
from frontend (web applications) to persist data, or
- not bother with Cayenne at all on the frontend (web apps) and send
array of user entered values to backend java application to construct
Cayenne data objects out of the data and then persist them.
Option two seems most appealing to me, but the last one I think is the least
work, although not as elegant. What do you think?
Regards,
Borut
Re: Web application with no access to database
Posted by Andrus Adamchik <an...@objectstyle.org>.
Hi Borut,
(2) is essentially the same as (3), only this is a case of
"unsupported remoting", in that it works in theory, but hasn't been
tested much to iron out any possible wrinkles.
Andrus
On Aug 8, 2006, at 4:51 PM, Borut Bolčina wrote:
> Hello,
>
> me again troubling you...
>
> I just read the
> http://cwiki.apache.org/confluence/display/CAYDOC/Remote+Object
> +Persistence+Guidein
> search of the solution. If someone read my posting about "Database
> replication and caching" this is the continuation of the architectural
> question.
>
> Two or more web applications will collect data from users and
> obviously
> should be persisted in database. Those web apps will communicate with
> backend java applications (cluster) via RMI calls for some other
> reasons.
> Collected web data represent two Cayenne data objects (one is in
> the to-one
> relationship with the other). If we don't want the web apps to have
> direct
> access to database, this two objects should be passed to backend
> Cayenne
> enabled java application to persist them. As I read the thread
> http://www.objectstyle.org/cayenne/lists/cayenne-user/
> 2005/09/0205.html I am
> not sure what would be the best approach to take for my case
> (entity1----toOne--->entity2). Should I
>
> - make two value objects (those would be to plain serializable
> beans?)
> and pass them via RMI call to backend java application to connect
> them and
> persist them, or
> - create DataContext, insert those to CayenneDataObjects into it,
> serialize DataContext and send it over the RMI to backend java
> application
> just to commitChanges on received deserialized DataContext, or
> - set up Hessian web service on backend machines to receive requests
> from frontend (web applications) to persist data, or
> - not bother with Cayenne at all on the frontend (web apps) and send
> array of user entered values to backend java application to
> construct
> Cayenne data objects out of the data and then persist them.
>
> Option two seems most appealing to me, but the last one I think is
> the least
> work, although not as elegant. What do you think?
>
> Regards,
> Borut