WebSphere Message Broker 使信息能封装为消息以在不同的业务应用程序之间传递,这些业务应用程序可以是大型传统系统,也可以是流水线上的传感器等无人看管的设备。
WebSphere Message Broker 通过以下两种方式处理消息:
消息路由
可以根据消息的内容将消息从发送方路由到接收方。
您设计的消息流 控制消息路由。消息流描述在进入消息上执行的操作,以及它们的执行顺序。
每条消息流由下列内容组成:
IBM 提供了用于许多公共功能的内建节点和样本。如果您需要附加的功能,您可以编写您自己的用户定义的节点 。
Message Broker Toolkit 是一个集成的开发环境和代理域管理控制台,您可在其中创建消息流。
消息变换
在消息被发送之前,可以先转换消息:
- 它们可以从一种格式转换为另一种格式,可能是为了满足发送方和接收方的不同需求。
- 可通过修改、合并、添加或除去数据字段转换这些格式,这些操作可能会用到数据库中存储的信息。信息可在消息和数据库之间映射。更复杂的消息数据操作可通过 在可配置节点内编写扩展 SQL (ESQL)或 Java 代码来实现。
转换可通过消息流中的各种节点实现。但在消息流节点可在进入消息上操作之前,它必须了解该消息的结构。
您设计的消息定义在消息集 中创建,它包含一个或多个消息定义。消息集也对消息定义进行了分类。类别 工具用于生成 Web 服务描述语言(WSDL )和文档,您可使用 XSLT 脚本对该工具进行扩展。
创建运行时环境
路由和转换 消息的工作在代理 中进行。代理包含多个执行组 ,可用作运行消息流的进程。
代理分组为代理域 。每个域由一个配置管理器 协调。一个域中可存在多个代理,每个代理可以运行在不同的系统上。多代理可帮助提供故障保护,并可将企业中不同部门之间工作分开。
系统管理员使用命令行指令创建配置管理器 。配置管理器 使用 内部存储库来存储与它的代理域相关的信息。
类似地,系统管理员创建一个或多个代理,将每个代理链接到特定的配置管理器 ,因此使它们成为配置管理器 控制的域的一部分。 每个代理使用数据库存储它在运行时处理消息所需的信息。
配置管理器 也在您用于设置用户许可权的访问控制表 中显示用户和组,请参阅下面的发布/预订 。
开发应用程序
系统管理员创建并连接代理域的组件后,应用程序开发者使用工作台 创建并修改消息流和消息定义 。
工作台 中不同的透视图 用于开发消息流和消息集 ,并管理代理域。
存储库 可用于提供访问控制和版本控制。存储库也允许多个开发者在同一资源上并行工作。
将应用程序部署到运行时环境
当使用工作台 创建了消息流和消息集 后,即可将可执行文件数据部署 (转换) 到一个或多个代理了。
- 在工作台 中
- 使用 shell 命令
- 使用配置管理器代理 应用程序编程接口
当您部署消息流和消息集 时,将对它们进行编译,并封装在代理归档 (BAR)文件中,然后发送至配置管理器 。该 bar 文件有可配置系统属性。无需更改源文件或重新开发消息流,即可覆盖队列和数据库 名称等属性。此配置使得在系统之间移动定义更为容易。
配置管理器 打开包络,除去内容,记录接收到的信息,并将信息路由到相应代理中。(当包络所包含信息经过检索后,该包络便废弃。)每个代理将这些信息存储在它自己的本地数据库中。这种本地存储表示,当代理具有足够信息时,即使它不再连接到配置管理器 ,它仍可继续处理消息。
配置管理器 协调工作台 在其域中的代理之间的所有活动(例如,对消息集的更改) 。WebSphere MQ 消息传递在工作台 、配置管理器 和代理之间使用。