Notification Services 应用程序收集事件和订阅并生成通知,然后将通知分发给外部传递服务 [邮件传输协议 (SMTP) 服务器]。Notification Services 完成这些任务的步骤如下:
- Notification Services 将订阅方数据和订阅数据存储在 SQL Server 数据库中。您可以使用“订阅管理对象”**(Notification Services API 的一部分)创建自定义订阅管理应用程序来管理订阅方数据和订阅数据。
- Notification Services 使用“事件提供程序”**收集事件数据,并将这些事件数据存储在应用程序的数据库中。例如,文件系统观察器事件提供程序负责监视 XML 事件数据目录。您可以使用此事件提供程序向该目录投递 XML 事件文件,事件提供程序将读取 XML 事件并将这些事件提交给应用程序数据库。
事件提供程序可由“事件提供程序宿主”**组件运行,也可独立于 Notification Services 运行。有关详细信息,请参阅事件收集体系结构。 - “生成器”**负责将订阅与事件进行匹配,并生成通知。生成器按为应用程序定义的时间间隔运行,从而确保定期对订阅进行评估。应用程序开发人员要编写 Transact-SQL 查询,而用户要为这些查询提供参数或条件,从而确定如何对订阅进行评估以及通知中将包含哪些信息。
- “分发服务器”**负责格式化通知,并通过一个或多个传递服务将这些通知发送给订阅方。应用程序开发人员可指定如何使用内容格式化程序(如内置的 XSLT 内容格式化程序)将原始数据转换为已格式化的通知。
下图说明了 Notification Services 如何实施此体系结构。
Notification Services 引擎可运行事件提供程序宿主、生成器和分发服务器。此引擎可驻留在 NS$instanceName Window 服务中,您可以在注册实例时或通过自定义应用程序或进程来安装该服务。
请参阅
概念
Notification Services 部署选项
Notification Services 体系结构
使用 Notification Services 的原因
宿主 Notification Services 引擎