Основные понятия программирования репликации

До начала разработки приложения, в котором используются функциональные возможности репликации, необходимо выполнить следующие общие шаги планирования:

  1. Определить топологию репликации.

  2. Определить функциональные возможности приложения.

  3. Учесть в плане требования безопасности.

  4. Выбрать среду разработки.

  5. Выбрать соответствующий программный интерфейс репликации.

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

Определение топологии репликации

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

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

В некоторых случаях единственным назначением приложения является развертывание топологии репликации.

Определение топологии репликации зависит от многих факторов, включая следующие:

  • Должны ли реплицированные данные обновляться и кто это должен делать.

  • Требования к распределению данных, касающиеся согласованности, автономности и задержки.

  • Среда репликации, включая бизнес-пользователей, техническую инфраструктуру, сеть и средства обеспечения безопасности, а также характеристики данных.

  • Типы репликации и параметры репликации.

  • Топологии репликации и степень их соответствия типам репликации.

Дополнительные сведения о проектировании топологии репликации, которая в наибольшей степени соответствует требованиям организации, см. в разделе Вопросы проектирования решений (репликация). Те, кто впервые сталкивается с репликацией Microsoft SQL Server, должны ознакомиться с документом Обзор (репликация).

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

После определения топологии репликации необходимо принять решение по выбору функциональных возможностей, предоставляемых приложением. Эти функциональные возможности могут начинаться со сценария, с помощью которого синхронизируется подписка, и заканчиваться приложением с пользовательским интерфейсом для настройки репликации. Репликация поддерживает следующие общие задачи программирования:

  • Подготовка средств репликации к работе.

  • Синхронизация подписчиков.

  • Сопровождение топологии репликации.

  • Текущее наблюдение за топологией репликации.

  • Устранение неполадок в работе средств репликации.

Кроме того, широко применяется подход, предусматривающий расширение возможностей приложения путем совместного применения функциональных средств репликации с другими функциями, предоставляемыми в SQL Server. В следующей таблице выделяются некоторые расширенные функциональные возможности, которые могут быть предоставлены в конкретном приложении репликации.

Функциональность

Примеры

Администрирование сервера с использованием управляющих объектов SQL Server (объектов SMO)

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

Доступ к данным с использованием технологии ADO.NET

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

Планирование средств безопасности

Обеспечение безопасности является важной задачей в любом приложении, поэтому планирование средств безопасности должно быть завершено до написания любого кода. Задачу обеспечения безопасности приложения можно разделить на три основные части: безопасность базы данных, безопасность репликации и написание безопасного кода.

Сведения об обеспечении безопасности приведены в следующих разделах:

Выбор среды разработки

Разработка приложения репликации может быть осуществлена на базе одного из трех основных вариантов среды разработки. Каждая среда разработки предоставляет доступ к одним и тем же функциональным возможностям репликации, за некоторыми исключениями. Приложения репликации могут разрабатываться в каждом из следующих вариантов среды.

  • Управляемый код

    Объектно-ориентированная среда разработки, которая позволяет воспользоваться преимуществами программирования .NET Framework и среды CLR .NET. Рекомендуемой средой программирования для разработки .NET и приложений SQL Server является управляемый код. Управляемые интерфейсы репликации обеспечивают возможность программирования средств администрирования репликации в объектно-ориентированной форме, не требуя знаний в области Transact-SQL, а также предоставляют определенные функциональные средства ответного вызова при эксплуатации агентов репликации, доступ к которым нельзя получить из сценариев. Управляемый код представляет собой наилучшую среду для разработки многократно используемых компонентов и приложений с пользовательским интерфейсом.

  • Создание сценария

    Простые приложения, в которых выполняется ряд команд в качестве системных хранимых процедур репликации в сценариях Transact-SQL или команд в пакетных файлах. Безусловно, обеспечивается возможность выполнять сценарии в управляемой среде с использованием внутрипроцессного управляемого поставщика SQL Server, но те же функциональные возможности можно получить с применением управляемых интерфейсов репликации, которые предоставляют также функциональные средства ответного вызова. Среда сценарной поддержки является наиболее подходящей для выполнения задач, которые вызываются лишь несколько раз и для которых не требуются функциональные возможности ответного вызова, таких как установка сервера репликации.

  • Машинный код

    Объектно-ориентированная среда разработки, в которой используется прямой доступ к системе или к COM-объектам так, что не происходит управление кодом в среде CLR. Интерфейсы репликации с машинным кодом считаются устаревшими или не поддерживаются. Дополнительные сведения см. в разделе Устаревшие функции репликации SQL Server или Неподдерживаемые функции репликации в SQL Server.

Выбор соответствующего программного интерфейса репликации

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

Интерфейс

Среда

Области применения

Основные понятия объектов RMO

Управляемый код

Администрирование, текущее наблюдение и синхронизация.

Microsoft.SqlServer.Replication

Управляемый код

Синхронизация.

Microsoft.SqlServer.Replication.BusinessLogicSupport

Управляемый код

Создание обработчиков бизнес-логики для интеграции пользовательской логики с процессом синхронизации слиянием.

Хранимые процедуры репликации (Transact-SQL)

Создание сценария

Администрирование и текущее наблюдение.

Основные понятия об исполняемых объектах агента репликации

Создание сценария

Синхронизация.

Примеры

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

Для данного приложения шаги планирования могут выглядеть следующим образом:

  1. Топология репликации для этого приложения уже существует. Но в клиенте должна быть создана новая подписка по запросу. В публикации должны использоваться параметризованные фильтры для обеспечения репликации только уникального набора данных для каждого торгового представителя.

  2. Кроме типичного доступа к данным, необходимого для приложения в системе продаж, это приложение должно предоставлять менеджеру по продажам возможность в любое время синхронизировать подписку по запросу путем нажатия одной кнопки. Установкой и эксплуатацией приложения должен заниматься сам торговый представитель, поэтому он должен иметь возможность настроить конфигурацию подписки и применить исходный моментальный снимок на клиенте. В качестве необязательного средства в приложении будет использоваться инфраструктура проверки возможности беспроводного обмена данными, предусмотренная в Windows, для автоматической синхронизации подписки при обнаружении доступного соединения.

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

  4. Чтобы можно было воспользоваться преимуществами средств .NET Framework, приложение разрабатывается на основе языка определения управляемого кода.

  5. Изучение этих требований показывает, что все необходимые функциональные возможности репликации для этого приложения может предоставить управляемый интерфейс объектов RMO.

Сценарий, рассматриваемый в данном примере, был реализован в образце приложения, который поставляется с SQL Server. Дополнительные сведения см. в разделе AdventureWorks Sales Orders Sample for Merge Replication.

См. также

Основные понятия