Платформа программирования служб Notification Services
Платформа программирования служб Notification Services упрощает быструю разработку приложения для работы с уведомлениями с использованием XML или управляемого кода и языка Transact-SQL.
Основными задачами при разработке приложения являются определение свойств приложения и настройка экземпляра, содержащего приложение. В зависимости от поставщиков событий, протоколов доставки и модулей форматирования данных, используемых приложениями, могут возникнуть дополнительные задачи разработки, например определение XML-схем (XSD), файлов расширяемого языка преобразования стилей (XSLT) или пользовательских компонентов.
Для большинства приложений также необходим собственный интерфейс управления подписками.
Параметры разработки
Платформа программирования служб Notification Services поддерживает два метода определения приложений и настройки экземпляров.
- Определение приложения и настройка экземпляров в XML-файлах, соответственно называемых файлами определения приложений (ADF) и файлами конфигурации экземпляров (ICF). Дополнительные сведения о XML-файлах см. в разделе Notification Services Programming Reference.
- Определение программным путем приложения и настройка экземпляров с помощью управляющих объектов служб Notification Services (NMO). Объекты NMO находятся в пространстве имен Microsoft.SqlServer.Management.Nmo.
Образцы приложений см. в разделе Образцы служб SQL Server Notification Services.
Определение приложений
В определении приложения объявляются свойства приложения. При определении приложения служб Notification Services обычно выполняются следующие задачи.
- Определение структуры событий приложения.
- Определение структуры подписок приложения и определение запросов, соединяющих данные о событиях и данные подписок для создания уведомлений.
- Определение структуры, получающейся в результате уведомлений, модуля форматирования данных уведомлений, протоколов доставки, используемых для доставки уведомлений и настройки доставки, например расписание повторных попыток.
- Определение поставщиков событий, которые собирают и пересылают данные событий приложению.
- Настройка интервала для запуска генератора.
- Определение распространителей, управляющих форматированием и распространением.
- Определение базы данных приложения, которая может быть новой или существующей базой данных.
- Определение рабочей настройки для приложения.
Дополнительные сведения об определении приложений см. в разделе Определение приложений служб Notification Services.
В зависимости от определения приложения может появиться необходимость создания дополнительных файлов. Например, при использовании поставщика событий отслеживания файловой системы необходимо создать XSD-файл, определяющий схему событий XML. Если выбрано форматирование уведомлений с использованием модуля форматирования данных XSLT, то необходимо создать один или несколько XSLT-файлов, преобразующих необработанные данные в читаемое сообщение.
Если поставщики событий стандартные и модуль форматирования данных или протоколы доставки не соответствуют требованиям пользовательского приложения, можно разработать пользовательские компоненты. Дополнительные сведения см. в разделе Разработка пользовательских компонентов служб Notification Services.
Настройка экземпляров
Экземпляр служб Notification Services представляет собой именованную конфигурацию, в которой содержится одно или несколько приложений. Файл конфигурации определяет имя экземпляра, базу данных экземпляра, задает имена приложений, содержащиеся в экземпляре, и настраивает базы данных, протоколы и каналы доставки для экземпляра.
Дополнительные сведения о настройке экземпляров см. в разделе Настройка экземпляров служб Notification Services.
Компиляция и тестирование экземпляров
Когда все готово к тестированию пользовательского приложения служб Notification Services, необходимо скомпилировать экземпляр, при этом будут созданы базы данных экземпляра и приложений. Далее необходимо зарегистрировать, включить и запустить этот экземпляр, а затем предоставить тестовые данные для проверки правильной работы приложения.
Компиляция экземпляра служб Notification Services похожа на развертывание экземпляра. Дополнительные сведения о развертывании экземпляров служб Notification Services см. в разделе Развертывание служб Notification Services.
При необходимости тестирования приложения без использования поставщиков событий и интерфейсов управления подписками службы Notification Services предоставляют хранимые процедуры и представления для упрощения тестирования.
- Для каждого класса событий, определенного пользователем в приложении, службы Notification Services создают представление с таким же именем, как и у класса событий. В эти представления можно пересылать различные события. Дополнительные сведения см. в разделе Представление <EventClassName>.
Также можно использовать хранимые процедуры пересылки событий, которые описаны в разделе Хранимые процедуры служб Notification Services (Transact-SQL). - Для каждого класса подписки, определенного пользователем, службы Notification Services создают представление с таким же именем, как и у класса подписки. Эти представления можно использовать для передачи подписок. Дополнительные сведения см. в разделе NSSubscriberView.
- Для каждого класса уведомлений, определенного пользователем, службы Notification Services создают представление с таким же именем, как и у класса уведомлений. Это представление можно использовать для просмотра уведомлений, созданных приложением. Дополнительные сведения см. в разделе Представление <NotificationClassName>.
Дополнительные сведения о параметрах, доступных для развертывания и запуска экземпляров служб Notification Services, см. в разделе Параметры развертывания служб Notification Services.
Разработка интерфейсов управления подписками
Большинство приложений служб Notification Services получают данные подписок через собственные интерфейсы управления подписками, которые могут использоваться подписчиками для создания подписок. Данные интерфейсы часто представляют собой веб-приложения или приложения Windows.
Интерфейсы управления подписками можно разрабатывать с использованием API-интерфейса служб Notification Services для управления подписками. Дополнительные сведения см. в разделе Разработка интерфейсов управления подписками.
См. также
Другие ресурсы
Построение решений на основе служб Notification Services
Развертывание служб Notification Services
Администрирование служб Notification Services