Для чего нужны службы Notification Services?
Службы Notification Services предоставляют платформу программирования, благодаря которой увеличивается скорость и простота разработки профессиональных приложений уведомлений, и платформу для выполнения этих приложений в надежной и масштабируемой среде.
Простота и быстрота разработки приложений
Службы Notification Services позволяют легко и быстро разрабатывать и развертывать приложения уведомлений, благодаря использованию платформы программирования служб Notification Services для задания свойств приложения и, при необходимости, для создания пользовательских компонентов. Такая платформа предоставляет множество служб для пользовательского приложения, а именно:
- Интеграция со средой SQL Server Management Studio, что позволяет легко развертывать экземпляры служб Notification Services и управлять ими, а также упрощает редактирование файлов XML и сценариев на языке Transact-SQL.
- Поддержка запланированных подписок и подписок, вызываемых событиями. Запланированные подписки работают во всех часовых поясах, поддерживаемых Microsoft Windows, и автоматически обрабатывают переход с летнего времени на зимнее и обратно.
- Поддержка как простых действий подписки, так и более гибких условных действий подписки. Простые действия подписки позволяют подписчикам указывать параметры для запросов, заданных разработчиком. Гибкие условные действия позволяют подписчикам создавать собственные условия соответствия для данных события.
- Стандартные поставщики событий, которые упрощают передачу событий в систему, и интерфейсы, предназначенные для построения пользовательских поставщиков событий.
- Стандартные протоколы доставки, которые упрощают отправку уведомлений, и интерфейсы, предназначенные для построения пользовательских протоколов доставки.
- Автоматическое управление потоком событий и уведомлений, проходящим через приложения.
- Автоматическое управление устаревшими данными, например недействительными событиями и старыми данными уведомления: службы Notification Services удаляют данные согласно заданному расписанию.
- Автоматическое занесение в журнал попыток доставки и повтор невыполненных доставок.
- Пользовательское форматирование уведомлений на нескольких языках и для нескольких устройств.
- Простой мониторинг производительности с интеграцией в приложение панели управления Производительность.
- Автоматическое занесение ошибок и предупреждений в журнал событий приложения.
Производительность и масштабируемость
Эффективную работу приложений служб Notification Services обеспечивает модель обработки на основе наборов, позволяющая приложению поддерживать тысячи или даже миллионы подписчиков.
Все приложения, отправляющие уведомления, должны оценивать подписки в нужное время либо в момент поступления события, относящегося к подписке, либо согласно расписанию.
В любом случае, чтобы удовлетворить данному требованию, небольшим приложениям достаточно определять каждую подписку как свой собственный запрос и затем выполнять такие запросы нужным образом. Однако для больших приложений с тысячами или миллионами подписок не получается эффективно масштабировать выполнение тысяч или миллионов отдельных запросов.
Службы Notification Services решают эту проблему, полагаясь на общую структуру большинства подписок. Вместо того чтобы обращаться с подписками как с отдельными запросами, службы Notification Services обрабатывают и оценивают их вместе как набор элементов. Такой подход к обработке данных на основе наборов хорошо подходит для ядер СУБД и является основой платформы программирования служб Notification Services.
В такой модели обработки на основе наборов подписки оцениваются простым выполнением соединения базы данных, соединяющего поступившие новые события и большой набор подписок. Службы Notification Services могут реализовывать следующие основные категории подписок:
- Простые, запускаемые событиями подписки, которые оцениваются в момент возникновения событий.
- Подписки, которые оцениваются согласно своим собственным расписаниям.
- Подписки, которые используют прошлые и текущие события.
- Подписки, основанные на состоянии приложения.
- Подписки, которые используют внешние базы данных.
При использовании гибких условных действий на производительность оказывает влияние множество пользовательских условий соответствия. Если у условной подписки та же подпись, что у подписки, основанной на параметре, то производительность во время оценки подписок будет аналогичной. Условия произвольного соответствия, однако, снижают производительность, поскольку каждое условие оценивается по одному за раз.
См. также
Основные понятия
Принцип работы служб Notification Services
Архитектура служб Notification Services