增强IBM Websphere Message Broker应用程序的灵活性

本文将介绍如何使用 IBM® ">WebSphere® Message Broker Toolkit Fix Pack 1 中的新特性,以源格式部署和管理 Message Broker 应用程序,而无需在 Toolkit 中编译它们。这些特性提高了应用程序的灵活性,并大大简化了代码更新。

在许多场景中,设计 Message Broker 应用程序来使用消息流、子流、ESQL 模块和映射的源代码部署很有意义。例如,多个流使用的 ESQL 模块可能需要在部署引用流之后更新。在过去,所有包含更新的 ESQL 模块的主要消息流必须重新编译和重新测试。此外,您还必须在安装了 Toolkit 的机器上创建一个 BAR 文件,然后将创建的 BAR 文件复制到目标服务器,并将它部署到目标 Message Broker 服务器。而且因为 Toolkit 仅支持 Message Broker 支持的部分平台,所以无法在相同的 Message Broker 服务器上创建 BAR 文件。

使用 Toolkit Fix Pack 1,您可以部署消息流、子流、ESQL 模块和映射,无需在 Toolkit 中单独编译每一项。因此,您可以在任何 Message Broker 服务器上创建包含这些组件的 BAR 文件,无论 Toolkit 是否可用。本文中的源部署示例展示了如何使用新的 Broker 和 Toolkit 特性实现这些目标。

您可在本文底部 下载一个示例应用程序,该应用程序展示了如何使用独立部署的可重用的组件,比如消息流、子流、ESQL 模块和映射,设计出具有最高灵活性的消息流。示例应用程序还展示了:在需要包含必须在添加到 BAR 文件和部署到 Message Broker 运行时之前编译的消息集或 Java® 代码时,如何在目标服务器上组装 BAR 文件。示例应用程序经过了简化,以便突出强调本文的主要主题。

在过去,所有消息流和子流都在具有 .msgflow 扩展名的文件中实现。可部署的消息流与子流之间的区别取决于消息流内容。如果流拥有可从外部(比如 MQ Input 或 Web Service Input 节点)调用的输入节点,那么它就是一个可部署的消息流,可编译为 CMF 文件并部署到代理中。

当组装 BAR 文件时,会编译所有可部署的消息流资源。该流引用的子流以内联方式合并到父 CMF 文件中,这是一个将可执行代码直接插入文件中的过程。如果父流中有多个子流引用了同一个子流实现,那么已编译的 CMF 中的子流的内联副本将取代每个节点。如果一个子流引用了另一个子流,那么嵌套的子流会扁平化并插入父流 CMF 中。在此过程中,ESQL 模块或映射代码也以内联方式合并到 CMF 文件中。

因此,包含一个消息流、一个子流、一个 ESQL 模块和一个映射的应用程序会转换为单个 CMF 文件并进行部署。当需要对容器消息流、子流、ESQL 模块或映射模块执行任何更改时,整个应用程序必须重新编译、重新测试和重新部署。

BAR 文件还必须安装在已经安装了 Toolkit 的机器上,因为组装 BAR 文件需要编译代理应用程序资源,而且编译流程依赖于 Toolkit 工作区元数据。Toolkit 仅可安装在 Linux® 或 Microsoft® Windows® 机器上,因此当 Toolkit 不支持 Broker 服务器操作系统时,无法直接在 Broker 服务器上组装 BAR 文件。

图 1 显示了一个代理应用程序的简单示例,其中包含一个主要的可部署消息流 (Flow1.msgflow)(引用一个子流 Subflow1.msgflow)和一个 ESQL 模块 (esqlflow.esql)。该子流还应用了 esqlsub.esql。在部署时,只有一个 Flow1.cmf 文件,它包含的流中同时包含了 ESQL 模块和内联子流:

传统应用程序 – 单一 CMF

为了使应用程序更加灵活且更易于维护,您可能不希望在进行更新时重新编译、重新测试或重新部署整个应用程序。当需要进行更改时,例如仅更改 ESQL 模块 esqlsub.esql,您可能只希望重新部署受影响的 ESQL 文件,而不用重新部署引用 esqlsub.esql 的所有资源。Toolkit Fix Pack 1 使应用程序更加灵活,使您能够将消息流 (.msgflow)、子流 (.subflow)、ESQL 模块 (.esql) 和映射 (.msgmap) 部署为源文件,而不是 CMF 文件中的已编译版本。

除了上面提及的资源,XML 模式 (.xsd) 定义的映射 (.map)、WSDL 文件 (.wsdl) 和消息模型也可部署为源文件。代理中的消息模型可由 XML 模式和 WSDL 文件定义。在 V8 中,它们不再必须仅使用消息集进行定义(但全面支持消息集所定义的消息模型)。图 2 显示,Toolkit 中创建的相同的源文件可添加到 BAR 文件中,并将代理独立部署为源文件:

新应用程序 – 将资源部署为源文件

