WebSphere Message Broker V7 中的新特性

WebSphere Message Broker V7 提供的通用连接性能够自由地路由和转换消息。这非常适合 WebSphere MQ 用户。通过其简单的编程模型和强大的操作管理界面,WebSphere Message Broker V7 让开发、部署和维护复杂的应用程序集成解决方案变得更加简单。本文将为您介绍 V7 中的主要改进。

Matt Lucas, 软件开发人员,WebSphere Message Broker, WSO2 Inc

Matt Lucas 的照片Matt Lucas 是位于英国的 IBM Hursley Software Lab 的 WebSphere Message Broker 开发团队的一名软件开发人员。他于 1997 年加入 IBM,自从 WebSphere MQ V2.1 于 2001 年发布以后,他一直担任 WebSphere Message Broker 的开发团队负责人。他以前负责 WebSphere Message Broker Configuration Manager Proxy API 的开发,现在负责管理体系结构。他在空余时间喜欢上剧院、弹钢琴,并玩许许多多的视频游戏。



2010 年 3 月 04 日

简介

IBM® WebSphere® Message Broker(此后称为 Message Broker)的每个主要版本的发行都有一组核心的主题,用于指定开发方向和说明该发行版本的主要改进。下面是 Message Broker V7 的 4 个核心主题:

简单性和高效性
这些特性让产品的开发和管理更加容易。该主题中的特性帮助新老用户快速从 Message Broker 获得商业价值。
针对 SOA 的通用连接性
Message Broker 在 SOA 中扮演关键的角色。这个主题中的特性拓宽了可以使用该产品的 SOA 场景。
动态操作管理
这个主题中的特性让管理员能够有效地理解和修改代理的行为,从而加快对业务需求的响应。
平台、环境和性能
这个主题中的特性涉及到更新可以使用 Message Broker 的平台和环境,以更好地反映客户的当前需求。此外,该主题的特性还改善了关键场景中的产品性能。

简单性和高效性

流线化产品先决条件和组件

Message Broker V7 及其架构在 V7 中得到了根本性的简化。在任何系统中,更少的交互组件意味着更少的故障。现在的运行时由一个单个组件(代理)组成,因此能够更容易地将产品部署到更大范围的处理环境中。

一个比较显著的简化是,现在工具直接连接到代理,并且不使用配置管理器。这个更改减少了管理任务所需的步骤,并且允许工具直接访问更多配置信息。CMP Interface 仍然是编程管理的战略接口,使用这个 API 的应用程序现在可以直接连接到代理。其他工具现在完全支持 CMP,比如 mqsilist 命令,它现在能够与远程代理一起合作和报告更多信息。

您可以对代理直接启用管理安全性,这允许您决定谁有权读写和执行特定的代理和执行组。这一管理任务由 MQ 队列权限处理,因此队列管理器和代理可以使用同一个安全模型。代理的持久化配置现在显式地存储在文件系统中,这意味着您不再需要创建和维护系统数据库,并且如果不访问用户数据库就不需要任何数据库产品。

图 1. 正确配置 Message Broker V7 仅需要一个队列管理器和一个代理
Message Broker 的默认 Configuration Wizard

为了在必要时进行灾难恢复,已经添加了备份和恢复代理配置的命令。此外,迁移命令 mqsimigratecomponents 将来自 V6.0 或 V6.1 系统数据库的配置复制到本地文件系统中。

发布/订阅

Message Broker V7 使用 WebSphere MQ V7.0.1 来处理发布/订阅 (pub/sub) 请求,这意味着这两个产品使用相同的主题空间和配置。所有发布/订阅管理概念现在都成为了队列管理器配置的一部分,并且不再使用 Message Broker 工具进行公开或管理。最终得到的结果是,Message Broker 不再拥有或公开 User Name Server、拓扑、集合、主题结构或订阅的概念。因此,Message Broker V7 和 WebSphere MQ V7.0.1 可以紧密地协作,从而提供一个完整的发布/订阅解决方案。例如,代理的 Publication 节点现在可以使用 MQ pub/sub 引擎,并且基于内容的订阅(为了支持完整的 ESQL 名称空间,已经改正了其语法)由 Message Broker 来完成。

不再使用默认的执行组,老版本的 Message Broker 需要使用它来运行 pub/sub 引擎。不过,您可以指定一个执行组来处理基于内容的过滤请求。

Message Broker Toolkit

Message Broker Toolkit 是基于 Eclipse 的 Message Broker 应用程序开发工具,它包含了大量改进,能够加快 Message Broker 开发人员的开发速度。

