内容


WebSphere Message Broker V6.1 中的新增功能

Comments

引言

IBM® WebSphere® Message Broker V6.1 是 IBM 推出的业界领先的集成产品,它是最近向市场提供新功能和改进性能的产品趋势的继续。本文描述 WebSphere Message Broker V6.1 中为架构师、消息流设计师和开发人员提供的主要增强功能。

WebSphere Message Broker V6.1 是什么?

WebSphere Message Broker 提供了一套完整的功能,您可以使用这些功能构建广泛的处理能力,范围从简单的消息切换到应用程序集成以及 Web 服务的最新技术。可以使用这些功能以传统方式或全新方式连接现有应用程序和数据源,从而为您带来极大的业务好处。WebSphere Message Broker 的核心价值包括:

通用连接性
该产品提供了简化应用程序连接性的工具,可让您实现灵活和动态的基础结构。尽管静态连接性相对比较容易实现,但构建动态结构较为复杂,除非有相应的工具,否则很难实现。WebSphere Message Broker V6.1 提供了这些工具。
任意格式之间的消息路由和转换
WebSphere Message Broker 可让您在一系列传输协议(如 MQ、JMS 1.1、HTTP(S)、Web 服务、文件或用户定义的协议)和数据格式(如二进制 (C/COBOL)、XML、行业标准(SWIFT、EDI)、用户定义的数据等)之间进行数据转换。不但可以执行此转换,而且还可以执行一系列不同方式的交互,如路由、过滤、转换、充实、监视、分发、分解和关联。
简单编程
WebSphere Message Broker 中的处理模式非常简单。它由消息流 组成,消息流描述应用程序的连接性。它们进而由消息节点 构成,消息节点封装所需的集成逻辑。节点中的处理在消息树 中操作,消息树以独立于格式和协议的方式描述数据。您可以在 WebSphere Message Broker 中使用各种转换选项(如图形映射、Java、ESQL、可扩展样式表 (XSLT) 和 WebSphere Transformation Extender)处理数据。
操作管理和性能
WebSphere Message Broker 为您构建的实现提供了大量的管理和系统管理工具。V6.1 中支持十个操作系统和硬件平台的组合,涵盖了所有主要的硬件和软件体系结构。性能是一项重要考虑事项,WebSphere Message Broker 的处理能力可以达到企业事务处理环境的典型速度,消息速率为每秒数百或数千条。

WebSphere Message Broker V6.1 中的新功能

本文的其余部分描述 WebSphere Message Broker V6.1 中的许多新功能和增强功能,主要分为以下几类:

  • 易于使用和工作效率
  • 增强的 SOA 支持
  • 管理和安全性
  • 扩展的连接性
  • 性能和平台覆盖范围
  • 其他改进

易于使用和工作效率

WebSphere Message Broker V6.1 开发的两个重要方面是为各种 Message Broker 用户角色中的用户改进了易用性和提高了工作效率。易用性和工作效率增强在以下部分中描述:

安装

此产品在 Windows® 和 Linux® 平台上作为单一 DVD 提供。除 z/OS® 之外,在所有平台上都提供了 InstallShield 多平台安装,在 z/OS 上它作为 SMP/E 控制的安装提供,这在该平台上为标准安装。为帮助您完成安装流程,还提供了快速启动和硬拷贝安装指南。

作为安装的一部分还提供了内置检查,以确保满足产品要求。对于开发和测试系统,唯一的先决条件是需要安装 WebSphere MQ V6 或更高版本。对于生产系统,您需要为代理运行时数据库添加一个受支持的数据库。对于开发和测试,可以使用 Derby 数据库。有关先决条件的详细信息,请参阅下面参考资料部分中的产品公开信。

在安装该产品之后,下一步通常是在移动到更高级的活动(如消息流开发和迁移)之前构建运行时环境和查看新功能(如果您是该产品的现有用户)。以下各部分介绍可帮助您入门的一些产品改进。

入门和产品示例

在产品安装完成之后,您可以启动 WebSphere Message Broker 工具包。您可通过它访问各种信息,如一些示例、Web 资源链接和文档。在启动工具包之后,您将看到欢迎屏幕,其中包括以下链接:

  • Get Started——提供诸如产品介绍、创建缺省配置和验证产品安装示例等条目的链接。
  • Samples——演示 WebSphere Message Broker V6.1 中的一些新功能。
  • Returning users——针对熟悉 WebSphere Message Broker 并希望学习新功能的用户。
  • Web resources——提供一些主题链接,如教育、产品扩展、社区、技术资源和最佳实践。

如果希望在任何位置返回到欢迎屏幕,请在工具包的菜单栏上选择 Help => Welcome

对于熟悉该产品的用户,一个很好的起点是 Returning Users 部分,接着是导入和执行一个或多个产品示例。

示例集可以通过在欢迎页上选择 Samples 或在工具包菜单栏上选择 Help => Samples Gallery 进行访问。产品示例提供了一种观察实际应用中的新功能的极好方法。在具备缺省配置之后,可以将一个示例导入 WebSphere Message Broker 工具包,部署到一个正在运行的代理并在数分钟内执行,而且无需进行任何编码。每个示例都附带相关描述,介绍该示例演示的内容、其上下文、如何运行该示例以及用来运行的示例数据。

WebSphere Message Broker V6.1 向示例库集合中添加了许多新示例,范围涵盖文件处理、Web 服务、仅新配置节点和安全性等区域。

