IBM® SOA Policy Pattern 根据从服务注册表中检索到的策略文档中保存的数据来路由 MQ JMS 消息。
IBM SOA Policy Pattern for Red Hat Enterprise Linux V2.0 供应并管理
IBM PureApplication System (IPAS) 硬件或
IBM Workload Deployer (IWD),以提供预配置为模式部件的以下功能部件:
- 企业服务总线 (ESB):IBM WebSphere® Message Broker
- JMS 提供者:WebSphere MQ
- 服务注册表:WebSphere Service Registry and Repository (WSRR)
该模式支持哪些场景?
MQ JMS 应用程序会将消息发送到该模式的 JMS 输入队列中,系统会根据与该输入消息匹配的策略,将这些消息路由到其他 MQ JMS 队列中。该模式使用 JMS 头信息来确定哪些策略适用,然后评估这些策略以确定在何处路由该消息。会将一个响应发回到 JMS 发送应用程序以确认已路由该消息。因此,该模式可同时支持多个 JMS 应用程序,每一个都具有自己的通过一组策略表达的路由规则。
策略可按照日时间和星期几等来指定调度,将消息路由到不同的端点目标中。该模式不支持任何其他条件或操作。该模式使用 WS-MediationPolicy 标准来定义路由消息的方式和时间。此标准的名称空间是 http://www.ibm.com/xmlns/stdwip/2011/02/ws-mediation。
Web Services Mediation Policy 1.0 域定义一组描述服务的调解需求的策略断言。
每个策略均是 SOA 策略生命周期的一部分。所应用的策略必须处于“已核准”、“已弃用”或“已取代”管理状态。
有关更多信息,请参阅 IBM SOA Policy Pattern 中的策略使用。
该模式中包含什么?
IBM SOA Policy Pattern 是虚拟系统模式示例。虚拟系统模式包含一系列部件。每个部件均是包含已安装 IBM 软件的虚拟操作系统映像,该软件是根据供应过程中提供的模式参数进行配置的。
该模式提供了以下三个部件:
- 包含 WebSphere Message Broker V8.0.0.1 和 WebSphere MQ V7.0.1.8 的映像。
- 包含 WebSphere Service Registry and Repository V8.0 和 WebSphereApplication Server V8.0 的映像。
- 包含 DB2® Enterprise Edition(以支持 WSRR)V9.7.5 的映像。
当
IBM PureApplication System 硬件或
IBM Workload Deployer 用户创建
IBM SOA Policy Pattern 实例以提供预配置的 ESB 时,将会通过这些部件创建三个映像。下图中显示了该配置:
图 1. IBM SOA Policy Pattern 概述
要创建该配置,用户可运行以下组件:
- 一个 WebSphere MQ 队列管理器,以提供 JMS 服务并允许 JMS 程序连接到该模式。
- 一个预配置的 WebSphere Message Broker,以在 JMS 目标间执行路由。
- 一个预配置的 WSRR 实例,以定义和管理用于控制路由的策略。
- 一个 DB2 实例,以支持 WSRR。
- 用于部署该模式的 IBM Workload Deployer 或 IBM PureApplication System 基于浏览器的用户界面。
- 用于创建和管理策略的 Business Space 基于浏览器的用户界面。
它与其他哪些应用程序相集成?
您可以将自己的策略文档装入 WSRR 中,这些策略会定义其自身的 JMS 端点目标。首次配置时,会装入注册表及两个分别使用两个示例端点的示例策略。IBM SOA Policy Pattern 随附的 WebSphere Message Broker 配置提供了从输入队列读取 JMS 消息的消息流,并根据从注册表中检索到的策略,将消息路由到输出队列中。
IBM SOA Policy Pattern 包含一个 JMS 提供者,但不包含 JMS 应用程序,因此,您需要添加现有 MQ JMS 应用程序以完成此解决方案。
JMS 目标是使用标准 WebSphere MQ 过程进行定义的。您可以选择 MQ JMS 应用程序的连接方式以控制所构建消息传递拓扑的种类;它们可使用 MQ 客户机绑定以远程连接由该模式托管的一个队列管理器,也可使用 MQ 分布式消息传递技术以将消息从现有远程队列管理器提供给模式队列管理器。
如何控制消息路由?
当对该模式进行实例化时,路由行为由策略管理员进行控制,该管理员使用 Business Space(与 WSRR 一起提供)来定义和管理符合路由要求的策略。对于每个策略,都需要存在一个 JMS 目标,因此,消息传递管理员必须确保策略中定义的每个 JMS 端点也存在于消息传递子系统上。有关更多信息,请参阅使用已部署实例。