新的 Brokers 视图允许您管理本地和远程的代理,而不需要使用独立的工具。集成到 Application Development 透视图中的 Brokers 视图使您能够在开发和测试 Message Broker 解决方案时快速访问基本的管理任务。例如,您可以直接将消息流部署到执行组上,而不需要构建 BAR 文件或更改透视图,并且部署结果同步地显示在一个新的 Deployment 日志中,这使您能够快速确定消息流已经部署并且按照预期工作。

图 2. Message Broker Toolkit,显示 Brokers view 和 Deployment Log
Message Broker Toolkit

Message Broker Toolkit 现在还包含一个 Impact Analysis 工具,它能够查出 Message Broker 工件之间的相互依赖关系,比如在重命名 ESQL 模块时的依赖关系。

此外,样例展示库、快速向导、BAR Editor、Graphical Mapping Tool 和 XPath Expression Builders 也进行了改进。

Message Broker Explorer

Message Broker Explorer 是为管理代理环境提供便利的新工具。它提供许多支持高级操作控制和监控的特性,非常适合全职的 Message Broker 管理员。作为 WebSphere MQ V7.0.1 Explorer 的插件,它为队列管理器和代理提供一个统一的管理控制台。此外,它的许多特性都适用于队列管理器和代理;例如,查看和管理远程系统的功能和对代理进行分组的功能:

图 3. Message Broker Explorer,Navigator 视图
WebSphere Message Broker Explorer

除了通过状态指示器和 QuickViews 提供重要信息概览之外,Message Broker Explorer 还可以显示大量关于每个代理的当前行为的细节。例如,Administration Queue 显示代理执行的管理任务的实时列表。如果多个人同时对代理进行配置,该队列将告诉您正在请求的配置更改(包括部署),以及哪个管理员有权删除特定的队列任务。队列的图标提供一个显示代理的当前管理负载的指示器,它能帮助您调度部署。

图 4. Administration Queue
Administration Queue

Administration Log 与 Administration Queue 相关,它记录代理最近的所有配置更改,包括谁在什么时候进行了什么操作,并且包括通过图形界面、命令行或 API 工具进行的更改,比如 “低级” 命令 mqsichangeproperties

图 5. Administration Log
Administration Log

管理员还可以查看实时的性能信息,包括消息流的性能(比如吞吐量)和代理资源的性能(比如 JVM)。要了解更多信息,请查看下面的 资源统计数据

Message Broker Explorer 还提供方便您修改和调优代理的工具。例如,这些工具允许您创建、修改和删除可配置服务,因此您可以定制代理所连接的端点,而不需要重新部署消息流。此外,您还可以将 WS-Security 处理转移到 DataPower Appliance,从而跨多个不同的系统有效地平衡工作负载。

模式

在 Message Broker 中,模式是解决经常重复发生的问题的解决方案,它们使您能够根据公认的 Message Broker 最佳实践快速创建良好的解决方案,从而减少错误。

图 6. Patterns Explorer
Patterns Explorer

以前的 Message Broker 开发是一个 “自下而上” 的流程,使用连接在一起的节点等低级组件来逐步创建完整的应用程序连接性解决方案。基于模式的开发是一种 “自上而下” 的方法,其中队列名或 WSDL 文档等高级应用程序参数被描述为用于构成解决方案的模式参数。

Message Broker V7 Toolkit 包含一个 Patterns Explorer,它允许您浏览可用的模式,以找到适用于当前问题的模式。通过将一组模式参数应用到一个模式实例中,您可以快速生成一组 Message Broker 工件,它们包含针对日志和错误处理等方面的通用算法。然后,您可以以常规的方式定制和部署这些工件。

要了解关于 Message Broker V7 中的模式支持的更多信息,请查看 developerWorks 文章 WebSphere Message Broker V7 中的模式简介

针对 SOA 的通用连接性

针对 WebSphere Process Server 的 SCA 节点

Message Broker V7 让应用程序连接性逻辑能够更方便地与 WebSphere Process Server 交互。通过一组新节点(共 5 个),业务流程可以调用消息流(使用 SCAInput 和 SCAReply),并且消息流可以以同步 (SCARequest) 或异步 (SCAAsyncRequest 和 SCAAsyncResponse) 的方式调用业务流程。这些节点允许 Message Broker 使用 Web 服务(借助 HTTP 的 SOAP)或 WebSphere MQ 绑定与宿主在 WebSphere Process Server 中的 SCA 端点交互。导入和导出描述业务流程的 SCDL 文件来加快开发,这种能力让实现变得更加容易。

图 7. 为 WebSphere Integration Developer 中的 WebSphere Process Server 创建业务流程
WebSphere Integration Developer