提供了两种类型的示例:应用程序示例和技术示例。应用程序示例旨在显示一个或多个组件交互,而技术示例则是基于代码的更详细的示例,旨在演示特定功能的使用。

要访问应用程序示例,请选择 Application Samples,然后展开 Message Broker 框以显示 WebSphere Message Broker 应用程序示例。

要访问技术示例,请选择 Technology Samples,然后展开 Message Broker 框以显示 WebSphere Message Broker 技术示例。

您可以阅读这些示例,而不执行该产品的任何其他配置。如果希望运行这些示例,则需要创建包含 Configuration Manager 的代理运行时环境,一个代理实例和至少一个用于 Configuration Manager 的队列管理器和要使用的代理实例。通过使用随工具包一起提供的缺省配置向导可以轻松完成此操作。

调用缺省配置向导:

  • 查看 WebSphere Message Broker 工具包的欢迎页(这是在首次启动 WebSphere Message Broker 工具包时显示的第一个屏幕)。
  • 在欢迎页上选择 Get Started 选项。
  • 选择 Create the Default Configuration 选项。
  • 选择 Start the Default Configuration 向导链接,该链接显示在启动的新屏幕的右面板上。

缺省配置向导应在数分钟内完成。在完成之后,将创建一个 Configuration Manager 和代理,并且工具包将连接到 Configuration Manager。在 WebSphere Message Broker 工具包的 Broker Administration 视图中,您将能够在底部的左侧窗格中看到 Configuration Manager 和代理的状态。

在工具包的不同平台上创建 Configuration Manager 和代理需要手动干预以及产品特征和命令的其他知识。因此,最好使用缺省配置向导在安装 WebSphere Message Broker 工具包的同一计算机上构建初始配置。在熟悉该产品之后,可以更方便地扩大范围并跨任何支持的 WebSphere Message Broker 平台进行工作。

在运行配置就绪之后,您可以使用指向和单击处理导入和运行随该产品提供的任何示例。

使用 WebSphere Message Broker V6.1 进行的测试表明,普通用户可以在一个小时内安装该产品、创建缺省配置,然后导入和运行示例。

为这些示例提供了消息流源,并且可以方便地用来探索 WebSphere Message Broker V6.1 的许多功能。

迁移

刚讨论了安装和示例的重要性,接着就谈论迁移好像有些太突然,但对于该产品的老用户而言,产品迁移过程可能会排在后续活动列表的前几步中。

与 WebSphere Message Broker V6.0 相同,通过该产品提供的共存功能,迁移过程与更早版本相比得到了明显简化。可以在安装 WebSphere Message Broker V6.0 和 WebSphere Business Integration Message Broker V5 的同一台计算机上安装和激活 WebSphere Message Broker V6.1。这样可以采取增量迁移方法,而不是采用“大爆炸”方法。

我们提供了一个执行迁移的命令,可以将 WebSphere Business Integration Event Broker V5、WebSphere Business Integration Message Broker V5、WebSphere Event Broker V6.0 和 WebSphere Message Broker V6.0 迁移到 WebSphere Message Broker V6.1 运行时组件。如果需要,还可以使用一个命令将迁移回滚到您选择的以前级别。

可以将该产品以前的 V5 或 V6 版本中的消息流、消息集、ESQL、Java™、映射和 XSLT 用于 WebSphere Message Broker V6 工具包,而无需更改源。在将构件导入工具包时,将自动完成产品迁移所需的更改。但是,如果还原安装,则无法将任何升级的构件(如消息流或消息集)导入该工具包的以前版本。

功能强大、易于使用的工具

与以前的版本相同,WebSphere Message Broker V6.1 继续提供更方便和更快速地开发消息流的新功能。

此类功能的示例是一些处理诸如配置组件之类任务的向导,例如在将 WSDL 拖动到代理应用程序视图消息流开发画布上时创建企业信息系统 (EIS) 适配器和骨架消息流。

类似地,有许多新节点被自定义为通过配置来使用而不是通过编程来使用,在以前版本中一般通过编程方式来使用。这样可以更快、更容易地使用这些节点。这些新节点的示例有:RouteDatabaseRouteDatabaseRetrieve 处理节点,如下面图 1 所示:

  • Route 节点可用于指导满足特定条件的消息沿着消息流的不同路径传递。节点中指定的条件可以使用 ESQL 引用或 XPath 表达式。
  • DatabaseRoute 节点可用于路由消息,方法是结合使用数据库中的信息和 XPath 表达式。
  • DatabaseRetrieve 节点可用于修改消息,方法是使用从数据库中获得的信息并通过在处理节点中指定 XPath 表达式。例如,您可以使用消息中包含的密钥向消息添加信息;该密钥可以是一个帐号。
图 1. Route、DatabaseRoute 和 DatabaseRetrieve 节点
图 1. Route、DatabaseRoute 和 DatabaseRetrieve 节点
图 1. Route、DatabaseRoute 和 DatabaseRetrieve 节点

新的配置驱动的节点显示在开发视图调色上现有节点的旁边。它们以与现有节点相同的方式连接到消息流。节点的自定义是通过创建 XPath 表达式获得的,该表达式将在运行时调用节点时执行。还提供了一个向导帮助您构建表达式。该向导允许您选择消息树的元素、运算符和数据值。您可以添加消息树的新数据类型或元素,以便在表达式中使用。除此之外,这些处理节点还支持在消息流开发过程中向处理动态添加终端。

还提供了许多其他节点。示例有 SOAP 处理节点和名为

