计划通知解决方案
在开始实现 Notification Services 应用程序之前,考虑关于期望的应用程序输入和输出类型以及输入和输出量的规格非常重要。认真查看这些规格并仔细分析建议的应用程序的要求,可使您开发满足自己业务目标的系统。
规划一览表
当您规划应用程序时,请使用下列问题作为指南。
您将使用 XML 或托管代码来定义应用程序和配置实例吗?
SQL Server 2005 Notification Services 为应用程序和实例开发提供了选择。您可以使用 XML 通过为每个应用程序创建一个应用程序定义文件 (ADF) 以及为每个 Notification Services 实例创建一个实例配置文件 (ICF) 来定义应用程序和配置实例。或者,可以通过 XML (NMO) 使用 Notification Services 管理对象配置实例来定义应用程序和配置实例。
有关详细信息,请参阅下列主题:
- 定义 Notification Services 应用程序
- 配置 Notification Services 实例
- Microsoft.SqlServer.Management.Nmo
- SQL Server Notification Services 示例
何为事件源?
Notification Services 将事件和订阅进行匹配来生成通知。在开发应用程序之前,您应当考虑从何处获取事件。如果可以从 XML 文件或数据库获取事件,则您可以使用连续或按计划向 Notification Services 应用程序提交数据的内置事件提供程序。如果事件使用其他格式,则您可能需要直接将事件提交到事件视图,创建自定义事件提供程序,或查询事件的其他数据源。
有关事件提供程序的详细信息,请参阅下列主题:
您将使用何种数据库来存储实例数据和应用程序数据?数据库引擎实例将使用何种配置?
当您定义 Notification Services 应用程序并配置承载应用程序的实例时,可以为实例数据和应用程序数据创建新的数据库,也可以使用现有的数据库。您需要确定是实例数据和应用程序数据与其他操作数据一起存储好,还是将实例数据和应用程序数据单独存储到另一个数据库更好。
如果您选择的数据库具有多个文件组,则还需要确定将使用哪些文件组来存储特定的实例数据和应用程序数据。
请与系统管理员一起确定实例数据与应用程序数据的存储位置以及数据库的配置方式。有关选项的详细信息,请参阅下列主题:
您希望应用程序接受何种事件和订阅架构以及希望应用程序生成何种通知?您希望对所有历史记录表使用何种架构?
当您定义 Notification Services 应用程序时,便会记录事件数据、订阅数据以及通知数据的架构。这些架构用于创建应用程序表和视图。了解这些架构有助于快速开发应用程序。
应用程序还可以使用事件历史记录和订阅历史记录来存储补充的事件数据和订阅数据。历史记录通常用于存储由预定的订阅使用的事件数据以及存储有关各订阅的历史数据。
当您定义 Notification Services 应用程序时,需要提供联接事件数据和订阅数据的查询,然后将数据插入通知视图。良好的架构设计以及结果表和视图的索引定义有助于您创建优化的通知生成规则,这些规则反过来又能提供更好的应用程序性能。
有关架构的详细信息,请参阅下列主题:
在部署应用程序之后,更改事件或通知架构将会删除并重新创建基础表和视图。更改订阅类的架构可重命名存储订阅数据的现有表,并且需要您手动将旧的订阅数据迁移到新表中。
您是要提供预定的订阅、事件驱动的订阅,还是同时提供这两者?您是要订阅方为预定义的查询提供参数,还是要允许订阅方定义他们自己的条件?
Notification Services 支持事件驱动的订阅,这些订阅在事件到达时进行评估;同时还支持预定的订阅,这些订阅按计划进行评估。事件驱动的订阅和预定的订阅都支持基本操作或条件操作。
有关详细信息,请参阅定义订阅规则。
您删除较旧的事件数据和通知数据的频率如何?
Notification Services 可以通过称为数据清空的进程自动删除较旧的、过期的事件数据和通知数据。您可以在定义应用程序时为每个应用程序配置数据清空。有关详细信息,请参阅配置数据删除操作。
您是要使用标准的 Notification Services 组件,还是计划实现自定义组件?
自定义组件可以为应用程序提供非常具体和强大的功能,但是这些组件会占用其他资源来进行设计、开发和测试。有关详细信息,请参阅开发自定义 Notification Services 组件。
您希望在基准时段和高峰时段传递通知的量?高可用性的重要程度?
Notification Services 支持向上扩展、向外扩展以及故障转移群集硬件配置。了解通知量和可用性的要求有助于您选择硬件配置。有关详细信息,请参阅计划 Notification Services 系统。
您计划使用何种技术来实现订阅管理界面?
您可以使用 Microsoft .NET Framework 及其支持的任何语言,采用托管代码实现订阅管理界面,还可以使用 Notification Services 视图提交基本的订阅方数据和订阅数据。托管代码界面可以直接访问 Notification Services 类,而非托管应用程序必须使用 COM interop,并限制为基本操作而非条件操作。
您可以使用 Notification Services 视图添加订阅方数据和订阅方设备数据。如果您的应用程序使用仅支持基本操作的事件驱动的订阅,则您还可以使用这些视图添加订阅数据。
确定要使用的实现方式有助于您确定必须在每个服务器上安装的软件,并有助于更好地规划向外扩展和故障转移。
有关详细信息,请参阅开发订阅管理界面。
您需要将 Notification Services 应用程序与外部数据库或第三方应用程序集成吗?
Notification Services 可以从其他系统获取数据并将通知传递给其他系统。此类集成通常通过事件提供程序和传递协议来进行。您的应用程序还可以查询外部数据库以获取事件数据、订阅数据或其他数据。
集成要求可影响 Notification Services 应用程序的多个方面,例如系统性能、数据格式设置选项以及通知传递。
有关详细信息,请参阅 Notification Services 与其他技术。
请参阅
概念
Notification Services 体系结构
Notification Services 编程框架
Notification Services 部署选项
其他资源
生成通知解决方案
部署 Notification Services
管理 Notification Services