Общие сведения о синхронизации клиента и сервера
Службы Sync Framework обеспечивают синхронизацию данных, получаемых из различных источников, в двухуровневых и многоуровневых архитектурах, а также в основанных на службах архитектурах. API-интерфейсы служб Sync Framework для синхронизации клиента и сервера предоставляют набор компонентов для синхронизации данных между службами данных и локальным хранилищем, а не просто производят репликацию базы данных и ее схемы. Приложения все чаще используются в портативных компьютерах и мобильных устройствах. Поскольку мобильные клиенты, как правило, не имеют постоянного надежного сетевого подключения к центральному серверу, важно обеспечить работу приложений с локальной копией данных. Не менее важно при доступности сетевого подключения выполнять синхронизацию локальной копии данных с центральным сервером. Подобно API-интерфейсам доступа к данным ADO.NET, API-интерфейс платформ Sync Framework обеспечивает интуитивно понятный способ синхронизации баз данных. Благодаря службам Sync Framework построение приложений для среды с непостоянным сетевым подключением является логическим продолжением проектирования приложений, в которых можно положиться на постоянное сетевое подключение. Дополнительные сведения об архитектуре API-интерфейса см. в разделе Архитектура и классы для синхронизации клиента и сервера.
Сравнение платформы Sync Framework с другими технологиями
Корпорация Майкрософт предлагает несколько технологий синхронизации, разработанных для приложений, работающих в средах с периодическим подключением. Наиболее значимыми из них являются следующие.
Удаленный доступ к данным (RDA) Используется для синхронизации базы данных SQL Server Compact с базой данных другого выпуска SQL Server.
Репликация слиянием Применяется для синхронизации различных выпусков SQL Server, включая SQL Server Compact.
Следующая таблица поможет выбрать подходящую технологию для проектируемого приложения.
Основная функция | Удаленный доступ к данным | Репликация слиянием | Sync Framework |
---|---|---|---|
Синхронизация с использованием служб |
Нет |
Нет |
Да |
Поддержка разнородных баз данных |
Нет |
Нет |
Да |
Отслеживание добавочных изменений |
Нет1 |
Да |
Да |
Обнаружение и разрешение конфликтов |
Нет |
Да2 |
Да |
Простота создания представлений данных на клиенте3 |
Нет |
Нет |
Да |
Автоматическая инициализация схемы и данных |
Да |
Да |
Да |
Поддержка больших наборов данных |
Да |
Да |
Да |
Автоматическое распространение изменений схемы |
Нет |
Да |
Нет |
Автоматическое повторное секционирование данных |
Нет |
Да |
Нет |
Использование на устройствах |
Да |
Да |
Да |
1 Удаленный доступ к данным поддерживает передачу на сервер добавочных данных, но загрузка всегда представляет собой моментальный снимок, обновляющий данные на клиенте.
2 Репликация слиянием обеспечивает встроенное устранение конфликтов, а платформ Sync Framework обеспечивают инфраструктуру для построения схемы разрешения конфликтов. Дополнительные сведения см. в разделе Как обрабатывать конфликты и ошибки в данных.
3 Дополнительные сведения см. в разделе Как создавать представления данных на клиенте.
Службы Sync Framework предоставляют гибкую модель программирования, аналогичную наборам данных вне сети, и более широкий набор функций синхронизации, как и при репликации слиянием. Функциональность служб Sync Framework превосходит возможности удаленного доступа к данным. Репликация слиянием ориентирована на администраторов баз данных и предназначена для синхронизации баз данных SQL Server. Она обеспечивает важные функции, настраиваемые с использованием мастеров, хранимых процедур и собственных API-интерфейсов. Службы Sync Framework ориентированы на разработчиков программ и позволяют им легко создавать на клиенте представления данных на основе базы данных сервера или другого источника данных. Платформ Sync Framework поддерживают разнородные базы данных и синхронизацию через различные службы, например Windows Communication Foundation (WCF). Если приложению необходима синхронизация с базами данных, отличными от SQL Server, или если оно должно иметь отдельные компоненты для синхронизации через различные транспорты и службы, лучше пользоваться платформами Sync Framework.
Для некоторых приложений выбор технологии оказывается весьма простым. Если необходима синхронизация не с базами данных SQL Server, а с иными источниками данных, то лучшим решением будут платформы Sync Framework. Репликация слиянием может стать оптимальным выбором для администратора базы данных, которому необходимо настроить синхронизацию, не прибегая к программированию. В конечном счете необходимо тщательно оценить требования приложения и, исходя из этого, решить, будет ли API-интерфейс платформ Sync Framework подходящей технологией. Если нужно нечто большее, чем просто репликация схемы и данных из одной базы данных в другую, то рекомендуется пользоваться платформами Sync Framework.
Примечание. |
---|
Удаленный доступ к данным или репликация слиянием не может использоваться вместе с платформамиSync Framework применительно к одной таблице в клиентской базе данных. |
Работа с документацией по службам Sync Framework
Разделы документации по платформам Sync Framework содержат подробное введение в API-интерфейс синхронизации баз данных Sync Framework, примеры кода и справочник по API-интерфейсам. Справочные сведения по API-интерфейсам для синхронизации «клиент-сервер» можно найти в разделах Microsoft.Synchronization, Microsoft.Synchronization.Data, Microsoft.Synchronization.Data.SqlServerCe и Microsoft.Synchronization.Data.Server.
Чтобы лучше освоить весь материал, рекомендуется изучать документацию в следующем порядке.
Ознакомиться с архитектурой API-интерфейса и наиболее важными классами можно в разделе Архитектура и классы для синхронизации клиента и сервера.
Просмотреть код простого приложения в разделе Приступая к работе: синхронизация клиента и сервера.
Изучить средства, помогающие при проектировании приложений, в разделе Средства для облегчения разработки приложений.
Познакомиться с основными приемами решения типовых задач можно в разделе Программирование распространенных задач синхронизации клиента и сервера. Данные разделы содержат образцы кода. Дополнительные образцы доступны в пакете Sync Framework SDK и на веб-сайте Галерея кодов.
По прочтении этого раздела можно по достоинству оценить рекомендации по проектированию, предоставленные в Рекомендации по разработке и развертыванию приложений. Ознакомившись с API-интерфейсами, начинайте программировать. Вы увидите, как легко добавить синхронизацию к приложению.
См. также
Основные положения
Сценарии работы вне сети
Архитектура и классы для синхронизации клиента и сервера