EmailOutput 的新节点,这使得消息流可以通过连接命名的 SMTP 服务器生成电子邮件。这可用于向操作员发出警报,例如,告诉操作员在消息流执行过程中出现了特定的情况。

为了能够更容易地编码高级触发场景(包括事件处理),添加了一个新的配置驱动的处理节点,即 Collector 节点。可以将 Collector 节点视为一个高级触发机制。它明显简化了可以使用的消息集合的易用性(其他方法使用 JavaCompute 创建集合)。简言之,消息集合是生成单一消息,该单一消息可能从一个或多个源的多个消息派生。包含多个源消息的这个单一消息称为消息集合

例如,如果需要从三个不同的源提取、合并和转换信息(例如组合文件和队列),则可能用到 Collector 节点。来自这些不同源的消息可能在不同的时间到达输入终端,而且不知道该消息的顺序。集合是通过为每个输入终端配置事件处理程序进行定义的。每个事件处理程序根据以下属性控制是否接受进入集合的消息:

  • 消息数量
  • 在固定的时间段收集消息
  • 匹配关联路径的内容
  • 匹配关联模式的内容

关联属性允许根据消息的内容生成集合。内容使用 XPath 表达式指定。Collector 节点可以确保每个集合在所有输入中都包含一个相同的关联字符串。

当满足事件处理程序为消息集合设置的条件时,消息集合完成,并可以用于传播。

对于使用映射节点的人员而言,由于能够直接从映射调用 Java,因此提高了节点的重用性。

消息流的测试是整个开发过程中的重要部分。WebSphere Message Broker V6.1 中的增强功能可以在该领域中为您提供帮助。测试客户机是随 WebSphere Message Broker 工具包一起提供的一种工具,它为您提供用于管理和控制消息流测试的工具。它通过诸如单击启动测试功能简化了测试的执行,支持 HTTP 传输和为测试和数据池自动生成 XML 文档,以便保存测试数据供日后重用。该客户机还将显示测试执行的状态和历史记录。下面的图 2 显示了协作请求响应示例的测试客户机屏幕。

图 2. 用于运行协作请求响应示例的测试客户机
图 2. 用于运行协作请求响应示例的测试客户机
图 2. 用于运行协作请求响应示例的测试客户机

开发中的另一个重要方面是错误处理过程,WebSphere Message Broker V6.1 中的调试支持功能得到了明显改变。调试工具现在基于 Java 调试协议的使用。WebSphere Message Broker 工具包中提供了调试视图,您可以通过该视图执行以下操作:

  • 查询当前部署流的流运行时引擎
  • 从流调试器中分离流运行时引擎
  • 恢复流执行
  • 运行到终止
  • 跨越节点
  • 进入或离开子流
  • 跨越、进入或离开源代码

这允许您以交互方式调试消息、ESQL(在 Compute、Filter 或 Database 节点中)、Java 和使用映射节点创建的映射。下面的图 3 显示了正在调试的消息流示例。

图 3. 使用 WebSphere Message Broker V6.1 中的新调试工具调试的消息流
图 3. 使用 WebSphere Message Broker V6.1 中的新调试工具调试的消息流
图 3. 使用 WebSphere Message Broker V6.1 中的新调试工具调试的消息流

在调试视图中,您可以看到所选主机的部署消息流的详细信息,并看到包括消息内容的变量和正在调试的消息流。

增强的 SOA 支持

随着公司寻求通过重用软件组件重新设计现有 IT 系统以提供更大的灵活性和降低成本,各公司越来越普遍地采用面向服务的体系结构 (SOA)。与 SOA 密切相关的是使用可以实现 SOA 移植的 Web 服务作为关键技术。WebSphere Message Broker V6.1 在通常情况下有力支持 SOA 并通过以下方式特别支持 Web 服务:

  • 本地支持 WS-Security 和 WS-Addressing 标准
  • 与 DataPower SOA appliance for WS-Security 集成
  • Registry and Repository 支持的集成和增强

本地支持 WS-Security 和 WS-Addressing 标准

WebSphere Message Broker V6.1 以新节点和新解析器的形式使用全新功能支持即时可用的 WS-Security 和 WS-Addressing。在 WebSphere Message Broker V6.1 中提供了节点SOAPInput、SOAPReply、SOAPRequest、SOAPAsyncRequest、SOAPAsyncResponse、SOAPEnvelopeSOAPExtract。现在支持名为 SOAP 的新域。还随之提供一个解析器以支持消息的解析和写入。

对于 WS-Addressing,同时支持端点引用和消息寻址属性。

对于 WS-Security 身份验证,支持加密和签名。对于身份验证,WebSphere Message Broker 将接受用户名、用户名和密码或 X509 证书。对于加密,支持全面加密和签名算法(来自 JSSE/JCE)。此支持的配置是通过使用策略集实现的,策略集是与 WebSphere Application Server 共享的常见技术。提供的策略集编辑器可以声明 WS-Security 功能。

提供的技术可以构建 Web 服务提供者和 Web 服务使用者消息流。您可以进行选择。

在构建 Web 服务提供者处理功能时,将使用 SOAPInputSOAPReply 节点。对于 Web 服务使用者角色,同时支持调用的同步和异步模式。同步处理通过使用 SOAPRequest 节点实现,对异步处理的支持通过使用 SOAPAsyncRequestSOAPAsyncResponse 节点实现。

SOAPExtractSOAPEnvelope 节点包括在处理节点的产品中(以前在 SupportPac IA9O 中)。这些节点简化了 SOAP 负载和标头的处理。这是又一个可以减少消息流开发时间的示例。