通过直接将源文件部署到代理,而不将它们编译为 CMF 文件,可使应用程序更加灵活,因为更改的组件可独立部署到代理中。当只更新一个文件时,只需创建一个仅包含更新的源文件的新 BAR 文件并将它部署到执行组中。这个新源文件将替换执行组中的旧文件,引用流将自动重新启动,以便应用更改。例如,在图 2 中,如果 esqlsub.esql 发生更新,那么它是惟一需要添加到新 BAR 文件中的文件。在将该 BAR 文件部署到同一个默认执行组并运行 Flow1 的时候,该流将会停止,然后应用更新的 ESQL 代码并重新启动。

时间: 2024-10-26 07:32:01

增强IBM Websphere Message Broker应用程序的灵活性的相关文章

IBM WebSphere Message Broker Web应用的配置过程

本文以 Windows 为例,详细介绍如何配置 http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Message Broker V8 的 HTTP 和 HTTPS 两种模式下 Web 应用的配置过程及其 web 帐号的创建和管理方法. IBM WebShpere Message Broker ( 以下简称 Message Broker) 提供 Toolkit 和 Explorer 两种图形界面以外,还提供了代理的 W

WebSphere Message Broker V8 中 Mapping 节点简介

引言 IBM WebSphere Message Broker V8(以下简称为 Message Broker)是 IBM 在企业服务总线(Enterprise Service Bus, ESB)领域里的关键产品,它采用总线结构将所有的应用系统互联在一起,应用系统以服务的方式插入到总线上,或者由总线封装成服务. Message Broker 的一个关键的功能就是协议的转换,在 Message Broker V8 版本中提供了六种转换节点,分别是 ESQL 计算节点(Compute).Java 计

配置WebSphere Message Broker JMS节点实现Apache消息服务器通信

Apache ActiveMQ(以下简称 ActiveMQ)是最流行.最强大的开源消息代理和消息服务器.它支持 JMS 1.1 和 J2EE 1.4.因为许多企业正在将开源技术集成到其消息http://www.aliyun.com/zixun/aggregation/13748.html">基础架构中,所以本文将使用一个示例消息来展示如何配置 IBM® WebSphere® Message Broker(以下简称 Message Broker),使它能够以 JMS 提供程序的身份与 Apa

介绍WebSphere Message Broker的REST API相关规则

本文中将主要介绍 WebSphere Message Broker 的 REST API 的相关规则,并且通过一系列实例来讲解如何便利地使用这些 REST API 获得自己所需要的信息. IBM® WebSphere® Message Broker 是面向服务的高级企业服务总线(Enterprise Service Bus, ESB),为基于标准和非标准的应用程序及服务提供了连通性和通用数据转换,它是 IBM 在 ESB 领域里的关键产品,通过采用总线结构,从而将所有的应用系统互联在一起,应用系

使用WebSphere Message Broker API编写消息流模式

模式是在给定上下文中某个http://www.aliyun.com/zixun/aggregation/17253.html">常见问题的可重用解决方案.为复杂的可重用消息流创建模式势在必行,这样,客户只需更改某些配置值,就可在不同的场景中重用该消息流.一个模式所提供的可重用解决方案可封装已测试的方法,从而在特定上下文中完成常见的架构.设计或部署任务.决定使用模式时,实际上很多设计和开发工作已经完成了,这可以减少您的开发.测试和运营工作,从而节省时间和金钱. IBM® WebSphere®

使用Websphere Message Broker来配置WebSphere Adapter for SAP以提供高可用性

主动-主动高可用性 (HA) 解决方案保持两个或更多的系统始终联机,即便出现任何故障,应用程序和用户也能继续正常工作,不会出现出现中断.您可以在一个主动-主动配置中使用多个代理实例,设置 IBM® http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere® Message Broker 的高可用性.如果一个代理崩溃,另外一个运行相同应用程序的代理将取而代之,确保应用程序的连续可用性,完全不需要任何管理干预.当然,高可用性在很

在WebSphere Message Broker消息流中配置Log4j节点

在 IBM® http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere® Message Broker 中,Trace 节点用于日志记录,但它有两个限制: 它没有可配置的日志级别. 它无法扩展到其他目标. 来自 Apache Software Foundation 的著名的开源 Log4j 日志框架为基于 Java 的应用程序消除了这两个限制.WebSphere Message Broker IAM3 SupportPac

部署到WebSphere Message Broker执行组的WebSphere...

部署到WebSphere Message Broker执行组的WebSphere Transformation Extender映射的运行时选择 WebSphere Transformation Extender 是一个通用的数据转换和验证引擎,可以帮助您使用 一个无代码和图形的开发模型来集成企业系统和信息.WebSphere Message Broker 的 WebSphere Transformation Extender 用处理节点以及一个包含 Transformation Extende

使用WebSphere Message Broker数据建模来降低高度复杂的消息格式成本

数据转换和格式转换是业务集成的核心任务.对于数据转换,IBM® http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere® Message Broker(以下简称 Message Broker)提供了它自己的 Mapping 节点(对于物理格式转换,使用消息集的数据建模发挥着重要作用),以及不同的消息分析器. 创建消息模型之后,您可以使用它来将 Message Broker 接收的所有请求消息的格式都转换为后端系统所需的另一