Форматирование уведомлений и архитектура доставки
В службах Notification Services форматирование уведомлений и распространение выполняется распространителем. После того как генератор создаст пакет уведомлений, распространитель разделяет пакет на рабочие элементы, каждый из которых назначен для одного канала доставки. Затем распространитель отправляет рабочие элементы в модуль форматирования данных. После форматирования распространитель отправляет уведомления в конечную точку доставки, заданную для канала доставки.
Форматирование сообщений
Частью создания приложений является определение преобразования необработанных данных уведомления в удобочитаемые сообщения. Службы Notification Services включают стандартный модуль форматирования данных преобразования расширяемого языка списков стилей (XSLT), для работы которого требуется один XSLT-файл для каждого типа устройств и языковой стандарт, поддерживаемый приложением. Можно разработать пользовательские модули форматирования данных, подготавливающие уведомления на основе устройства и языкового стандарта.
В отформатированных сообщениях может содержаться комбинация необработанных данных уведомлений, данные, рассчитанные во время форматирования, и текст, добавляемый модулем форматирования. Благодаря этому можно создавать профессионально отформатированные и понятные текстовые сообщения, а также использовать URL-адреса или другие ссылки.
Каналы доставки
Службы Notification Services не выполняют окончательную доставку уведомлений. Вместо этого службы Notification Services используют каналы доставки, которые можно сравнить с каналами доставки служб, например SMTP-серверами. Службы Notification Services отправляют уведомления на один или несколько каналов доставки. В свою очередь, каждый канал доставки создает пакеты уведомлений в соответствии со своим протоколом и отправляет их в службы доставки. Службы доставки выполняют окончательную доставку уведомлений подписчикам.
Далее необходимо настроить каналы доставки для экземпляра служб Notification Services. Каналы доставки используются всеми приложениями, размещенными на экземпляре.
Каждый канал доставки использует отдельный протокол для доставки в заданную конечную точку. Службы Notification Services включают следующие распространенные протоколы:
- Протокол SMTP для отправки уведомлений на сервер Microsoft Exchange Server или другие SMTP-серверы.
- Расширяемый протокол HTTP, который можно использовать для простого протокола доступа к объектам (SOAP), службы коротких сообщений (SMS), предупреждений .NET и других протоколов на базе HTTP.
- Файловый протокол для отправки уведомлений файлам операционной системы используется для отладки приложений.
При необходимости для одного протокола доставки можно определить несколько каналов доставки.
Также можно разработать пользовательские протоколы доставки, если необходима поддержка других типов устройств или использование определенных функций протокола SMTP или протокола передачи файлов.
Дополнительные сведения о стандартных и пользовательских протоколах см. в разделах Стандартные протоколы доставки и Разработка пользовательского протокола доставки.
Отслеживание и повторное распространение уведомлений
Для поддержки повторной доставки, контроля производительности и устранения неполадок службы Notification Services сохраняют сведения о доставке уведомлений. В каналах доставки для создания отчета об успешной или неудачной доставке отдельных уведомлений используется функция обратного вызова. Обратный вызов обновляет таблицы уведомлений данными об успешной или неудачной доставке уведомлений. С помощью представления NSимя_класса_уведомленияNotificationDistribution или хранимых процедур служб Notification Services можно просмотреть состояние доставки.
Для каждого типа отправляемых уведомлений можно создать расписание повторных попыток. Дополнительные сведения см. в разделе Установка настроек выполнения протокола доставки.
Параметры доставки
Помимо стандартных параметров форматирования и доставки уведомлений в службах Notification Services используется еще два параметра: сводная доставка и многоадресная доставка.
- Если отдельным подписчикам отправляются несколько уведомлений, например сведения о цене для различных акций, то для группировки уведомлений в отдельное сообщение можно использовать сводную доставку. Уведомления подписчиков в пакете уведомлений могут группироваться и отправляться в виде одного сообщения. Сводная доставка позволяет сократить нагрузку на систему, связанную с форматированием и распространением.
- Если приложение создает уведомления, одинаковые для многих подписчиков, например результаты спортивных состязаний или прогноз погоды, то можно использовать многоадресную доставку. Многоадресные уведомления форматируются один раз, затем они отправляются на несколько подписчиков. Это позволяет повысить производительность за счет уменьшения нагрузки системы, связанной с форматированием.
См. также
Основные понятия
Определение каналов доставки
Задание сводной доставки или многоадресной доставки
Архитектура управления подписками
Архитектура коллекции событий
Архитектура обработки подписок
Другие ресурсы
Настройка протоколов доставки
Хранимые процедуры служб Notification Services (Transact-SQL)