在公司寻求跨广泛的软件组件进行集成时,符合业界标准非常重要。WebSphere Message Broker V6.1 支持以下 Web 服务相关标准:SOAP 1.1/1.2、WSDL 1.1(可以根据 WS-I Basic Profile Version 1.1 进行验证)、MTOM/XOP、带符合 Basic Profile 1.1 的附件的 SOAP、WS-Addressing 和 WS-Security。

此新的 Web 服务支持的关键部分是新的 SOAP 解析器。它创建 SOAP 消息的新子树结构,因此允许您以方便和熟悉的方式访问 SOAP 消息的关键部分。SOAP 解析器是模型驱动的,因此您必须提供 WSDL 1.1 定义来描述 SOAP 域将在运行时解析和写入的 Web 服务消息。解析器能够应对多个位流格式,如 SOAP 1.1 或 SOAP 1.2,也可以将其包装为带附件的 SOAP 或 MTOM 消息。

通过添加新功能来支持拖放骨架消息流的创建和配置,从而简化了 Web 服务消息流开发。只需将 WSDL 拖到 WebSphere Message Broker 应用程序开发画布即可为您创建一个骨架消息。

与往常一样,WebSphere Message Broker 的性能是重要考虑事项,而且每次执行还需要提供可伸缩性和弹性实现,可以将代理配置为让多个执行组承载 SOAP 处理。SOAP 消息的侦听器在执行组级别实现。

现有 HTTP 支持未改变。

支持新的 SOAP 消息处理所需的许多产品代码都通过重新使用 AXIS2 代码的 IBM 实现(名为 AXIS2J)获得。这些代码由其他 IBM 产品(如 WebSphere Application Server)使用,因此可以方便地提供跨产品的一致性。

与 WebSphere DataPower SOA Appliance for WS-Security 集成

在某些情况下,卸载某些类型的大量占用 CPU 的处理(如安全加密和解密)和专门化处理引擎(如 WebSphere DataPower SOA Appliance)可能会有好处。它加强了安全和篡改防护,并对敏感处理添加了附加安全性和完整性。

通过其形式因素,DataPower SOA Appliance 便于部署到网络拓扑中特定的点。而且,通过添加其他设备,还便于提高处理能力。除了我们刚才讨论的密码加密和加密处理外,DataPower SOA Appliance 还能够通过诸如 XML 线程保护等功能改进网络的完整性和管理,并能够通过使用诸如 WSDM 和 WS-Man 的策略管理通信。

在 2007 年 6 月,WebSphere Message Broker 提供了一项功能,即使用提供的名为 DataPower Security Wizard 的向导在 WebSphere Message Broker Explorer 中配置 DataPower SOA Appliance。该功能作为 SupportPac IS02 的一部分提供,并受 WebSphere Message Broker Development 的支持。该功能也受 WebSphere Message Broker V6.1 支持。

DataPower 安全向导使您能够完整配置外部 DataPower SOA Appliance,以处理您的消息流中 HTTP(S)Input 节点的 WS-Security 策略。在完成向导后,DataPower 框将能够解密传入消息流的消息和加密从消息流传出的消息。对代理消息流和代理配置没有进行任何更改。对您的客户机唯一的更改是将其消息直接发送到您指定的 Client 端口上的 DataPower 设备。

当需要执行的 WS-Security 处理量很少时,您可能愿意使用 WebSphere Message Broker V6.1 内置的 WS-Security 功能。如果该处理量增加,您可能认为使用一个或多个 DataPower SOA Appliance 执行处理更为合适。

Registry and Repository 支持的集成和增强

在部署 SOA 时,公司需要处理的一个关键问题是对应用程序和服务的管理。该问题的核心部分是控制可以调用的应用程序或端点。同一应用程序可能有多个可用形式,您可能需要控制在特定情形中使用哪个应用程序。决定应调用哪个应用程序是一个管理问题,并要求使用其他工具才能通过协调和有效的方式完成。

IBM WebSphere® Service Registry and Repository(以下称为 Registry and Repository)是一种 IBM 产品,用于存储、访问和管理信息(通常是指服务元数据),这些信息在成功的 SOA 中用于选择、调用、治理、控制和重用服务。WebSphere Message Broker V6.1 通过名为 EndPointLooukp 节点和 RegistryLookup 节点的两个处理节点对 Registry and Repository 提供集成的支持。支持访问开放的受保护的 Registry and Repository 实现。

EndpointLookup 节点检索与 Registry and Repository 服务(例如 WSDL)相关的服务端点信息。EndpointLookup 节点独立于任何其他域上下文,并且支持目前限于查询 Web 服务的端点。EndpointLookup 节点提供查询接口,使您能够选择单个或所有端点,并设置环境参数,使 Web 服务调用节点将请求提交到所选择服务。可以动态配置发送到 Registry and Repository 的查询,因此提供了更大的灵活性,并允许您根据环境的特定设置调整服务调用。

RegistryLookup 节点允许您访问驻留在 Registry and Repository 中的元数据。因此,根据 Registry and Repository 系统中存储的内容,您将能够检索不同的资源。一个用例是使用 RegistryLookup 节点检索随后在消息流中使用的 XSLT。而且,可以动态配置发送到 Registry and Repository 的查询,因此提供了更大的灵活性,并允许您根据环境的特定设置调整服务调用。

管理和安全性

自 WebSphere Message Broker V6.0 以来,管理和安全性处理方面已发生明显改变。

