Microsoft sync framework что это
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 5 th , 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?
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 M icrosoft 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 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.
Can the Microsoft Sync Framework enable synchronization to remote offices?
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 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?
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 u se 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.
Дата последнего изменения: 30 июня 2010 г.
Применимо к: SharePoint Foundation 2010
Платформа Microsoft Sync Framework — это комплексная платформа синхронизации, которая предоставляет SharePoint Foundation унифицированную, независящую от данных двухстороннюю архитектуру синхронизации данных. Так как платформа Sync Framework разработана для предоставления синхронизации между приложениями, реализация платформы Microsoft Sync Framework позволяет другим приложениям корпорации Майкрософт и сторонних производителей проще производить синхронизацию в развертываниях SharePoint Foundation 2010.
Платформа Sync Framework предоставляет три базовых элемента:
Sync Metadata Services
Обзор Sync Framework
Эти три базовых элемента синхронизации работают вместе, чтобы абстрагироваться от деталей реализации хранилища данных, механизмов передачи и схем. Среда выполнения синхронизации управляет процессом синхронизации вместе с поставщиками синхронизации. Поставщики используют службы метаданных для обработки и хранения метаданных.
Среда выполнения синхронизации
Среда выполнения синхронизации запускает, размещает и отменяет сеансы синхронизации. Она также формирует информационные элементы, такие как состояние синхронизации, конфликты (которые необходимо устранить) и ошибки.
Среда выполнения синхронизации использует объект сеанса синхронизации для выполнения запросов синхронизации в поставщик синхронизации на стороне клиентского приложения. Доступ к среде выполнения синхронизации предоставляется с помощью управляемых и неуправляемых интерфейсов. Дополнительные сведения о среде выполнения синхронизации см. в разделе Реализация приложения синхронизации.
Службы синхронизации метаданных
Службы метаданных управляют метаданными синхронизации и поэтому скрывают от клиентских приложений и поставщиков синхронизации особенности метаданных, такие как структуры знаний. Более того, службы метаданных предоставляют службу хранилища метаданных, дополнительный компонент хранилища метаданных для приложений, не имеющих логического расположения для хранения метаданных синхронизации.
Служба хранилища метаданных использует упрощенное хранилище данных и работает в клиентском процессе. Управляемые и неуправляемые интерфейсы предоставляют доступ к службам метаданных. Дополнительные сведения о службах метаданных см. в разделе Управление метаданными.
Поставщик синхронизации
Поставщик платформы синхронизации является основной точной интеграции в Microsoft Sync Framework. Поставщик реализует интерфейс, абстрагирующий особенности взаимодействия с обработчиком среды выполнения и особенности хранилища данных.
Реализация поставщика является основной задачей разработки для синхронизации пользовательских данных. Поставщик может реализовать управляемую и неуправляемую версию интерфейса. Дополнительные сведения см. в разделе Поставщики синхронизации.
Microsoft Sync Framework — полнофункциональная платформа для синхронизации автономных и онлайновых данных, поддержки коллективной работы и автономного доступа к приложениям, сервисам и мобильным устройствам. Она независима от конкретных протоколов и баз данных и включает технологии и утилиты, которые поддерживают роуминг устройств (device roaming), обмен информацией и возможность переводить сетевые данные в автономное состояние перед их последующей синхронизацией в более позднее время.
Sync Framework можно использовать при создании приложений, которые синхронизируют данные из любого хранилища по любому сетевому протоколу. Эта платформа упрощает приложениям, сервисам и устройствам доступ к автономным и онлайновым данным. В Sync Framework заложена расширяемая модель провайдеров, которую можно использовать как с управляемым, так и с неуправляемым кодом для синхронизации данных между двумя источниками.
В этой статье рассматриваются концепции синхронизации и то, как Sync Framework может быть интегрирована в ваши проекты. Конкретнее, я поясню фундаментальные основы синхронизации данных, архитектурные компоненты Sync Framework и способы применения провайдеров синхронизации.
Для работы с Sync Framework и примерами кода в этой статье вам понадобится установить Visual Studio 2010 и исполняющую среду Sync Framework версии 2.0 или выше. Вы можете скачать эту исполняющую среду вместе с Microsoft Sync Framework 2.0 Redistributable Package на сайте Sync Framework Developer Center.
Основы Sync Framework
Sync Framework состоит из четырех основных компонентов: исполняющей среды, сервисов метаданных, провайдеров и участников синхронизации.
Исполняющая среда Sync Framework предоставляет инфраструктуру для синхронизации данных между двумя источниками. Также поставляется SDK, который разработчики могут расширять для реализации собственных провайдеров.
Сервисы метаданных предоставляют инфраструктуру для хранения метаданных синхронизации, которые содержат информацию, используемую в сеансе синхронизации. Метаданные синхронизации включают сведения о версиях, обнаружении изменений и др. Эти метаданные можно также использовать при проектировании разработке собственных провайдеров.
Провайдеры синхронизации применяются для синхронизации данных между репликами или конечными точками. Реплика — это единица синхронизации; она используется для обозначения реального хранилища данных. Например, если вы синхронизируете две базы данных, тогда каждая из баз данных будет считаться репликой. Реплика определяется по уникальному идентификатору, который называют ключом реплики. Конечная точка также ссылается на хранилище данных. Подробнее о провайдерах мы поговорим позже.
Участником (participant) называют источник, откуда можно извлечь данные, подлежащие синхронизации. Участники бывают трех видов:полные, частичные и простые.
Полные участники — устройства, способные создавать новые хранилища данных, хранить метаданные синхронизации и выполнять синхронизирующие приложения. Примеры таких участников — настольные компьютеры, лэптопы и планшеты. Полный участник может синхронизировать данные с другим участником.
Частичные участники — устройства, которые могут создавать новые хранилища данных и хранить метаданные синхронизации, но не позволяющие выполнять синхронизирующие приложения. Частичным участником может быть USB-накопитель или смартфон. Заметьте, что частичный участник может синхронизировать данные с полным, но не с другим частичным участником.
Простые участники включают устройства, не умеющие хранить новые данные или выполнять приложения, а способные лишь предоставлять запрошенную информацию. Примеры простых участников — RSS-каналы или веб-сервисы Amazon и Google.
Провайдеры синхронизации
Провайдер синхронизации — компонент, который участвует в процессе синхронизации и обеспечивает синхронизацию данных одной реплики с данными других реплик. У вас должен быть один провайдер на каждую реплику.
Для синхронизации данных запускается сеанс синхронизации. В этом сеансе приложение подключается к провайдерам синхронизации для источника и получателя для передачи данных между репликами.
После запуска сеанса синхронизации провайдер получателя предоставляет информацию о своем хранилище данных провайдеру источника. Последний определяет, какие изменения в реплике-источнике не известны реплике-получателю, а затем передает список таких изменений провайдеру получателя. Тот распознает любые конфликты между собственными элементами и присутствующими в списке, а потом применяет изменения к своему хранилищу данных. Механизм Sync Framework упрощает весь этот процесс синхронизации.
Sync Framework поддерживает три провайдера по умолчанию для синхронизации баз данных, файловых систем и каналов:
Вы также можете расширить Sync Framework для создания собственного провайдера синхронизации, который будет поддерживать обмен информацией между устройствами и приложениями.
Провайдер веб-синхронизации (ранее Sync Services for FeedSync) поддерживает RSS- и ATOM-каналы. До FeedSync эта технология была известна под названием Simple Sharing Extensions и изначально была спроектирована Рэем Оззи (Ray Ozzie). Заметьте, что провайдер веб-синхронизации не заменяет существующие технологии вроде RSS- или Atom-каналов. Вместо этого он предлагает простой способ добавления средств синхронизации в существующие RSS- или Atom-каналы, чтобы они могли использоваться другими приложениями или сервисами независимо от платформы или устройства.
Провайдер синхронизации файлов (ранее Sync Services for File Systems) поддерживает синхронизацию файлов и папок в одной системе или между системами в сети. Он может использоваться для синхронизации файлов и папок в одной системе или в различных системах в сети. Вы можете синхронизировать файлы и папки в системах с файловыми системами NTFS, FAT или SMB. Провайдер использует модель метаданных Sync Framework для включения одноранговой (peer-to-peer) синхронизации файловых данных с поддержкой произвольных топологий (клиент-сервер, ячеистая сеть и одноранговые системы), в том числе съемных носителей. Провайдер синхронизации файлов также поддерживает инкрементальную синхронизацию, распознавание конфликтов и изменений, режимы с предварительным просмотром и без, а также фильтрацию и пропуск определенных файлов.
Работа со встроенными провайдерами синхронизации
В этом разделе я продемонстрирую, как работать со встроенными провайдерами синхронизации, чтобы реализовать простое приложение для синхронизации содержимого двух папок в системе.
Создать провайдер синхронизации файлов можно с помощью класса FileSyncProvider. Он расширяет класс UnManagedSyncProvider и реализует интерфейс IDisposable. Класс FileSyncScopeFilter позволяет включать или исключать файлы и папки, которые будут участвовать в процессе синхронизации.
FileSyncProvider распознает изменения в реплике, используя метаданные синхронизации. Эти метаданные содержат информацию обо всех файлах и папках, участвующих в синхронизации. На самом деле существует два вида метаданных синхронизации: метаданные реплики (replica metadata) и элемента (item metadata). Провайдер синхронизации файлов хранит метаданные для всех файлов и папок, участвующих в синхронизации. Впоследствии информация о размерах файлов, атрибутах и времени последнего обращения используется для распознавания изменений.
Откройте Visual Studio 2010 и создайте новый проект Windows Presentation Foundation (WPF). Сохраните его под именем SyncFiles. Откройте файл MainWindow.xaml и создайте WPF-форму по аналогии с тем, что показано на рис. 1.
Рис. 1. Пример приложения Sync
Как видите, у вас есть элементы управления для выбора папок-источников и папок-приемников. Также имеются элементы управления для отображения статистики синхронизации и содержимого папок.
Щелкните правой кнопкой мыши проект в Solution Explorer, выберите Add Reference и добавьте сборки Microsoft.Synchronization.
Теперь добавьте новый метод GetReplicaID в файл MainWindow.xaml.cs для возврата GUID, как показано в коде на рис. 2. Метод Synchronize, вызванный из экземпляра SyncOrchestrator, создает файл метаданных filesync.metadata в каждой папке или реплике, используя уникальный GUID. Метод GetReplicaID сохраняет этот GUID в файле, чтобы при следующем вызове данного метода не генерировать новый GUID для конкретной папки. Метод GetReplicaID сначала проверяет, содержится ли в файле идентификатор реплики. Если такого файла нет, создается новый идентификатор реплики и сохраняется в файле. А если файл есть (поскольку идентификатор реплики для этой папки уже был сгенерирован), метод возвращает идентификатор реплики из файла.
Microsoft Sync Framework — полнофункциональная платформа для синхронизации автономных и онлайновых данных, поддержки коллективной работы и автономного доступа к приложениям, сервисам и мобильным устройствам. Она независима от конкретных протоколов и баз данных и включает технологии и утилиты, которые поддерживают роуминг устройств (device roaming), обмен информацией и возможность переводить сетевые данные в автономное состояние перед их последующей синхронизацией в более позднее время.
Sync Framework можно использовать при создании приложений, которые синхронизируют данные из любого хранилища по любому сетевому протоколу. Эта платформа упрощает приложениям, сервисам и устройствам доступ к автономным и онлайновым данным. В Sync Framework заложена расширяемая модель провайдеров, которую можно использовать как с управляемым, так и с неуправляемым кодом для синхронизации данных между двумя источниками.
В этой статье рассматриваются концепции синхронизации и то, как Sync Framework может быть интегрирована в ваши проекты. Конкретнее, я поясню фундаментальные основы синхронизации данных, архитектурные компоненты Sync Framework и способы применения провайдеров синхронизации.
Для работы с Sync Framework и примерами кода в этой статье вам понадобится установить Visual Studio 2010 и исполняющую среду Sync Framework версии 2.0 или выше. Вы можете скачать эту исполняющую среду вместе с Microsoft Sync Framework 2.0 Redistributable Package на сайте Sync Framework Developer Center.
Основы Sync Framework
Sync Framework состоит из четырех основных компонентов: исполняющей среды, сервисов метаданных, провайдеров и участников синхронизации.
Исполняющая среда Sync Framework предоставляет инфраструктуру для синхронизации данных между двумя источниками. Также поставляется SDK, который разработчики могут расширять для реализации собственных провайдеров.
Сервисы метаданных предоставляют инфраструктуру для хранения метаданных синхронизации, которые содержат информацию, используемую в сеансе синхронизации. Метаданные синхронизации включают сведения о версиях, обнаружении изменений и др. Эти метаданные можно также использовать при проектировании разработке собственных провайдеров.
Провайдеры синхронизации применяются для синхронизации данных между репликами или конечными точками. Реплика — это единица синхронизации; она используется для обозначения реального хранилища данных. Например, если вы синхронизируете две базы данных, тогда каждая из баз данных будет считаться репликой. Реплика определяется по уникальному идентификатору, который называют ключом реплики. Конечная точка также ссылается на хранилище данных. Подробнее о провайдерах мы поговорим позже.
Участником (participant) называют источник, откуда можно извлечь данные, подлежащие синхронизации. Участники бывают трех видов:полные, частичные и простые.
Полные участники — устройства, способные создавать новые хранилища данных, хранить метаданные синхронизации и выполнять синхронизирующие приложения. Примеры таких участников — настольные компьютеры, лэптопы и планшеты. Полный участник может синхронизировать данные с другим участником.
Частичные участники — устройства, которые могут создавать новые хранилища данных и хранить метаданные синхронизации, но не позволяющие выполнять синхронизирующие приложения. Частичным участником может быть USB-накопитель или смартфон. Заметьте, что частичный участник может синхронизировать данные с полным, но не с другим частичным участником.
Простые участники включают устройства, не умеющие хранить новые данные или выполнять приложения, а способные лишь предоставлять запрошенную информацию. Примеры простых участников — RSS-каналы или веб-сервисы Amazon и Google.
Провайдеры синхронизации
Провайдер синхронизации — компонент, который участвует в процессе синхронизации и обеспечивает синхронизацию данных одной реплики с данными других реплик. У вас должен быть один провайдер на каждую реплику.
Для синхронизации данных запускается сеанс синхронизации. В этом сеансе приложение подключается к провайдерам синхронизации для источника и получателя для передачи данных между репликами.
После запуска сеанса синхронизации провайдер получателя предоставляет информацию о своем хранилище данных провайдеру источника. Последний определяет, какие изменения в реплике-источнике не известны реплике-получателю, а затем передает список таких изменений провайдеру получателя. Тот распознает любые конфликты между собственными элементами и присутствующими в списке, а потом применяет изменения к своему хранилищу данных. Механизм Sync Framework упрощает весь этот процесс синхронизации.
Sync Framework поддерживает три провайдера по умолчанию для синхронизации баз данных, файловых систем и каналов:
Вы также можете расширить Sync Framework для создания собственного провайдера синхронизации, который будет поддерживать обмен информацией между устройствами и приложениями.
Провайдер веб-синхронизации (ранее Sync Services for FeedSync) поддерживает RSS- и ATOM-каналы. До FeedSync эта технология была известна под названием Simple Sharing Extensions и изначально была спроектирована Рэем Оззи (Ray Ozzie). Заметьте, что провайдер веб-синхронизации не заменяет существующие технологии вроде RSS- или Atom-каналов. Вместо этого он предлагает простой способ добавления средств синхронизации в существующие RSS- или Atom-каналы, чтобы они могли использоваться другими приложениями или сервисами независимо от платформы или устройства.
Провайдер синхронизации файлов (ранее Sync Services for File Systems) поддерживает синхронизацию файлов и папок в одной системе или между системами в сети. Он может использоваться для синхронизации файлов и папок в одной системе или в различных системах в сети. Вы можете синхронизировать файлы и папки в системах с файловыми системами NTFS, FAT или SMB. Провайдер использует модель метаданных Sync Framework для включения одноранговой (peer-to-peer) синхронизации файловых данных с поддержкой произвольных топологий (клиент-сервер, ячеистая сеть и одноранговые системы), в том числе съемных носителей. Провайдер синхронизации файлов также поддерживает инкрементальную синхронизацию, распознавание конфликтов и изменений, режимы с предварительным просмотром и без, а также фильтрацию и пропуск определенных файлов.
Работа со встроенными провайдерами синхронизации
В этом разделе я продемонстрирую, как работать со встроенными провайдерами синхронизации, чтобы реализовать простое приложение для синхронизации содержимого двух папок в системе.
Создать провайдер синхронизации файлов можно с помощью класса FileSyncProvider. Он расширяет класс UnManagedSyncProvider и реализует интерфейс IDisposable. Класс FileSyncScopeFilter позволяет включать или исключать файлы и папки, которые будут участвовать в процессе синхронизации.
FileSyncProvider распознает изменения в реплике, используя метаданные синхронизации. Эти метаданные содержат информацию обо всех файлах и папках, участвующих в синхронизации. На самом деле существует два вида метаданных синхронизации: метаданные реплики (replica metadata) и элемента (item metadata). Провайдер синхронизации файлов хранит метаданные для всех файлов и папок, участвующих в синхронизации. Впоследствии информация о размерах файлов, атрибутах и времени последнего обращения используется для распознавания изменений.
Откройте Visual Studio 2010 и создайте новый проект Windows Presentation Foundation (WPF). Сохраните его под именем SyncFiles. Откройте файл MainWindow.xaml и создайте WPF-форму по аналогии с тем, что показано на рис. 1.
Рис. 1. Пример приложения Sync
Как видите, у вас есть элементы управления для выбора папок-источников и папок-приемников. Также имеются элементы управления для отображения статистики синхронизации и содержимого папок.
Щелкните правой кнопкой мыши проект в Solution Explorer, выберите Add Reference и добавьте сборки Microsoft.Synchronization.
Теперь добавьте новый метод GetReplicaID в файл MainWindow.xaml.cs для возврата GUID, как показано в коде на рис. 2. Метод Synchronize, вызванный из экземпляра SyncOrchestrator, создает файл метаданных filesync.metadata в каждой папке или реплике, используя уникальный GUID. Метод GetReplicaID сохраняет этот GUID в файле, чтобы при следующем вызове данного метода не генерировать новый GUID для конкретной папки. Метод GetReplicaID сначала проверяет, содержится ли в файле идентификатор реплики. Если такого файла нет, создается новый идентификатор реплики и сохраняется в файле. А если файл есть (поскольку идентификатор реплики для этой папки уже был сгенерирован), метод возвращает идентификатор реплики из файла.
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 5 th , 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?
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 M icrosoft 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 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.
Can the Microsoft Sync Framework enable synchronization to remote offices?
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 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?
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 u se 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.
Читайте также: