扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
引言
IBM® WebSphere® Message Broker 是一种企业服务总线 (ESB) 解决方案,它支持各种通信协议和消息格式。它提供了各种技术以进行消息转换、路由和扩充。这个工具包是 WebSphere Message Broker 中的一个重要组件,它作为该产品的一部分提供。WebSphere Message Broker 工具包是基于 IBM Rational Application Developer 的一个 Eclipse 插件。这个工具包可以帮助您开发消息流和消息集,并管理消息代理和运行时组件(执行组和运行于其中的部署消息流)。
WebSphere Message Broker V6.0.2 工具包(于 2006 年 12 月发布)中的新特性,它在可用性、新用户入门体验、易于快速开发消息流、改进的 Web 服务支持、WSDL 生成和使用等方面提供了显著的增强。本文将对这些改进的功能进行描述。
该工具包的许多增强功能使得您可以更轻松和更快速地开发、测试和运行消息流和消息集,并关注于减轻消息流开发人员的工作负担。通过对向导进行优化、删除其中一些步骤、对其他的任务实现自动化,从而对开发对话进行了相应的改进。同时为新用户和有经验的用户提供了增强功能。
要从本文中获益,您应该对一些概念、术语和 WebSphere Message Broker V6 的使用有基本的了解。尽管本文没有从功能方面深入地对每项改进进行描述,但从其他方面对这些改进进行了比较全面的描述。当然,要了解有关这些增强功能的内容,最好的方法是安装并使用 WebSphere Message Broker V6.0.2 工具包。
增强功能概要
WebSphere Message Broker V6.0.2 中的增强功能涉及到两个方面:消息流开发和管理。下面对这些改进的功能进行详细的描述:
面向消息流开发人员和管理员的增强功能包括:
上述的增强功能重点关注于使用 WebSphere Message Broker 简化、自动化和促进消息流开发。下面将从十二个关键方面对这些增强功能进行描述,它们来源于 WebSphere Message Broker V6.0.2、WebSphere Message Broker V6.0.0.3 扩展、WebSphere Message Broker 示例和演示 CD、以及 WebSphere Message Broker Administrator 和 MQ Explorer 工具。
1. 新的 Message Development Wizard
从消息流开发工作一开始,您就可以发现该工具包中的改进。现在,该工具包中 Broker Application Development 透视图的第一个屏幕提供了三个向导的链接,位于左侧窗格中的上方:
这些向导可以帮助您着手消息流开发任务。您可能在学习如何使用该工具包时,希望使用它们,然后在熟悉了消息流开发之后,便不再继续使用这些向导。另一方面,您也可能认为这些向导非常有用,并继续使用它们。
这些向导可以帮助您着手构造一个消息流。它们无法指定所有的处理工作,并且在大多数情况下,您需要为正在开发的消息流指定特定的处理工作。在这些向导的下面是一个筛选器,您可以应用它将项目的当前视图限定于所选择的组、或资源的工作集。有关工作集的更详细的信息,请参见下一部分关于 Broker Development 视图的内容。
图 1 显示了 Broker Application Development 透视图:
图 1. Broker Application Development 透视图
“Start from Scratch”向导允许您以常规的方式开发消息流。运行“Start from WSDL and/or XSD files”向导,将得到下面这些需要运行的步骤:
在这个向导中,每个项目和构件的字段已填入了相应的名称,以加速配置工作并提供相应的缺省值。其名称以消息流项目名称为基础。您可以改写这些由向导所创建的名称。
当使用 Import WSDL Wizard 时,将显示一个 WSDL 绑定列表。现在,支持在单步操作中导入多个绑定,从而提高了效率。可以自动地根据所支持的 WS_I 规范对导入的 WSDL 进行检查。在完成了 WSDL 的导入之后,您可以将这个 WSDL 拖放到 Message Flow Development 画布中,这将自动地生成一个消息流,该消息流提供了处理 SOAP/HTTP 消息所需的核心处理工作。您不必再从头开始构建消息流。有关这个功能的更详细信息,请参见“WSDL 拖放”。
用户得到的好处
2. 代理开发窗格
在以前的 WebSphere Message Broker 发行版中,当您具有许多不同的项目(可能是不同的类型)时,很难对应用程序开发透视图中的视图进行限制,使其仅显示那些与当前任务相关的资源。没有什么简便的方法可以限制这个列表,除非为每种项目组合使用一个新的工作区。
在 WebSphere Message Broker V6.0 中,在 Broker Application Development 透视图的 Broker Development 窗格中,现在您可以使用组名或工作集名对项目资源进行分组,因为在这个工具包中该名称是已知的。您可以分配和更改这个名称,并且可以控制其中的组成员。(这个窗格以前称为 Broker Application Developer 透视图的 Resource 窗格,对其进行了重命名以便与其他透视图和视图保持一致。)
可以将项目分配给工作组,然后根据工作组进行筛选,这种功能为您提供了一种更简洁的并且更高效的项目筛选方式,使得您可以集中关注于感兴趣的项目。图 2 显示了用于一组项目的 Broker Development 窗格,这些项目都具有相同的工作组 CV_Message。该工作组中的项目包括:
在这个视图中,还对这些项目进行了分类,该操作是可选的。图 2 中包括 Flows、Maps、ESQL 和 Database Connections 等类别。这些类别简化了视图,并可以同时显示相同类型的资源,这样做更加容易定位一个给定的资源,而不是在包含多类资源的窗格中进行名称搜索。
图 2. CV_Message 工作集的 Broker Development 窗格
工作组提供了另一种方式,可以对相关项目进行分类,并显示当前任务中重要的内容。
在添加或移除项目时,您可能需要更改工作集中的成员,要完成这项任务,可以使用下拉选项来编辑列表和添加或删除成员。
您可以使用 <all resources> 选项,它是用于活动工作集 (Active Working Set) 的一个下拉选项,以便在工作区中显示所有的资源。Broker Development 窗格中还提供了一种附加的筛选级别,即控制工作集中是否包括关联的项目。要访问这个选项,可以对工作集进行编辑,并选中复选框 Automatically include dependent projects in this working set。
对于实体属性信息的显示,也进行了一些更改。实体的属性信息显示在屏幕右下方的窗格中。您还可以在 Properties 窗格的 Version 字段中为正在查看的项目指定一个版本。
用户得到的好处
可以对项目进行分组,然后仅查看某个组的内容,这种方法允许您仅对当前任务所需的资源进行操作,从而使得消息流开发的效率更高。以前,您必须在 Resource 窗格中进行导航。
3. 消息流编辑器增强
对消息流编辑器进行了许多改进,使其更容易使用。您现在可以将相似类型的节点作为一组,如下所述。
现在,可以将用于构建处理序列的节点分配到不同的抽屉中,以便更容易地进行访问。例如,WebSphere MQ 抽屉包含 MQInput、MQOutput、MQReply、MQGET 和 MQOptimizedFlow 节点。抽屉包括:
要打开一个抽屉,可以单击抽屉名称,这时将显示其中的节点。
为了加速消息流的开发工作,您可以将最常用的节点放到“最喜爱的抽屉”中。要将一个节点添加到“最喜爱的抽屉”中,只需将节点从其抽屉中拖放到“最喜爱的抽屉”即可。
您可以使用与以前相同的方式来开始消息流的开发,即在面板中单击以选择一个节点(位于抽屉中),然后再次单击画布。在将节点放到画布上后,您可以立即更改它的名称。有两种其他的方法可以更改处理节点的名称:
对 Node Properties 窗格也进行了修改,如图 3 中所示:
图 3. MQInput 节点 MQInput 的 Node Properties 窗格
熟悉 WebSphere Message Broker 的读者将会发现,对属性进行了重新排序,这样使得文档说明区域位于最上方,以鼓励开发人员对消息流进行文档说明。作为进一步的鼓励,当鼠标悬停在画布中的某个节点上时,将显示其“Short description”字段。更详细的文档说明使得消息流更容易维护。
现在,在 Properties 窗格的不同区域之间进行移动更加容易,只需单击该区域的标题即可。
消息流编辑器现在可以记住访问特定节点时的最后一个制表位。当您切换到另一个节点或添加一个新的节点时,对于正在查看的节点,将定位在相同的制表位处。当您转到一个不具有相同制表位的节点时,您将定位在该节点的 Basic 制表位处。
现在,悬停于输出终端上方可以执行连接操作。以前,在将节点连接到另一个节点之前,您必须选择该节点的“Connect Mode”。
现在,双击一个节点将打开 ESQL 编辑器、映射编辑器、或 Java™ 透视图,而无需显式地从菜单中选择“Edit”。
用户得到的好处
对消息流编辑器的这些更改使得其更容易完成下列任务:
总的来说,这些改进可以帮助您查找、导航和更改处理节点的属性。
4. 映射节点增强
在您开始使用映射节点时,马上就会发现其中所做的改进。以前当您调用向导以创建一个映射时,在到达 Mapping Node Editor 面板之前,您必须导航通过 5 个面板。现在减少到只有一个面板,这使得可以更方便且更快速地到达映射编辑器屏幕。在进入 Mapping Editor 向导时,对消息和数据源的显示进行了缩减。当消息和数据源列表展开时,仅显示当前关联项目的那些条目。要对其进行更改,可以在该向导面板中选择 Show all resources in Workspace。
对可以通过映射节点执行的映射类型进行了扩展,包括从一个数据源到另一个数据源的映射。在映射节点中,现在您可以进行下列映射:
对映射节点中可以选择使用的解析器也进行了扩展。现在支持 MIME 解析器。
为了帮助您识别源和目标节点或字段之间的关系、以及它们在脚本处理中的出现,在这个工具包的最新版本中提供了一个新的工具。例如:
图 4 是一个示例,它突出显示了 ACCOUNT_NUMBER 字段的源、目标和脚本:
图 4. 演示 Mapping Node Editor 关系的突出显示
如果您需要修改消息的属性,例如在源和目标的消息集信息不同的情况下,您只需使用 Map by Name 即可。在以前,这需要一系列的拖放操作。
用户得到的好处
通过下面的改进提高了开发人员的工作效率:
5. Message Set Wizard 和 Editor 的增强
Message Set 创建方面的增强功能包括向导的简化、在消息集编辑器中使用选项组、并且在一个新的下拉菜单中整合了 Message Set Project 和 Message Set 选项。
通过使向导更加简单且更易于使用,对创建消息集及其关联组件的处理过程进行了简化。
在创建新的消息集时,您可以同时创建消息集项目。消息集项目名称的缺省值是您为该消息集所指定的名称。在指定了名称后,还需要指定希望处理的数据的类型:XML 文档(例如 SOAP)、二进制数据(例如,C 或 COBOL 结构)、或文本数据(例如 CSV、SWIFT、或 HL7)。然后进入到 Message Set Editor。对该编辑器的结构也进行了更改,如图 5 中所示:
图 5. Message Set Editor 新的结构
在屏幕的左侧,显示了已定义的格式。在本示例中,我们可以看到,已经定义了 XML 和 CWF 格式。其他的细节信息包括:
您可以同时指定版本和文档说明字段。对于从外部源添加一个新的消息定义文件的处理,仍然是从 Broker Development 窗格开始:选择 New Create Message Definition From,然后选择类型(COBOL、C、DTD、XSD、WSDL)。这些选项位于一系列的级联菜单中,如下面的图 6 中所示。对导入向导菜单也进行了一些简化。要手动创建一个消息定义,可以单击 Message Definition File。
图 6. 添加新的消息定义文件
用户得到的好处
消息集创建向导的增强减少了定义一个消息集所使用的面板数目,并且简化了面板上的文本和构件的命名。同样地,它们也简化了消息流开发过程。
6. 生成 WSDL 向导
为了将现有的消息流公开为一项 Web 服务,您需要生成 WSDL 以描述输入消息。为了减轻消息流开发人员的工作负担,现在可以更轻松且更方便地基于一个现有的消息集生成 WSDL。在创建 WSDL 之前,您可以使用这个向导来创建消息类别文件,现在对该向导进行了一些改进,同时也对用于生成 WSDL 的向导进行了改进。在创建 WSDL 时,您可以将 WSDL 存储到该工具包或外部目录中。您可以在 WSDL 生成向导中指定这一点。
用户得到的好处
减少了该向导中所使用的面板数目,这使得可以更轻松且更快速地生成 WSDL,从而允许您更快速地进行消息流的开发。
7. 使用拖放进行消息流开发
现在对消息流编辑器进行了增强,以支持将 ESQL 模块从一个现有的消息流拖放到另一个消息流。在执行这种拖放操作时,Filter 或 Compute 节点、及其关联属性和 ESQL,都将自动地添加到目标消息流。它受到下列资源的支持:
还可以使用 WSDL 的拖放支持,如下面的“WSDL 拖放”部分中所述。图 7 显示了新的拖放功能:
图 7. 使用拖放进行消息流开发
在图 7 中,对一个消息流 CV_Custom 进行了编辑。如果您希望重用 CV_Set_MQMD_CorrleID 中现有的 ESQL 代码,您可以在左侧的窗格中拖动该模块的名称,然后将其放到右侧的消息流编辑器画布中,这样就可以添加一个新的 Compute 节点到 CV_Custom 消息流。然后,您可以对这个新的节点进行重命名。ESQL 保持不变,可以再次使用。对于其他节点类型,操作方法完全相同。Compute 节点的 ESQL 将不会 复制到新的消息流,但是仍将位于原始 ESQL 模式中。
用户得到的好处
将现有的资源从一个消息流拖放到另一个消息流的功能扩展了重用代码的能力。这是提高工作效率的另一种方法,并可以减少开发消息流所需的时间,对于较大的项目来说,代码重用比小型项目更为常见,所以这种方法非常有用。
8. WSDL 拖放
为了使得创建消息流以处理 SOAP over HTTP 消息更加容易,向 WebSphere Message Broker V6.0.2 中添加了一个新的拖放特性。现在,您可以将 WSDL 拖放到 Broker Development 窗格的 Development Editor 视图中。这个拖放操作将生成一个消息流,该消息流可用于拆解 SOAP 封装并将 SOAP 消息插入到 WSDL 中描述的消息的消息树中。这个特性需要 WebSphere Message Broker SOAPEnvelope 和 SOAPExtract 节点,SupportPac IA9O 中附带了这两个节点。
将一个 WSDL 文件拖放到 Message Editor 视图将自动地启动 WSDL Drag and Drop Wizard。此时,您可以选择需要创建哪一种 Web 服务使用模式,是将该消息流公开为一项 Web 服务和/或从一个消息流调用 Web 服务。在进行了选择之后,您需要指定使用哪一个 WSDL 绑定,以及将输出文件发送到何处。接下来,一系列的节点将会添加到消息流编辑器画布中,其中包括主消息流和子消息流(请参见下面的内容)。消息流和子消息流的这种组合提供了处理 SOAP 消息所需的基础结构。您还需要添加您的业务特定的处理任务。
图 8 显示了主消息流和子消息流的示例,其中这些子消息流为一个 WSDL 文件而生成:
图 8. 通过 WSDL 拖放生成的主消息流
图 8 的上面一部分显示了主消息流,从 HTTPInput 节点 ws_CV_XML_MsgSetService 开始,它将接收传入的请求。这个节点的正常输出连接到了一个称为 ws_CV_XML_MsgSetService_ExtractMsgBody 的子消息流。子消息流可以拥有不定数目的输出终端。图中包括一个故障 终端和一个输出终端,分别对应于 WSDL 拖放 WSDL 向导中所选的每项操作。如果将该消息流公开为 Web 服务,就会生成其中一种终端;而如果从一个消息流调用 Web 服务,就会生成另一种终端。在所示的示例中,除了故障终端外还有另一个终端。
HTTPInput 节点的 Basic 部分将自动地设置为 WSDL 文件中指定该 Web 服务 URL 路径的信息。这个向导假定使用 XMLNSC 解析器,尽管您在需要的情况下可以对其进行更改。如果您选择使用 MRM 域来解析传入的消息,而不是缺省的 XMLNSC,那么将自动地设置 HTTPInput 节点中的消息集、消息类型和消息格式。
图 8 中的下面一部分显示了子消息流,从 SOAPEnvelope 节点 ws_CV_XML_MsgSetService_EnvelopeMsgRespBody 开始,它连接到一个 HTTPReply 节点 ws_CV_XML_MsgSetService_Reply,该节点将发送响应到提出请求的应用程序。通过从消息树中获取数据,SOAPEnvelope 节点可用于重构输出 SOAP 消息。图 9 显示了通过拖放操作生成的子消息流:
图 9. 通过 WSDL 拖放操作生成的子消息流
这个子消息流包含 SOAPExtract 节点,该节点将从 SOAPEnvelope 的 Body 中删除消息。这个 SOAPExtract 节点中还包括一个路由到标签函数,以便执行过程可以根据正在执行的 WSDL 操作所需的路径前进。每个 WSDL 操作都有一个标签。在本示例中,只有一个 Label 节点,即 ws_IN_CustomerInfo。它连接到子消息流的一个输出终端。还有一个输出终端连接到 SOAPExtract 节点的故障终端。
此时,已经建立了处理 SOAP over HTTP 消息所需的基础结构。需要对这个处理进行扩展,以包括您的业务对接收到的消息的特定处理。
重要:要使用 WSDL 拖放,您必须安装 SupportPac IA9O,而它需要 WebSphere Message Broker V6.0.0.3 运行时。有关 SOAP 节点更详细的信息,请参阅 SupportPac 文档。
用户得到的好处
9. BAR File Editor 的新选项
为了提高可用性,对 BAR File Editor 进行了大量的改进。现在可以编辑和刷新 BAR 文件。此外,在 BAR 文件内容窗格中还添加了一个用户日志和服务日志。在 BAR File Editor 中,您可以选择四种操作:
最后,在该面板的下方有两个新的选项卡。这些选项卡允许快速地访问有关 BAR 文件构建过程的信息。以前,这仅在将消息流或消息集添加到 bar 文件中时是可用的。
用户得到的好处
刷新功能是 BAR 文件编辑器中的增强功能,并且可以提高工作效率。以前,您必须从 BAR 文件中删除相应的构件并保存它,然后再添加经过更新的构件。对这种多步骤的过程进行了替换,现在只需单击鼠标即可。
10. 新的测试客户端
消息流测试是开发过程中的重要部分。人们认识到这是一个非常关键的功能,现在通过新的测试客户端提供了经过精心改进的测试功能。测试客户端允许测试基于 WebSphere MQ 和 HTTP 的消息流。
测试客户端集成到了该工具包中,并且可以提取要进行测试的消息流的信息,这将帮助实现某些配置的自动化。可以将收集到的信息保存到一个项目中,并用于构成一组可重复的测试。要定义和使用测试客户端,可以右键单击输入节点 MQInput 或者 HTTPInput,选择 Test。这时将打开 Events 面板:
图 10. 测试客户端面板
这个面板允许您创建和加载示例消息,包括从文件进行加载。加载消息定义之后,在进行测试之前可以为每个字段输入一个值。在对消息内容进行更新后,您可以保存该消息以便重用。还可以在显示生成的消息源时提供一个选项,以将其保存到剪贴板,对于提供额外的文档说明,这是非常有用的。另一个选项是从文件系统加载示例消息。最后一步是单击 Send Message。
在运行测试客户端之后,将创建一个需要部署到所需的执行组的 BAR 文件。测试客户端将提供消息流测试的结果。您可以使用各种选项对测试客户端进行配置,如 BAR 文件名称、是否读取或浏览 MQ 输出消息。此外,您可以自定义 MQ 消息使用的 MQMD。还可以对多个相互连接的消息流进行测试。
因为测试配置是可以保存并存储在代码存储库中的项目,这样一来,您就可以轻松地为其指定版本,并与其他开发人员共享。
用户得到的好处
测试客户端为定义和保存测试数据提供了一种简洁的方式,在执行早期的消息流功能测试时,它最有价值。可以使用该工具来处理 MQ 和 HTTP 协议,这增加了其灵活性,并包含了大多数使用情况。可以再次调用已定义的测试数据,极大地提高了工作效率,并且可以使得测试工作更加一致,提高了消息流质量。
11. WebSphere Message Broker V6.0.0.3 扩展、示例和演示 CD
WebSphere Message Broker V6.0.0.3 扩展、示例和演示 CD 提供了一些资源以帮助您创建、构建、交付和支持 WebSphere Message Broker V6 ESB 解决方案。扩展 CD 位于 WebSphere Message Broker 包中、或作为一种 SupportPac。它为您提供了一些附加的信息,以强调 WebSphere Message Broker V6 高级 ESB 特性。扩展 CD 包括:
用户得到的好处
这些资产的集合可以同时为新的用户和有经验的用户提供帮助。它汇总了一些重要的资产,许多客户都认为在学习如何使用 WebSphere Message Broker V6 时,这些资产非常有价值。
12. WebSphere MQ Broker Administration 和 WebSphere MQ Explorer
WebSphere Message Broker Administration 和 WebSphere MQ Explorer 功能允许您同时在 WebSphere MQ V6 Explorer 中管理 WebSphere Message Broker 和 WebSphere MQ Queue Manager。WebSphere Message Broker Administration 和 WebSphere MQ Explorer 附带作为 SupportPac IS02 中的产品扩展。WebSphere Message Broker Administration 和 WebSphere MQ Explorer 的优点包括:
SupportPac IS02 与 WebSphere MQ V6.0.2 是兼容的。图 11 显示了一个使用 Message Broker Administration 和 WebSphere MQ Explorer 的示例:
图 11. WebSphere MQ Broker Administration 和 MQ Explorer 屏幕
在图 11 中,您可以看到一些队列管理器和代理的文件夹。队列管理器文件夹包含队列管理器 WBRK6_DEFAULT_QUEUE_MANAGER。代理文件夹包含代理 WBRK6_DEFAULT_BROKER。在 WBRK6_DEFAULT_BROKER 文件夹中,您可以看到这个执行组、执行组中部署的消息流、以及 BAR 文件。有一个执行组称为 default,其中包含一个突出显示的消息流,称为 CV_MessageFlow。它的下面是 BAR 文件夹。
Message Broker Administration 和 WebSphere MQ Explorer 没有提供 Message Broker 开发透视图。这仅仅是一个操作工具。
2007 年初将发布一个全新版本的 SupportPac。在安装了这个最新版本之后,您将能够执行下列操作:
在 SupportPac 页面中查看更新,以确保您获得这个有用的管理工具的副本
用户得到的好处
Message Broker Administration 和 WebSphere MQ Explorer 极大地提高了操作团队的工作效率。现在,您可以使用相同的工具来管理 WebSphere Message Broker 和 WebSphere MQ Queue Manager。Message Broker Queue Manager 是一个显而易见的候选对象,可以将其包括进来,您还可以添加所有其他队列管理器,只要它们与 WebSphere MQ Explorer 兼容就可以了。
结束语
本文描述了 WebSphere Message Broker V6.0.2 工具包中重要的增强功能。这个发行版主要关注于通过各种增强功能来提高可用性,这些增强功能包括:
WebSphere Message Broker V6.0.2 工具包使得可以更轻松、更方便、并且更快速地开发、测试和运行消息流。无论是对于新的用户还是有经验的用户而言,工作应该更加轻松,并且缩短了消息流开发时间并提高了代码重用性。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者