PHPCompute 节点

对 PHPCompute 节点的支持(Message Broker V6.1.0.3 中已提供预览)已经扩展为包括除 Solaris Opteron 之外的所有代理平台。这个节点允许您使用 PHP 语言的多功能消息转换逻辑,并与 JavaCompute、Compute, XSLTransform 和 Mapping 节点形成互补。这使您可以将大型 PHP 社区的技术和现有的 PHP 资产应用到 Message Broker。该节点的特长是允许您快速地编写连接性逻辑。该语言为查找和修改消息元素提供易于使用的语法,并且可以和许多 PHP 扩展库一起使用。

SAP、Siebel 和 PeopleSoft 改进

在 V6.1 中添加的 SAP、Siebel 和 PeopleSoft 节点使这些 Enterprise Information Systems 能够轻松地与企业的其他部分进行交互。Message Broker V7 改善了这些节点的可管理性 —— 例如,通过使用新的可配置服务属性(比如主机名、客户机 ID、用户 ID 和密码),您可以重新配置这些节点,不需要修改消息流和与它们交互的适配器组件。此外,这些节点支持递增式的定义发现,允许您轻松地向现有的部署添加新的定义。

添加了几个特定于 SAP 的特性,包括指定一个程序 ID 的功能(使不同的消息流能够不中断地处理多个 IDOC)、使用新的 SAPReply 节点支持 SCI,以及 BAPI 提交等待处理。

序列和反序列节点

Message Broker V7 中的新节点帮助确保在排序很关键的场景中正确地处理消息。序列节点让代理对消息应用序列号。反序列节点让消息以任意次序到达,但仅传播按照正确顺序排列的节点(该顺序可以由任意源确定,包括序列节点)。该节点带有全面的检测和处理功能,以避免丢失消息或存在重复消息。

图 8. Sequence 和 Resequence 节点
Sequence 和 Resequence 节点

节点包含许多用于应用和解析序列的选项,包括字面值、来自 XPath 谓词的表达式计算和特定时间长度内的序列。此外,对序列组的支持允许 Message Broker 并行地处理多个消息序列。

动态操作管理

审计和监控

自从在 V6.1.0.2 中添加审计和监控以来,它们就是 Message Broker 的重要关注领域。使用该功能,Message Broker 可以在消息经过它时发出事件,这通常在以下 3 个场景中使用:

  • 从消息提取与业务有关的信息,并在产品中(比如 WebSphere Business Monitor)整理和报告该消息
  • 从消息提取字段,并使用 WebSphere Business Events 等产品将字段输入到用于发现消息中的模式(例如,诈骗检测)的指定产品中
  • 为审计目的记录每条消息的负载,同时能够修改、重发或重播消息序列

现在,您可以使用 Message Broker Toolkit 或从命令行指定事件的发生时间和内容,从而让事件能够满足这些场景的需求。事件以一种使用发布模式的简单格式在已知的发布/订阅主题上发布。提供了一个消息驱动的 bean (MDB) 样例,它订阅这些事件并让它们在 WebSphere Business Monitor 实例中可用。

图 9. WebSphere Business Monitor
WebSphere Business Monitor

资源数据统计

Message Broker V7 为报告代理中的资源使用情况引入一个新的框架。这个框架帮助您即时了解代理的行为,并且可用于诊断问题和优化代理环境。资源数据统计框架基于该产品中已存在的审计和统计工具,它还让订阅者定期收到描述代理使用的资源的统计数据的消息,比如 JVM 和网络套接字。该框架完全支持 Message Broker Explorer,因此您可以启用或禁用资源统计数据,以及以图形的方式查看和报告当前的资源使用情况。

图 10. 资源统计数据
资源统计数据

多实例代理

WebSphere MQ V7.0.1 引入了多实例队列管理器的概念,它允许一个队列管理器的多个实例位于不同的机器上,从而提供高可用的 active/passive 配置。它将队列管理器的配置宿主在共享网络储存上,如果当前活动的队列管理器失败,将通过接管已停止队列管理器的配置来自动激活另一个实例。

Message Broker V7 通过该特性来添加多实例代理的概念。它的工作方式完全相同 —— 在网络储存上宿主代理的配置 —— 让代理像队列管理器一样具有高可用性。

该特性可以以两种方式之一和 WebSphere MQ 结合。每个代理实例可以启动为一个 MQ 服务,从而在队列管理器故障转移到备份代理时自动启动该代理。或者以半初始化的方式持续运行备份代理,等待相关联的备份队列管理器和共享代理配置变得可用。

