Asked by:
Microsoft Sync Framework - FAQ

General discussion
-
What is the Microsoft Sync Framework?
Microsoft Sync Framework is a comprehensive synchronization platform enabling collaboration and offline access for applications, services and devices. Developers can build sync ecosystems that integrate any application, any data from any store using any protocol over any network. With the Microsoft Sync Framework, developers can:
· Easily build collaboration and offline capabilities into new and existing applications, services, and devices
· Roam and share information in any data store, over any protocol, and in any network configuration
· Leverage sync capabilities exposed from Microsoft assets and platforms to boost productivity and performance
When will the Microsoft Sync Framework be available?
The Microsoft Sync Framework CTP1 will be available for download November 5th, 2007. The Microsoft Sync Framework will also be included within SQL Server 2008 as well as the next release of Visual Studio Orcas.
Where can I get the Microsoft Sync Framework?
Please visit http://msdn.microsoft.com/sync to download a copy of the Microsoft Sync Framework.
What languages are supported by the Microsoft Sync Framework?
Currently, English is the only supported language by the Microsoft Sync Framework.
How much does the Microsoft Sync Framework cost?
The Microsoft Sync Framework is free on Windows and Windows Mobile devices. Support for other platforms is available through commercial licensing and porting kits
What is included in the Microsoft Sync Framework?
The Microsoft Sync Framework includes the following components:
· Microsoft Sync Framework Runtime – An SDK which allows developers to create custom providers enabling new applications, services and data stores to participate in the synchronization ecosystem
· Sync Services for ADO.NET – An ADO.NET based providers which allows synchronizing relational data using a REST style interfaces allowing data to be taken offline
· Sync Services for File Systems – A ready-to-configure provider capable of representing any Win32 compatible file system (e.g. FAT, NTFS, and removable device). This provider handles challenges such as change detection on FAT volumes, name-name collision resolution, update-delete conflicts, and the ability to preview a synchronization action.
· Sync Services for FeedSync – Full support for producing and consuming RSS and ATOM feeds from any provider.
· SQL Server Compact Metadata Store – A component that can be used by developers for storing sync metadata such as versions, anchors, and change detection information. This component greatly simplifies the development of custom providers that do not have a natural place to store metadata.
What platforms does the Microsoft Sync Framework support?
Out-of-the box, the Microsoft Sync Framework supports windows platforms including 2K3, XP, Vista and Windows Mobile (coming in CTP2). Support for other platforms is available through commercial licensing and porting kits.
What data stores can be synchronized using the Microsoft Sync Framework?
Microsoft Sync Framework supports synchronization of any content such as email, contacts, calendar, audio, video, settings and files/folders.
I can’t make changes to my data store, is that a problem?
No, the Microsoft Sync Framework uses a rich metadata model to enable collaboration and offline scenarios. The metadata can exist anywhere, meaning no application or data store changes are required.
How is Sync Services for ADO.NET different than the Microsoft Sync Framework?
Sync Services for ADO.NET is a component of the Microsoft Sync Framework. Included in Sync Services for ADO.NET are providers that allow synchronization of relational database systems enabling offline data access.
Can the Microsoft Sync Framework enable synchronization to remote offices?
Yes, using Sync Services for ADO.NET information from corporate servers can be synchronized down to remote office or retail store databases. Remote office workers can then access information locally while information is being exchanged between the remote office and the corporate server’s databases.
What is a provider?
A provider enables a data source to participate in the Microsoft Sync Framework synchronization process allowing offline and collaboration of application, data and services. A number of providers have been included out-of-the-box that support many common data sources. The following are the providers included:
· Sync Service for ADO.NET: Synchronization for ADO.NET enabled data sources
· Sync Service for File Systems: Synchronization for files and folders
· Sync Service for FeedSync: Synchronization for Simple Sharing Extensions such as RSS and ATOM feeds
· Developers can ultimately use any of the out-of-the-box providers or can create custom providers to exchange information between devices and applications.
Can I build my own provider to access my data?
Yes, the Microsoft Sync Framework Runtime is a component of the Microsoft Sync Framework which provides an SDK allowing developers to create custom providers enabling new applications, services and data stores to participate in the synchronization ecosystem
Does the Microsoft Sync Framework support peer-to-peer synchronization?
Yes, the Microsoft Sync Framework allows any applications, devices, or service to participate in true peer to peer or hub/spoke topologies.
How does the Microsoft Sync Framework handle data conflicts?
The Microsoft Sync Framework detects conflicts during synchronization and then passes them to the provider. Within the provider, developers are free to implement a variety of policies for the resolution of items in conflict. Below are some examples of commonly used resolution policies:
· Source wins: Changes made by the source data store always win in the event that a conflict is detected.
· Destination wins: Changes made by the destination data store always win.
· Merge: Merge the two changes together. Inventory counts are an example where you might want to merge (sum) the values together from two replicas rather than choosing one as the correct value.
· Log conflict: Log or defer the conflict.
How does the Microsoft Sync Framework compare to timestamp based synchronization?
The Microsoft Sync Framework automatically handles all of the complicated issues associated with timestamp based synchronization such as deferred conflicts, failures, interruptions and loops. The Microsoft Sync Framework allows developers to focus on the applications and ignore the complexities associated with synchronization.
Can I synchronize information between my mobile device and my Oracle and IBM database?
Yes, Sync Services for ADO.NET enables any ADO.NET enabled relational database (such as Oracle and IBM) to participate in synchronization.
Can I synchronize information between devices using Bluetooth and Infrared?
The Sync Framework’s transport-agnostic architecture allows integration of sync into a variety of protocols including over-the-air and embedded devices. As such, with the Microsoft Sync Framework, you can use any existing architectures and protocols including Bluetooth and Infrared to synchronize data between devices and servers.
What changes should I make to my data store to make synchronization work?
The Microsoft Sync Framework relies on a metadata repository to store information required for synchronization. Although developers are encouraged to store this information in the existing data store, it is not required. The metadata can be stored in an external data store, on the file system or as a convenience, the Microsoft Sync Framework ships with a component that enables developers to store the sync metadata in a SQL Server Compact database.
Does the Microsoft Sync Framework use managed or unmanaged code?
The Microsoft Sync Framework can be used from managed or unmanaged code.
Does Microsoft Sync Framework support background and scheduled synchronization?
Background and scheduled synchronization is not supported out-of-the-box. However, a number of api’s such as the State and Notification API’s within Windows Mobile can be used within the provider to enable background and scheduled synchronization.
- Moved by Liam Cavanagh - MSFTMicrosoft employee Thursday, January 21, 2010 4:35 PM (From:SyncFx - General)
Monday, November 12, 2007 7:01 PM
All replies
-
Hi,
I have read in one of the post that Sync Framework CTP1 can synchronize the data over any protocol. So does it mean that we can use sync framework CTP1 to synchronize the data over bluetooth or infrared ? Is yes, Is there any sample or documentation on how to achive this ?
When can we expect the CTP2 which has support for PocketPC ?
Regards
Smitha
Wednesday, November 28, 2007 11:00 AM -
Hi Smitha,
Yes this is something you are able to do but unfortunately as of yet we do not yet have a sample on how to implement this. It is a popular request so I will make sure we put this up in our priority of things to complete. I have seen some good examples of implemeting communication using the Coding4fun samples but have not tried it yet myself.
Can you tell me a little more about what you are looking to accomplish? For example it is peer to peer communication between two Windows Mobile devices? Or is it device to desktop communication?
Liam
Monday, December 3, 2007 6:53 PM -
Hello,
I am also interested in database synchronization between a Server an mobile devices (Pocket PC, WinXP embedded, WinXP Tablet).
So when will the version CTP2 of the sync framework be available ?
Regards Thomas
Sunday, December 9, 2007 6:53 PM -
Hi Thomas,
We are not currently providing dates for this release. Please keep an eye on our sync blog for dates as they become available.
Thursday, January 17, 2008 7:47 PM -
Liam Cavanagh wrote: What platforms does the Microsoft Sync Framework support?
Out-of-the box, the Microsoft Sync Framework supports windows platforms including 2K3, XP, Vista and Windows Mobile (coming in CTP2). Support for other platforms is available through commercial licensing and porting kits.
Can you tell us more about W2K support licensing ?
Jean-Pierre RIEHL
Wednesday, June 11, 2008 11:28 AM -
Jean-Pierre,
Win2K is not one of the officially supported platforms for Microsoft Sync Framework. Since Win2K is currently in Extended Support (http://support.microsoft.com/lifecycle/search/?sort=PN&alpha=Windows+2000) we have chosen not to directly support this platform.
Wednesday, June 11, 2008 6:33 PM -
Out-of-the box, the Microsoft Sync Framework supports windows platforms including 2K3, XP, Vista and Windows Mobile (coming in CTP2). Support for other platforms is available through commercial licensing and porting kits.
Where can one find these "commercial licensing and porting kits"
Thank You,
RalphFriday, February 5, 2010 9:05 PM -
hi,
I use sync framework in my application,but now I have a problem,In my application ,"filesync.metadata" file change frequently.but I have set this file name in FileNameExcludes.This change cause my application take many CPU resource.Please help me!
thanks.Friday, February 26, 2010 3:05 AM -
So Liam... tell me...
In the future will I be-able to sync my cloud app with my enterprise app?
Kristi (Aka-hypervividdream)
Saturday, June 26, 2010 8:28 AM -
The description "a comprehensive synchronization platform" is doubtful. On Win2k3 Std, u/g SQL2K Std to SQL8KE R2 w/ Tools per SQL Azure website. Loaded in our SQL2K db w/ 275 tables but less-than 1GB. Fine. Created the Azure account. Fine. Have tried over a half-dozen ways to get this db up into SQL Azure without success, including this Microsoft Sync Framework.
- None of the freely available tools have been able to move rows of data from ours into Azure
- SQL Server 2008 Express R2 Management Studio (SSMS)
- SQL Server 2008 Express R2 Integration Services (SSIS)
- SQL Azure Migration Wizard (SQLAzureMW)
- Gem Query
- Microsoft SQL Azure Data Sync Tool
- SQL Server Bulk Copy (BCP)
Tuesday, October 12, 2010 3:20 PM - None of the freely available tools have been able to move rows of data from ours into Azure
-
Hi. I'm working on an application that should run on Android, iphone and Windows Phone 7.
I need to know how I can use Microsoft Sync Framework on Andorid.
1) How can I get those "commercial licensing and porting kits"?
2) I saw that it is possible to develop providers with managed and unmanaged code on Windows platforms but what about Android? How can I develop them?
3) Which datasources are supported on Android? Can I use SQLite?
Thank-you
Monday, October 25, 2010 1:51 PM -
Microsoft Sync Framework suits for Metro Apps ??Friday, April 27, 2012 9:47 AM