I'm working on a .NET 4 Winforms app and I'm having a problem deciding on the best way to handle the database. We want to offer a cloud database system where the app can communicate with the "cloud" via WCF services and essentially do the same thing as connecting to the local database (SQL Express locally, SQL Server 2008 R2 on the server).
We see two options:
1) Use WCF and make all calls to the cloud database 2) Use the local database and use Microsoft Sync Framework to keep the cloud in sync
We will eventually have a web application that will also use the cloud data as another front end for the user.
The dilemma is obviously which to use. If we go with Option 1 then we don't have to have a SQL Express installation everywhere the software is used, such as a public location and user's data may be downloaded to that DB. The WCF option allows all data to remain central.
We will eventually fold in mobile so iPhone, iPad, and Android can sync with the cloud as well.
I'm interested in your opinions on a strictly cloud database option vs. the occasionally connected option, i.e. database is local, synced to cloud.
Thank you.