Веб-синхронизация для репликации слиянием

Веб-синхронизация для репликации слиянием позволяет производить репликацию данных по протоколу HTTPS и может оказаться полезной в следующих случаях.

  • Синхронизация данных от мобильных пользователей через Интернет.

  • Синхронизация данных между базами данных Microsoft SQL Server через корпоративный брандмауэр.

Например, веб-синхронизацию могут использовать коммерческие представители, которым приходится много перемещаться. В компании Adventure Works Cycles работают коммерческие представители, которые посещают различные магазины и поставщиков в пределах обслуживаемых регионов. Во время длительных путешествий представители компании останавливаются в гостиницах и нуждаются в удобном способе передачи данных по продажам и загрузки обновлений по продуктам в конце каждого дня.

Представители отдела информационных технологий Adventure Works настраивают на портативных компьютерах SQL Server и включают репликацию слиянием с использованием веб-синхронизации. Каждый из портативных компьютеров имеет в Интернете URL-адрес, указывающий на компоненты репликации, установленные на сервере Microsoft IIS. Эти компоненты синхронизируют подписчика с издателем. Теперь каждый торговый представитель может, не пользуясь удаленным коммутируемым соединением, подключиться через любое доступное Интернет-соединение и передать или загрузить необходимые данные. При работе через Интернет-соединение используется протокол SSL, поэтому применение виртуальной частной сети (VPN) не потребуется.

Сведения о настройке компонентов, необходимых для веб-синхронизации, см. в разделе Настройка веб-синхронизации.

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

Веб-синхронизация рассчитана на работу с портативными компьютерами, карманными и другими клиентскими устройствами. Эта технология не предназначена для передачи больших объемов данных между серверными приложениями.

Обзор работы веб-синхронизации

При использовании веб-синхронизации обновления на подписчике упаковываются и отсылаются в виде XML-сообщений на IIS-сервер по протоколу HTTPS. Компьютер, на котором работает IIS-сервер, посылает команды на издатель в двоичном формате (обычно по протоколу TCP/IP). Обновления на издателе отсылаются на IIS-сервер, а затем упаковываются в XML-сообщения для доставки подписчику.

На приведенном ниже рисунке показаны некоторые из компонентов, участвующих в веб-синхронизации при репликации слиянием.

Компоненты веб-синхронизации и потоки данных

Веб-синхронизация может использоваться только для подписок по запросу, поэтому на подписчике всегда будет запущен агент слияния. Это может быть стандартный агент слияния, элемент управления ActiveX агента слияния или приложение, которое обеспечивает синхронизацию с помощью объектов RMO. Для указания местоположения IIS-сервера предназначен параметр –InternetUrl агента слияния.

На сервере IIS настроено средство прослушивания репликации SQL Server (replisapi.dll), которое отвечает за обработку сообщений, поступающих на сервер от издателя и от подписчиков. Каждый узел в топологии обрабатывает поток XML-данных с помощью посредника репликации слиянием (replrec.dll).

На всех компьютерах, участвующих в процессе веб-синхронизации, необходимо наличие SQL Server 2005 или более поздней версии.

Процесс синхронизации

Во время синхронизации выполняются следующие шаги.

  1. На подписчике запускается агент слияния. Агент выполняет следующие действия:

    1. устанавливает SQL-соединение с базой данных подписки;

    2. извлекает из базы данных все изменения;

    3. производит HTTPS-запрос к компьютеру, на котором работает IIS-сервер;

    4. загружает изменения данных в виде XML-сообщения.

  2. Средство прослушивания репликации SQL Server и посредник репликации слиянием, находящиеся на IIS-сервере, выполняют следующие действия:

    1. обрабатывают HTTPS-запрос;

    2. устанавливают SQL-соединение с базой данных публикации;

    3. применяют переданные изменения к базе данных публикации;

    4. извлекают загруженные изменения для подписчика;

    5. возвращают HTTPS-ответ на агент слияния.

  3. После получения HTTPS-ответа агент слияния на подписчике применяет загруженные изменения к базе данных подписки.