管理

WebSphere Message Broker Explorer (SupportPac IS02) 是一个完全受支持的工具,与独立环境中使用的 WebSphere MQ 网络或 WMQ 工具一起提供管理 WebSphere Message Broker 网络的能力。

Broker Explorer 是一个操作工具。例如,它不支持 WebSphere Message Broker 消息流开发。Broker Explorer 具有许多其他功能,超过 WebSphere Message Broker 工具包的管理视图中提供的功能,并指出了 WebSphere Message Broker 中管理工具的未来方向。您不应将目前的 Broker Explorer 功能视为未来工具支持的最后定论。IBM 的计划会随时改变,可能在不事先通知的情况下添加或删除某些功能。

在 WebSphere Message Broker V6.0 的生命周期中,对 Broker Explorer 提供了许多明显增强功能,现在它可以执行许多管理功能,例如:

  • 显示本地和远程代理。
  • 不使用命令行就可以创建和删除本地代理。
  • 启动、停止、创建和删除代理、执行组和消息流。
  • 使用可选的 WebSphere MQ 安全性连接到本地和远程 Configuration Manager。
  • 在单步操作中将代理存档 (bar) 文件部署到多个执行组。
  • 在执行组、消息流、处理节点和线程级别检索并在图表和表格中显示 WebSphere Message Broker 帐目和统计信息。
  • 为 WebSphere Message Broker 消息流配置 DataPower SOA Appliance 以处理 WS 安全性。

请参阅参考资料,以了解在何处找到 WebSphere Message Broker Explorer 的详细信息。

安全性

在运行时安全支持方面已进行了明显改变,这意味着 WebSphere Message Broker 现在可以完全参与企业范围的标识、身份验证和授权处理。WebSphere Message Broker 现在可用作 ESB 安全的策略执行点 (PEP)。它还支持多个策略决策点 (PDP) 技术(包括 LDAP 和 TFIM),以便为 SOAP、MQ 和 HTTP 传输协议强制执行 ESB 安全。

新功能包括运行时安全管理器。这允许您使用消息的标识按每个消息控制对消息流的访问。使用外部安全提供程序,该代理可以:

  • 在使用 MQ、HTTP 或 Web 服务传输时,从入站消息中提取并验证标识。
  • 将标识映射到替代标识。
  • 检查替代标识或原始标识是否已被授权访问消息流。
  • 在使用 MQ、HTTP 或 Web 服务传输时,使用出站消息传播替代标识或原始标识。

对于身份验证和授权检查,需要提供安全令牌。支持的类型为用户名、用户名+密码或 X509 证书。所需的令牌信息可以从缺省位置获取(如 WebSphere MQ 消息的 MQMD 的 MQMD.UserIdentifier 字段)或从消息流开发人员指定的自定义位置获取。

可配置服务

WebSphere Message Broker 现在支持名为 Configurable Services 的组件。可配置服务是一个包含代理外部资源的资源定义的对象。支持的可配置服务有:

  • JMSProviders
  • JDBCProviders
  • SecurityProfiles
  • FtpServer

可配置服务的值是不需要使用提供的命令重新部署 BAR 文件即可修改的操作参数。

作为此类可以更改的参数的一个示例,考虑能够针对安全概要而更改的值。这在下面列出。

  • authentication = {NONE, LDAP, TFIM}
  • authenticationConfig = string
  • mapping = {NONE, TFIM}
  • mappingConfig = string
  • authorization = {NONE, LDAP, TFIM}
  • authorizationConfig = string
  • propagation = {TRUE, FALSE}
  • passwordValue = {PLAIN, MASK, OBFUSCATE}

代理存档文件处理

已对代理存档 (BAR) 文件处理进行了扩展,另外添加了两个新命令。新命令提供一个工具,用来报告和更改 BAR 文件的可配置属性。您可能还记得,BAR 文件的可配置属性允许管理员更新依赖于目标的属性,如队列名称、队列管理器名称和数据库连接,而不需要更改消息流源。

mqsireadbar 命令允许您显示命名的 BAR 文件的所有可配置属性。

第二个命令 mqsiapplybaroverride 提供了一种工具,您可以通过该工具,使用在命名属性文件中指定的新值或在命令执行中作为参数指定的一系列 property-name=override 值替换代理存档 (BAR) 部署描述符中的可配置值。

采用代理功能

在以前的 WebSphere Message Broker 版本中,如果代理在其 Configuration Manager 中变为孤立代理,则不可能将其连接到新的 Configuration Manager。在 WebSphere Message Broker V6.1 中,已经消除了此限制。现在可以将现有代理与特定的 Configuration Manager 关联。一个代理一次只能与一个配置管理器关联,不建议使用此方法,建议采用代理工具通过仅更改关联的配置管理器将一个代理从开发环境一直迁移到生产环境。

要采用代理,请使用 TopologyProxy 类 (TopologyProxy.adoptBroker()) 的 adoptBroker 方法。此方法要求新配置管理器接管以前由其他配置管理器管理的代理。这里您可以使用 Configuration Manager Proxy (CMP) API Exerciser 示例作为指南。在通过此方式采用代理时,运行时代理中的状态将取代配置管理器中的任何信息。

设置和报告代理属性

mqsichangepropertiesmqsireportproperties 命令已得到扩展,以适应 WebSphere Message Broker V6.1 中添加的新工具。例如,现在可以为可配置服务设置值,例如安全概要或与新文件节点一起使用的 FTP 服务器。

扩展的连接性

