Поделиться через


Общие сведения о синхронизации клиента и сервера

Службы 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.

NoteПримечание.

Удаленный доступ к данным или репликация слиянием не может использоваться вместе с платформамиSync Framework применительно к одной таблице в клиентской базе данных.

Работа с документацией по службам Sync Framework

Разделы документации по платформам Sync Framework содержат подробное введение в API-интерфейс синхронизации баз данных Sync Framework, примеры кода и справочник по API-интерфейсам. Справочные сведения по API-интерфейсам для синхронизации «клиент-сервер» можно найти в разделах Microsoft.Synchronization, Microsoft.Synchronization.Data, Microsoft.Synchronization.Data.SqlServerCe и Microsoft.Synchronization.Data.Server.

Чтобы лучше освоить весь материал, рекомендуется изучать документацию в следующем порядке.

  1. Ознакомиться с архитектурой API-интерфейса и наиболее важными классами можно в разделе Архитектура и классы для синхронизации клиента и сервера.

  2. Просмотреть код простого приложения в разделе Приступая к работе: синхронизация клиента и сервера.

  3. Изучить средства, помогающие при проектировании приложений, в разделе Средства для облегчения разработки приложений.

  4. Познакомиться с основными приемами решения типовых задач можно в разделе Программирование распространенных задач синхронизации клиента и сервера. Данные разделы содержат образцы кода. Дополнительные образцы доступны в пакете Sync Framework SDK и на веб-сайте Галерея кодов.

  5. По прочтении этого раздела можно по достоинству оценить рекомендации по проектированию, предоставленные в Рекомендации по разработке и развертыванию приложений. Ознакомившись с API-интерфейсами, начинайте программировать. Вы увидите, как легко добавить синхронизацию к приложению.

См. также

Основные положения

Сценарии работы вне сети
Архитектура и классы для синхронизации клиента и сервера