4
votes

I have the option of either using WCF or Microsoft Sync Framework for my next project. This will be a SQL Server backend that needs to sync to a mobile (.net cf) front end.

I have a few issues, 1. the database schemas between the two databases will not be the same.
2. On the server side I actually need to call a .net dll to do the updates 3. We want to make minimal changes to the server database. It is already in production, and we don't want to muss it up.

I know I can perform a sync with WCF between the two endpoints, but would the Sync Framework really buy me anything here?

1
I am about to embark on a similar journey to what you describe above. I was just wondering how you go on with your project, and what techniques/technologies you ended up working with? Like you I need to sync data between a Sql Server and a Windows Mobile device, and on the server side of things any selects/inserts/updates/delete need to be performed via a dll rather then going directly to the database. Lastly, how is your app performing when syncing? Typically how long does a sync take and how much data are we talking about? If you could answer any of these questions that would be gr - ETFairfax
@ETFairfax: sync time varies greatly depending on bandwidth at that time, can go from a couple of seconds to a few minutes. :( My plan of attack has changed greatly since this question was posted (I went with WCF), any more I create a REST based web interface with ASP.Net MVC. MVC base web services are much easier to deal with, and I notice no performance difference between the two. I also had lots of trouble configuring WCF -- none with MVC. - Chris Brandsma

1 Answers

4
votes

Will you be allowing changes on both the mobile device and the server? If so, how will you handle conflicts if the same data record is changed by user A on the mobile and user B on the server?

The big difference between sync framework and WCF is that sync framework was built to detect such conflicts and provides routines to deal with them while WCF does not.

That having been said, you state "On the server side I actually need to call a .net dll to do the updates". If what you are saying is that this must be a specific DLL that your company either has already or that you are developing, this would seem to rule out allowing sync framework update SQL Server directly. When you use sync framework it communicates directly with the databases on both the server and the mobile device.