Answered by:
Synchronise between device and v2.0 server

Question
-
I have an existing solution that synchronises between SQL Server and SQL/CE on a device using v1.0 - is it possible for me to replace the server end with v2.0 and still connect from the v1.0 application on the device, thus taking advantage of the new v2.0 features on the server (especially the complex filtering and detection of changes moving in and out of filters).
Thanks.- Moved by Liam Cavanagh - MSFTMicrosoft employee Thursday, January 21, 2010 4:56 PM (From:SyncFx - General)
Wednesday, October 21, 2009 3:49 PM
Answers
-
Hi Martin and Geokaps,
Sync Framework 2.0 is not compatible with Windows Mobile device at this point. Please keep an eye on our sync blog for dates as 2.0 for device becomes available.
Thanks,
Nina- Marked as answer by Sid Singh [MSFT]Microsoft employee Tuesday, December 1, 2009 6:06 PM
Tuesday, December 1, 2009 1:40 AM
All replies
-
Hi -
Our new version of the framework available below does not have complex filtering in the database providers. For your convenience I have pasted the new features available in the database providers -
http://www.microsoft.com/downloads/details.aspx?FamilyID=89adbb1e-53ff-41b5-ba17-8e43a2e66254&displaylang=en
In Database Providers:- New Database Providers (SQL Server and SQL Server Compact): Enable hub-and-spoke and peer-to-peer synchronization for SQL Server, SQL Server Express, and SQL Server Compact. Sync Framework automatically creates all of the commands that are required to communicate with each database. You do not have to write synchronization queries as you do with other providers. The providers support: flexible initialization options; batching of changes based on data size; and maintenance tasks, such as metadata cleanup and server database restore.
- Robust Memory-Based Batching: Previous versions of Sync Framework and Sync Services for ADO.NET provided a way for developers to define their own batching logic but there were a lot of limitations, including significant complexity, excessive chattiness, out of memory issues, and restrictions on usage. Sync Framework 2.0 addresses all of these issues by providing a more complete and robust batching API. Developers no longer have to write batching logic themselves because Sync Framework divides changes into batches based on several properties in the API. Batches are now defined by memory consumption rather than the number of rows synchronized, which has eliminated out-of-memory issues for most common scenarios.
- Provisioning and Management APIs: Provisioning and initialization activities that were previously exposed only through Visual Studio tooling have now been added to the database provider APIs. This includes the ability to provision an existing database by adding the change-tracking tables and triggers that are required by Sync Framework. It also includes the ability to start with an empty database, create the user schema, and provision that schema based on another server or client database that has already been provisioned.
- Performance Improvements: The new database providers in this release have been thoroughly tested in large-scale scenarios in which a single server supports thousands of clients with hundreds of concurrent synchronization operations. This testing resulted in a large number of internal performance improvements that enable Sync Framework database providers to perform as well as other Microsoft technologies like Remote Data Access (RDA) while offering a wide range of capabilities that compete with end-to-end solutions like merge replication.
These are the only changes available so you probably need to reevaluate your need to move to V2 of the framework.
Thanks
Deepa
Deepa ( Microsoft Sync Framework)Wednesday, October 21, 2009 11:02 PMAnswerer -
Thanks Deepa, but perhaps I have misunderstood something then.
I was referring to Filtering Synchronization Data and was asking because I need to implement a scenario as described my previous question that remains unanswered (probably because looking back, it does not seem to be a clear question anyway!).
Basically, I am looking to implement something similar to replication in as much as I need to synchronise different content to different devices depending on the logged on user. The data model is fairly complex and the data to be synchronised can change based not only on a change of user, but also on other changes deeper down the relationships. Getting an initial snapshot of the data is easy, but I need to track when the data changes in such a way as to require new data to be added to or removed from an existing client. Basically, data can move in and out of a filter.
For example: Imagine the following hyperthetical tables: Manager -> CustomerAccount -> Order -> OrderStatus
I need to synchronise all outstanding or problem orders for a customer based upon the manager responsible for the account.
Initially, it is easy - simply snapshot based upon the current status of each order.
Later, a previously completed order changes status to problem. I now need to ensure that this is synchronised to the device for the appropriate manager.
Then the account gets reassigned to another manager, so I need to remove the account and all related orders from the original managers device and add the same to the new managers device.
My actual data model is more complex than this, but if I can get an answer to addressing this problem I can expand it to fit my real problem - thing is, I thought this was what Filtering Synchronization Data meant in v2.
I would also still be interested to know if a v1.0 device client can communicate with a v2.0 server via web services anyway. I currently just expose the ApplyChanges, GetChanges, GetSchema and GetServerInfo methods of a preconfigured DbServerSyncProvider object through the web service and attach this to a SyncAgent object on the device via a ServerSyncProviderProxy object. If I can still use this with a v2.0 server then I may as well do so going forward.
Thanks again.
Martin.Thursday, October 22, 2009 1:50 PM -
Martin, I have a similar question! (Just posted it, sorry didn't see yours until now.) I would really like to know if the new v2.0 release is compatible with Windows Mobile devices or do we have to wait for something like Sync Services for ADO.NET Devices (v2.0).Thursday, October 22, 2009 4:33 PM
-
Hi Martin and Geokaps,
Sync Framework 2.0 is not compatible with Windows Mobile device at this point. Please keep an eye on our sync blog for dates as 2.0 for device becomes available.
Thanks,
Nina- Marked as answer by Sid Singh [MSFT]Microsoft employee Tuesday, December 1, 2009 6:06 PM
Tuesday, December 1, 2009 1:40 AM -
Nina, could you please be more specific in the answer on compatibility? I understand that Sync Framework 2.0 is for the full framework and is not compatible with devices. Is a device using 1.0 able to sync properly with a server running 2.0?
Thanks,
DavidMonday, January 11, 2010 8:59 PM -
We'd really like to know when Sync Framework 2.0 will be available on the devices? Can someone comment on this? Is there any way to make Sync Framework 1.0 sync with Sync Framework 2.0?
DylanFriday, January 22, 2010 6:14 PM -
We'd really like to know when Sync Framework 2.0 will be available on the devices? Can someone comment on this? Is there any way to make Sync Framework 1.0 sync with Sync Framework 2.0?
Dylan
I'd like to know this too - or alternatively if this is not something which will ever happen!Monday, June 28, 2010 11:33 AM