views:

1079

answers:

1

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?

+2  A: 

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.

JonnyBoats
The dll is already created, and has been in use for some time now. So there is a reluctance on the company's part to change it.And while the sync framework does detect changes, it does so via tombstone tables and SQL Server Change Tracking. I am tracking changes via LastUpdateDate and Tombstone tables.Other than that, only one table needs bidirectional sync. Everything else is one way.
Chris Brandsma