能够连接到不同数据源和处理不同数据格式和协议是 WebSphere Message Broker 的关键部分。通用连接性任意格式之间的消息路由和转换是在引言中讨论的 WebSphere Message Broker 的两个关键主题。WebSphere Message Broker V6.1 通过添加以下各项对现有功能进行了显著增强:

  • 用于企业信息系统 (EIS) 访问的内置节点:支持 SAP、Siebel 和 PeopleSoft
  • 本机支持大型文件处理,包括 FTP 到远程 FTP 服务器,反之亦然。
  • 新的 Email 节点
  • WebSphere Transformation Extender 集成包括启动程序功能

EIS 访问

WebSphere Message Broker V6.1 使用 WebSphere Message Broker 处理节点提供与 SAP、PeopleSoft 和 Siebel EIS 的直接双向通信,这作为该产品的一部分提供。以前,您需要使用单独的 WebSphere Business Integration® 适配器(以下称为 WBI 适配器)来获得此类连接。

WBI 适配器与所需的 EIS 系统通信并生成一个包含 XML 格式数据的 WebSphere MQ 消息。然后一个消息流读取该消息并开始所需的处理。适配器的管理从 WebSphere Message Broker 所需的适配器中分离出来,因此增加了解决方案的复杂性。

相反,新适配器支持将 WebSphere Adapters 的 V6.1 版本与 WebSphere Message Broker V6.1 打包在一起,使开发和运行时支持以与 WebSphere Message Broker 的其他部分相同的方式管理。

与以前的 WBI 适配器支持相比,此新适配器支持具有以下优点:

  • 提高了易用性——降低了应用程序开发工作的难度
  • 去除了外部组件 WBI 适配器本身,更便于管理。
  • 取消了中间的 XML 消息格式,意味着改进了运行时性能。数据现在从 EIS 直接移动到消息树。这意味着不需要序列化和解析中间 XML 消息。

提供了特定于每个 EIS 的处理节点:

  • 对于 SAP,SAPInput 节点从 SAP 接收数据并将其传入 WebSphere Message Broker。SAPRequest 节点允许将数据从 WebSphere Message Broker 发送到 SAP。
  • 对于 Siebel,SiebelInput 节点从 Siebel 接收数据并将其传入 WebSphere Message Broker。SiebelRequest 节点允许将数据从 WebSphere Message Broker 发送到 Siebel。
  • 对于 PeopleSoft,PeopleSoftInput 节点从 PeopleSoft 接收数据并将其传入 WebSphere Message Broker。PeopleSoftRequest 节点允许将数据从 WebSphere Message Broker 发送到 Siebel。

提供的配置向导可以帮助您执行适配器的配置。

作为 WebSphere Message Broker V6.1 的一部分提供了一个名为 Twineball 的 EIS 示例实现,这样您可以体验使用新适配器支持,而无需连接到 SAP、Siebel 或 PeopleSoft 系统。

尽管 WebSphere Adapter V6.1 随 WebSphere Message Broker V6.1 一起提供,但它仍需要一个单独的许可证。

本机文件处理

尽管出现消息处理并在可靠性、可伸缩性和管理性方面有很大优势,但基于文件的处理依然受到欢迎。为满足文件处理的要求,已向 WebSphere Message Broker V6.1 添加了 FileInput 和 FileOutput 处理节点。处理节点可以与 WebSphere Message Broker V6.1 提供的其他任何处理节点结合在一起,因此它可以方便地执行以下处理模式:

  • 文件到队列
  • 队列到文件
  • 文件到文件
  • 文件到数据库

使用新节点,可以将重点放在文件处理上,而不是托管的文件传输。这些节点在所有代理运行时平台上都受支持。通过新节点和嵌入式 FTP 支持,您可以处理代理实例的本地和远程文件。

作为文件处理的增添部分,已对 WebSphere Message Broker 提供的现有消息解析器进行了扩展,添加了所谓的流解析。这实质上是一种技术,通过该技术可以将部分记录或文件读取到 WebSphere Message Broker 并进行处理。这意味着不必将整个文件读取到内存中才能着手处理文件。这使得 WebSphere Message Broker 可以轻松地处理千兆字节的超大型文件。

FileInput 节点提供了综合记录检测工具。可以使用简单的分隔策略,如按换行 (LF)、行尾 (EOL)、回车换行 (CRLF)、固定长度、整个文件或用户定义的方式进行分隔。另外,您还可以利用更复杂的分隔技术,使用消息解析器确定输入文件的记录的结束。解析器会将其输入视为文件的现有消息定义和数据的序列。

还支持文件名模式。例如,您可以指定一个 *.TXT 模式,在此情况下,将仅处理带 TXT 后缀的文件。具有其他后缀的文件将原封不动。

例如,由于文件系统不是事务型的,因此不支持按永久性 WebSphere MQ 消息的方式进行文件的事务处理,但支持恢复处理。有一个可配置的重试机制,该机制允许选择不同级别的重试和发现处理。这包括将处理的文件移动到存档目录,并将部分处理的文件移动到撤销目录。

性能和平台覆盖范围

打包

从 V6.1 开始,WebSphere Event Broker 将不再作为单独的产品提供。WebSphere Event Broker 侧重于通过基于高性能内容和主题的发布/订阅消息路由分配来自异类源的实时信息。此功能是 WebSphere Message Broker 的一部分,它始终是 WebSphere Event Broker 的超集。现有 WebSphere Event Broker V6.0 客户有资格获得 WebSphere Message Broker V6.1。

