Service Broker 开发人员的责任

应用程序开发人员负责设计 Service Broker 应用程序和创建需要编程的元素。系统管理员负责配置和管理 Service Broker。开发人员和管理员在规划系统时必须相互协作,以确保针对他们的特殊环境和商业用途对系统进行最佳的开发和管理。

创建个别应用程序所涉及的任务取决于应用程序的需要。下面是开发 Service Broker 应用程序所涉及的一系列常见任务:

  1. 规划应用程序。创建应用程序必须完成的任务大纲。描述每个任务执行期间发生的会话。什么端点需要提供什么信息?按什么顺序提供?必须进行什么处理?应该为各个会话指定什么优先级?所有后续信息均取决于此大纲。

  2. 确定每个会话中每个消息的格式和结构。规划预期的消息交换顺序,以及会话中的每个参与者应如何响应错误以及按意外顺序发送的消息。

  3. 如果会话使用 XML 消息,则为每个 XML 消息创建一个架构。可以在开发、测试和故障排除过程中使用架构。当服务处于生产中时,您可能会决定删除消息类型的架构验证以改善性能。

  4. 为每个会话中的每个消息创建一个消息类型。

  5. 为每个会话创建一个约定。约定标识会话中每个端点可使用的消息类型。

  6. 创建队列以存储将由应用程序接收的邮件。

  7. 创建服务来显示由您创建的约定定义并由您创建的存储过程实现的功能。创建服务时,将其与上一步中创建的队列相关联。这样做,就会告诉 Service Broker 发送目标为该服务的所有到达的消息都将放入已标识的队列中。

  8. 检查您在步骤 1 中建立的优先级计划。为使用默认值以外的优先级别的所有会话端点创建会话优先级。如果从数据库传输消息时应使用优先级别,请确保该数据库中的 HONOR_BROKER_PRIORITY 选项设置为 ON。

  9. 创建实现预期的消息交换模式和在步骤 1 中确定的处理要求的应用程序。如果应用程序使用内部激活,则该应用程序即为存储过程。

  10. 如果应用程序使用内部激活,请更改队列以启用激活。将步骤 8 中创建的存储过程指定为激活存储过程。

  11. 标识使用您刚刚创建的服务的服务。如果这些服务中的任何服务存在于本地 SQL Server 实例之外,请为其创建路由。

  12. 检查您在上一步中标识的远程服务,并确定与其通信的安全要求。必要时,创建证书以强制实施这些要求,然后为证书创建数据库用户。将证书与这些登录名相关联。其他服务的管理员或开发人员必须创建远程服务绑定以启用此服务的通信对话安全。

  13. 在开发和测试过程中,应用程序通常能够方便地使用将在生产中使用的用户名,但并不容易将这些用户名与仅在开发和测试环境中使用的证书相关联。当应用程序转入生产后,请使用为生产环境创建的证书。通过使用不同的证书,不但可以减少部署应用程序所需的工作量,而且还能维护开发环境与生产环境间的安全性。