Hi, Thanks for the reply. My use case is I have application which work in two (at least) different environments. 1. enterprise, that is multiple users work on the same database. 2. local in which single user work on single machine. 3. I have not even though for now about mixing them, that is an enterprise user go offline, do some work and return it changes to the enterprise database due to the difficulty to replication in relational database.
My architecture of 3 tier: DB, J2EE service, client require me to install database engine (I use Sql Server Express) and J2EE container (I use Glassfish 3) on each local installation. The truth is that the J2EE service does nothing more than be a RESTful gateway to the database. 1. For the enterprise env I can setup CouchDB on the same server the currently run the J2EE. On top of that it will be much easier to deploy schema changes because there is no schema. 2. For the local user I am currently use ClickOnce to deploy my Client Windows application, I would like to bundle CouchDB binaries as part of this application and run CouchDB as embedded database. I guess I will have to spawn the process of CouchDB myself when the application start and that is all-right by me. 3. Now that I have CouchDB on both local and enterprise deployments I can use CouchDB replication between them. What do you think? Is that doable? Is that wise? Thanks, Ido