将来,WebSphere Message Broker with Rules and Formatter Extension 仅对现有客户提供。

平台覆盖范围

WebSphere Message Broker 的平台覆盖范围已得到扩展。V6.1 中支持以下平台:AIX、HP-UX(PA-RISC、Itanium)、Linux on Intel、Linux on Power、Linux on zSeries、Solaris(x86-64 和 SPARC)、Windows 和 z/OS。只要可能,将在所有平台上始终提供新功能,具体取决于个别平台的约束。

64 位扩展组

在 WebSphere Message Broker 的生命周期中,它处理的消息大小已有很大的增长。最初,大多数处理工具仅处理数千字节的少量消息。现在,处理数十兆字节的 WebSphere MQ 消息很常见,有些客户则处理 100 MB 的消息。新文件节点允许处理大小为千兆字节的文件。由于处理更多的数据,因此会对执行组中的可寻址虚拟存储量带来更多问题。为解决此问题,WebSphere Message Broker 在以前版本中引入了 64 位词的执行组。在此最新版本中加速使用 64 位执行组。所有 Linux 和 UNIX 平台现在都有 64 位执行组,同时 64 位已成为这些平台上的缺省执行组类型。HP Itanium、Solaris Opteron、Linux pSeries 和 Linux zSeries 平台现在仅支持 64 位执行组。

在 Linux 和 UNIX 平台上,所有 WebSphere Message Broker 命令都支持 64 位。当前对 64 位支持有一些例外。Windows 目前继续使用 32 位。在 z/OS 上仅支持 31 位执行组。

Java

随 WebSphere Message Broker一起提供的 Java 版本现在在所有平台上已升级到 Java 5。

性能

性能依然是 WebSphere Message Broker 的关注重点,V6.1 在所有平台上提供了显著的运行时性能改进。对于 WebSphere Message Broker V6.0,不需要更改现有消息流以获得改进的性能。对于改为使用新功能(如 XMLNSC 域中的新 XML 模式验证)的用户,还提供了进一步改进。

下面列出了一些主要性能改进。性能改进的详细信息在 WebSphere Message Broker V6.1 性能报告中提供。请参阅该其他信息以获得该报告的链接。

  • XMLNSC 解析器
    • 在处理更复杂的 XML 文档时可提供高达 150% 的改进
    • XML 验证性能。在验证 XML 文档时可提供高达 300% 的性能改进
  • 降低了运行时存储要求
    • 虚拟内存要求最多可以减少 30%
  • 安装和运行示例所需的时间只有 WebSphere Message Broker V6.0 所用时间的 50%
  • 以最小的存储增长处理千兆字节的文件

其他改进

解析器改进

对 WebSphere Message Broker 最新版本中的消息解析器进行了许多改进,扩展了功能和改进了性能。

XMLNSC 域解析器现在使用 IBM Research Technology 开发的新的高性能 XML 解析器,这是 IBM 所独有的。此解析器与以前的 XML 解析器完全兼容。它提供了改进的性能,特别是对于 XML 模式 1.0 验证。这是一项新功能,它超出了该产品以前版本的 MRM XML 中提供的验证级别。

WebSphere Message Broker Development 的性能测试显示,使用新解析器的模式验证与使用 MRM XML 验证相比性能大约提高 300%。

XMLNSC 域的进一步性能改进是增加了不透明解析。不透明解析是一种技术,通过该技术可以最低限度地处理 XML 文档中的元素。快速扫描命名元素,确保它们的格式正确,但没有将它们添加到消息树,因此节省了运行时的处理成本,这是因为不必解析元素或将它们插入消息树。不透明解析的元素必须在消息流的输入节点的解析器选项选项卡上命名。MQInput、MQGET、JMSInput 和 HTTPInput 节点都支持定义不透明解析。

为改进对非 XML 消息格式的支持,已向 MRM 域添加了多个功能。通过添加广泛的二进制数据类型并在标记和数据模式中允许使用十六进制,扩展了标签/分隔字符串 (TDS) 物理格式,以便在消息中同时支持二进制和文本数据字段、二进制和文本标记。现在使用 TDS 更容易建模逗号分隔值 (CSV) 消息,因为允许使用引号作为转义模式,一个重复字段的发生次数可以由消息中提前设置的计数字段提供,可以将 TDS 属性设置为面向 CSV 的缺省值,方法是只需将 TDS 设置为“消息标准”属性,简单的 CSV 消息的预构建模型在该工具包中提供。为使用这些新功能,还更新了 CSV 示例。最后,在输出消息时,TDS 和自定义有线格式 (CWF) 允许自动截断过大的固定长度字符串字段。

通过 WebSphere MQ Link for R/3 而不是使用 WebSphere Adapter 处理从 SAP 导出的文本形式的 IDoc 得到了改进。MRM 域的新功能意味着应使用 MRM 解析器 TDS 格式解析和写入文件 Idoc,而不是 IDOC 域。工具包中的 C 输入器已使用 IDoc 友好功能进行了增强,这意味着不再需要使用 SupportPac IA0F 预处理和后处理 IDoc 元数据。对于从 SAP 导出到文件系统的文本形式的 IDoc,现在已提供了支持。文本 IDoc 的两种形式的预构建模型已在工具包中提供。

在 WebSphere Message Broker V6.0 中,消息集中不能包含具有相同给定名称的多个消息,即使这些消息处于不同的命名空间。在 V6.1 放宽了此限制。

问题确定