如果您仅希望让代理或队列管理器高度可用,多实例可以减少管理第三方高可用性解决方案带来的开销,比如 HACMP。不过,多实例代理特性并不会使任何连接资源(比如数据库)具有高可用性,因此在这些场景中还需要其他能够提供高可用性的产品。

平台、环境和性能

V7 代理在大部分平台上都是 64 位的(包括 z/OS),但在 x86 硬件上的 Windows 和 Linux 除外,它们仍然使用 32 位。64 位支持增加的代理的可寻址储存,并且进一步降低了管理的复杂性。在创建执行组时,不再存在针对选择 32 位或 64 位处理器架构的双模式选项。

Message Broker V7 需要使用 WebSphere MQ V7.0.1,以利用 pub/sub、MQ Explorer 和多实例队列管理器等特性。此外,该代理还使用 Java 6 JVM。在许多场景中,64 位 IBM J9 引擎提供更好的 Java 性能,包括缩短启动时间和减少内存占用。

Message Broker V7 中的其他性能改进关注领域包括减少总体安装的内存占用和执行管理操作所需的时间,包括部署时间和连接工具的时间。

要了解更多关于硬件和软件需求的信息,请查看 WebSphere Message Broker 产品站点。要了解更多关于常见场景中的性能特征的信息,请查看 Message Broker 性能报告

迁移

支持直接从 Message Broker V6.0 和 V6.1 迁移到 Message Broker V7。V7 可以和先前的版本兼容,这意味着 V7 可以并行于现有的版本独立地运行,从而避免在迁移时需要额外的硬件。

可以将现有的消息流和相关的文件导入到 Message Broker V7 Toolkit 工作空间中并进行使用。保存在 V7 工具中的文件只能部署到 V7 代理中,而保存在 V6 工具中的文件只能部署到该版本的代理中。不过,未更改的 V6 BAR 文件可以部署到 V7 代理中。

您可以使用 mqsimigratecomponents 命令迁移代理,该命令将现有的本地代理迁移到 V7,并且保留其部署配置。该命令还可以回滚到已部署代理的先前版本,并使用它 迁移前的配置。您还可以通过创建映像代理环境和重新单独部署消息流来迁移代理。这种方法允许您逐个地迁移项目,尽管这可能要求客户端应用程序连接到带有不同连接特征的代理。

当代理被迁移到 V7 之后,V7 工具就可以直接管理它。如果您不再需要回滚代理的功能,那么可以在系统数据库不储存用户数据时删除它。当迁移了所有与 Configuration Manager 相关联的代理之后,就可以删除 Configuration Manager。

结束语

WebSphere Message Broker V7 是一个重要版本,本文介绍了它的一些主要改进:

  • 改善了针对新老用户的易用性:流线化所需的组件,比如删除 Configuration Manager 和系统数据库;添加 Message Broker Explorer 来增强管理员对代理环境的管理;并且引入了模式,为 Message Broker 用户节省时间。
  • 改进的连接性选项:实现与 WebSphere Process Server 紧密集成的 SCA 节点;与现有的转换选项形成互补的 PHPCompute 节点;针对打包应用程序(SAP、Siebel 和 PeopleSoft)的改进节点,它们拓宽了选择范围并方便了连接管理;以及增强对消息排序的控制的 Sequence/Resequence 节点。
  • 为有效的操作管理提供更好的信息和控制:为审计和监控发出事件;通过资源统计更好地理解代理行为;通过多实例代理实现高可用性。
  • 利用硬件和软件更新带来平台、环境和性能改进,更加准确地反映用户场景,以及迁移到 V7 的帮助。

本文仅介绍了 V7 中的一部分新特性。要查看完整的介绍,请在 WebSphere Message Broker Information Center 阅读主题 What's new in WebSphere Message Broker V7

参考资料

学习

获得产品和技术

讨论

  • WebSphere Message Broker 论坛
    寻找技术问题的答案并与其他 WebSphere Message Broker 用户分享您的经验。
  • WebSphere 论坛
    专门关注产品的论坛,您可以从这里寻找技术问题的答案并与其他 WebSphere 用户分享您的经验。
  • 与 WebSphere 有关的活动
    在全球范围内为 WebSphere 开发人员举办的会议、产品展示、网络广播和其他活动。
  • developerWorks 网络广播
    IBM 专家组织的免费技术会议,可以加速您的学习进度,并帮助您克服软件项目中的大多数难题。会议包括时长 1 小时的网络广播,以及在世界各个城市举办的半天和全天的实时会议。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, Web development
ArticleID=460804
ArticleTitle=WebSphere Message Broker V7 中的新特性
publish-date=03042010