Microsoft Sync Framework - FAQ



    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 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. 


    12 พฤศจิกายน 2550 19:01