当然我们希望一直不需要错误消息,但在需要时,错误消息的内容清楚非常重要。因此,澄清和简化了许多 BIPxxxx 产品消息。

为进一步帮助确定问题,现在使用用户跟踪解释消息树读取和写入过程。

使用消息流的其他实例

消息流使用的其他实例数在 BAR 文件中指定,并应用于该 BAR 文件中的消息流。当多个消息流或一个消息流有多个输入节点时,分配到输入节点或消息流的其他实例没有确定性。在某些情形中,这可能导致线程供应严重不足,其中具有最深队列和最快执行时间的消息流执行路径可能会控制线程的使用,导致其他消息流执行路径的线程短缺。在某些情形中,如使用消息聚合时,这可能导致明显的问题并导致处理明显挂起一段时间。为了克服此问题,现在可以在输入节点级别指定一个附加实例池。这使您能够保证每个输入节点需要最少的线程。以前附加的实例以先来先服务为基础可以在输入节点之间共享。

跟踪节点的开销

为了能够跟踪消息流中的消息处理,许多消息开发人员的常用做法是在消息流执行线中添加跟踪节点。在 WebSphere Message Broker 的早期版本中,这些节点需要从生产中移除,在许多情形下,带有节点的处理由于成本太高而无法承受,即使关闭跟踪输出也如此。这通常会导致一些额外工作,这是因为在移除节点后消息流就发生了更改,因此必须重新测试。在 WebSphere Message Broker V6.1 中,如果禁用了跟踪节点,则省去了此处理开销,这意味着跟踪节点现在可以内嵌在消息流中,并仅在需要时启用。这意味着您不需要再更改消息流,通过删除跟踪节点来省去开销。这有助于提高工作效率,减少额外的测试工作。当然,您需要记住禁用跟踪节点。

有三种方法支持关闭跟踪节点。它们是使用 WebSphere Message Broker 工具包、mqsichangetrace 命令和 Configuration Manager Proxy API。

浏览 MQ 消息

在 WebSphere Message Broker 的以前版本中,MQInput 和 MQGet 处理节点可以使用 WebSphere MQ 消息,从而导致从队列中删除该消息。这与节点发出的 MQGET API 调用的语义一致,但它不是每个应用程序始终所需的。在某些情况下,仅需要浏览消息的内容。由于不支持浏览 WebSphere MQ 消息,这意味着消息流必须使用该消息,然后使用数据写入新消息(如果相同的数据继续可用)。现在已经消除此限制,并且支持 MQInput 和 MQGet 节点通过节点上提供的 Browse only 新选项浏览 WebSphere MQ 消息。

XSL 转换节点改进

使用可扩展样式表语言转换 (XSLT),在 WebSphere Message Broker 消息流中使用 XSL 转换处理节点相当常见,因为人们希望重用现有的处理逻辑。运行样式表的 Out 终端的结果始终作为 BLOB 返回。为了能够在其余的消息流中处理此输出,需要解析输出。这需要在消息流中使用 ResetContentDescriptor 节点将消息域、消息集、消息类型和消息格式与输出 BLOB 关联,以便可以成功解析。现在已从 WebSphere Message Broker V6.1 中删除对 ResetContentDescriptor 节点的需要。在 XSL Transform 节点的 Output Message Parsing 选项卡中,可以指定将与 XSLT 的输出关联的消息域、消息集、消息类型和消息格式。

JDBC 类型 4 支持

由于 JavaCompute 节点越来越流行,WebSphere Message Broker V6.0 中扩展到 JDBC 支持的要求也越来越强烈。在 WebSphere Message Broker V6.1 中,现在您可以在 JavaCompute 节点中建立到 IBM DB2 和 Oracle 数据库的 JDBC 类型 4 连接。在需要时将支持 Informix 和 Sybase 数据库。

该代理支持类型 4 驱动程序,但不提供它们。您必须从数据库供应商处获取这些驱动程序。

作为此支持的一部分,WebSphere Message Broker 使用资源管理器管理连接、线程关联性、连接池和连接的生命周期。例如,如果连接空闲大约一分钟,或者消息流完成,代理将关闭连接。

还包括一个名为 JDBCProvider 的可配置服务,它可让您使用 WebSphere Message Broker 提供的命令定义包括可选安全信息在内的连接详细信息。这省去了在消息流中显式编码此信息,并让您在消息流外部进行更改,这样,关键属性的更改成为可选活动而不是开发活动。此新支持意味着您可以使用从消息流中访问的其他资源协调访问和更新,但代理运行于 z/OS 上除外。

结束语

WebSphere Message Broker V6.1 明显构建于 WebSphere Message Broker V6.0 之上,提供了许多新功能,如内置文件处理、新的安全管理器、明显改进的 SOAP 处理和仅新配置处理节点。当然其功能远不止这些。本文深入探讨了一些新功能,希望这些新功能能够解决现有 WebSphere Message Broker 用户的许多关键需求。此产品的最新版本突出体现了 WebSphere Message Broker 的核心价值:

  • 通用连接性
  • 任意格式之间的消息路由和转换
  • 简单编程
  • 操作管理和性能

总之,WebSphere Message Broker 是 IBM 的一项关键的集成技术。它在广泛的场景中提供了业界领先的性能。它具有极为广泛的集成选项和功能,并支持用户广泛的体验和需求。继续承诺扩展连接性、功能和性能,并在此最新版本中可以明显看到。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=291161
ArticleTitle=WebSphere Message Broker V6.1 中的新增功能
publish-date=02262008