| 免费下载:IBM® WebSphere® MQ V7.0.1 试用版 |
|---|
| 下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。 |
本文将介绍如何在 WebSphere Service Registry and Repository 中配置 IBM® WebSphere® MQ 端点,该端点是在运行时从 WebSphere ESB 中介模块中动态选择出来的。该中介模块使用原生 Endpoint Lookup 原语在 WebSphere Service Registry and Repository 中查询一些端点,这些端点使用了流经 ESB 的服务消息对象 (SMO) 中的元素。这个方法可以实现良好的业务灵活性,能够通过 ESB 以外的中央库管理 MQ 端点。虽然有关端点治理的内容不在本文讨论范围之内,但是对存储库中注册的端点应用治理策略和分类是一项最佳实践。
- WebSphere MQ V7.0.0.1
- WebSphere Service Registry and Repository V7.0.0.3
- WebSphere Integration Developer V7.0.1
- WebSphere ESB
创建三个新的本地队列。
- 打开 WebSphere MQ Explorer。
- 假设已经配置了一个队列管理器,创建三个新的本地队列,并分别将它们命名为 queue1、queue2 和 queue3,全部采用默认配置:
图 1

图 2

图 3

- 对后两个队列重复这些步骤。需要注意队列管理器名称以及用于连接到队列管理器的端口号:
图 4

图 5

WebSphere MQ V7 在 WebSphere MQ Explorer 中提供了一个服务定义向导,该向导可以为 WebSphere MQ 应用程序创建 WSDL。该向导帮助您使用 MQ 服务绑定创建 MQ WSDL,并根据 MQ 服务定义和 MQ IRI 规范生成 WSDL 文档。以下步骤展示了如何使用服务定义向导为 WebSphere MQ 应用程序创建一个 MQ WSDL 文档。在生成 WSDL 文档之前,您需要创建一个 Service Definition Repository,在其中存储 MQ 服务定义。
- 右键单击 Service Definition Repositories,然后单击 Add Repository:
图 8

- 输入新的 Service Definition Repository 的名称并单击 Finish:
图 9

- 右键单击 MyWMQServices 库并选择 Service Definition:
图 10

- 输入 MQService_Port 作为 Service Definition 的名称,对于消息交换模式(Message Exchange Pattern),请选择 One-Way,然后选择 Next:
图 11

消息交换模式描述了 MQ 应用程序所需的消息模式(将为该应用程序生成 WSDL 文档)。MQ 服务定义同时支持 Request-Response 和 One-Way 消息交换模式,具体选择取决于应用程序。
- 将绑定类型设置为 MQ 并选择 Next:
图 12

MQ 服务绑定同时支持原生 MQ 和 SOAP/MQ 绑定类型,具体选择取决于应用程序期望使用 WebSphere MQ 消息还是 SOAP 消息。
- 提供 putMsg 的操作名称:
图 13

- 提供输入目的地 msg/queue/queue1 作为名称以及(您的队列管理器名称),然后单击 Finish:
图 14

- 单击 Finish 以完成服务定义的创建。
该流程创建了一个 WSDL 服务定义,您应该将它加载到 WebSphere Service Registry and Repository 中,以创建 WSDL 端口和相关的接口定义。
WebSphere Service Registry and Repository 端点配置
WebSphere Service Registry and Repository 通过 WebSphere MQ 集成特性支持 WebSphere MQ Service Definition WSDL 文档,该特性用于将 WebSphere MQ WSDL 文档加载到 WebSphere Service Registry and Repository。从 V6.3 开始,WebSphere Service Registry and Repository 在默认的 Governance Enablement Profile 文件中提供该特性。您可以在任何配置文件中启用该特性,有关详细信息,请参阅 WebSphere Service Registry and Repository 信息中心中的 Enabling the WebSphere MQ integration feature into an existing profile。
在将 WebSphere MQ WSDL 文档加载到 WebSphere Service Registry and Repository 后,它会自动构建以下内容:
- WSDL 逻辑端口对象,在该对象上,将在 MQ WSDL 文档中指定 MQ 队列和连接,以及队列管理器、队列和连接之间的关系
- 队列管理器的表示
- 队列和连接的表示
首先,您必须从 WebSphere MQ 中导出队列定义,然后将 WSDL 文件加载到 WebSphere Service Registry and Repository。
使用 WebSphere MQ Explorer 导出 WebSphere MQ 服务定义
- 从服务定义库中,右键单击需要导出的 WebSphere MQ 服务定义并单击 Export:
图 15

- 选择新创建的服务定义,填充文件的目的地,然后单击 OK:
图 16

WSDL 文件将被导出到选择的目的地,以便能够将它加载到 WebSphere Service Registry and Repository 中。
将服务定义加载到 WebSphere Service Registry and Repository
- 打开 WebSphere Integration Developer 并创建一个新的工作空间。
- 启动 WebSphere ESB 服务器。
- 打开 WebSphere Service Registry and Repository Admin 控制台,位置为:http://localhost:9080/ServiceRegistry(您的机器上的服务器名称和端口可能有所不同)。
- 登录到 Administrator Perspective 后,找到保存从 MQ Explorer 导出的 WSDL 文档的位置,然后单击 OK 加载该文档:
图 17

图 18

启用 WebSphere MQ 集成特性后,在加载 WSDL 文档时,WebSphere Service Registry and Repository 会自动解析 WebSphere MQ WSDLs 并从服务定义中构建 MQ 实体。您可以使用 Governance Enablement Profile 中的 Development and SOA Governance 透视图查看创建的 MQ 实体。加载 MQ 服务定义 WSDL 文档后,您需要执行一些额外的配置步骤来准备 WebSphere Service Registry and Repository,以配合使用 WebSphere ESB Endpoint Lookup 原语。
在 WebSphere Integration Developer V7.0 和 WebSphere ESB V7.0 或更高版本中,Endpoint Lookup 原语仅支持附带 Associated Interface 的手动 MQ 端点,如 Endpoint Lookup 中介原语 下的 WebSphere Integration Developer 信息中心内部的主题所述。该信息中心主题包括一些重要的细节,因此请通读这些内容并重点关注以下方面。
配置带 Associated Interface 的手动 MQ 端点
- 以管理员身份登录到 WebSphere Service Registry and Repository Admin 控制台。
- 选择 Administrator 透视图。
- 在 Business Objects 部分中选择 Manual MQ Endpoint with Associated Interface:
图 20

- 选择 New,添加新端点:
图 21

- 按如下所示填充信息并选择 Add WSDL Port Type:
图 22

- Name:为端点指定一个有意义的惟一名称。
- Name Space:输入一个有意义的惟一的名称空间。
- Version:由于这是一个新端点,因此版本从 V1.0 开始。
- Endpoint:WebSphere MQ URI,必须正确填写。它是查询的返回值,将被传递给 MQ Import。
WebSphere MQ URI 的格式如下所示:
图 23

- 添加 WSDL Port Type。在搜索字段中加入一个星号,在 WebSphere Service Registry and Repository 中搜索所有有效的 WSDL 端口类型。选择您从 MQ 服务定义 WSDL 中导入的端口类型。选择 MQService_Port_PortType 并单击 Add:
图 24

- 单击 Finish 以完成设置。
图 25

- 对其余的两个队列定义重复这些步骤,为每个端点指定一个惟一名称。完成之后,您应当看到三个手动 MQ 端点:
图 26

- 选择列表中的第一个端点 My_Manual_MQ_Endpoint1_WI,它与 queue1 相关联。
- 在右上方,选择 Edit Properties:
图 27

- 展开 Additional Properties 部分并选择 Add Property:
图 28

- 添加名为 queue 的属性:
图 29

- 像属性添加值 queue1。
对其余两个队列重复这些步骤。您现在已经在 WebSphere Service Registry and Repository 中完成了 MQ 端点的设置。
检查 WebSphere Admin Console 的配置,确保 WebSphere Service Registry and Repository 已配置为与 WebSphere ESB 正确通信。有关详情,请参见 WebSphere Integration Developer 信息中心内的 Endpoint Lookup 中介原语,该主题介绍了如何配置到 WebSphere Service Registry and Repository 的连接,如下所示:
- 以管理员身份登录到 WebSphere Application Server Admin 控制台。
- 在 Service Integration 下,导航到 WebSphere Service Registry and Repository Definitions 链接:
图 31

- 如果配置正确,您应当会看到一个 WebSphere Service Registry and Repository 定义。您看到的内容可能采用不同的名称,但是没有关系。为该定义选择链接:
图 32

- 单击 Connection Properties:
图 33

- 确保 URL 正确无误(您的服务器名称和端口号可能有所不同):
图 34

创建一个新的中介模块项目并进行配置,以便在 WebSphere Service Registry and Repository 中查询某个 MQ 端点。该查询将包括 SMO 中的内容,确保您选择正确的 MQ 目标队列。
- 创建一个新的中介模块项目。
- 创建一个新的具有单向操作的界面,如下所示:
图 35

- 向流程图中添加一个新的 Import,并将其与新创建的界面关联起来。
- 对 Import 配置 MQ 绑定,并提供如下所示的连接信息。您必须在 Properties 面板提供有效的连接信息,但是这些信息将被从 WebSphere Service Registry and Repository 返回的信息覆盖:
图 36

- 将界面与中介关联起来:
图 37

- 将中介流连接到 MQ Import:
图 38

- 双击中介流 SCA 组件,生成一个实现。
- 单击操作名,打开消息流程图:
图 39

- 向消息流程图添加一个 Endpoint Lookup 原语,并按如下所示进行配置:
- 在 Details Tab 中,提供 Port Type Name 和 Registry Name,后者为 WebSphere Application Server Admin 控制台中的 WebSphere Service Registry and Repositor 定义的名称。
- 将 Match Policy 设置为返回第一个匹配项。
- 将 Binding Type 设置为返回所有绑定类型:
图 40

- 单击 Advanced 部分并添加一个新的 User Property。将 Type 设置为 XPATH,以便能够从 SMO 中提取值。对于 Value,应使用该字段在 SMO 中的相对路径。在编辑该值时,XPATH Wizard 将为您构建 XPATH 表达式:
图 41

- 为消息流添加两个 Trace 节点,以显示 WebSphere Service Registry and Repository 返回的内容。不需要修改任何属性。按如下所示将它们连接起来:
图 42

- 添加一个 Service Invoke 原语,并按如下所示进行配置。确保选中复选框以启用一个动态端点。如果 WebSphere Service Registry and Repository 返回一个端点并将其放在 header 地址中,则会重写相关的 MQ Import 中定义的值:
图 43

- 右键单击消息流 SCA 组件并单击 Test Component:
图 44

- 添加值 queue3 或任何其他有效队列名称。在 WebSphere Service Registry and Repository 查询中,该队列名称将用于 Endpoint Lookup。您可以修改队列名,这将影响 WebSphere Service Registry and Repository 查询,返回一个不同的端点:
图 45

- 如果成功,则会在 target/address 字段中看到 wmq URL 地址。您现在可以检查队列,查看队列中的消息。
- 默认的消息过期期限通常被设置为一个很低的值,因此消息很可能在几分钟后过期。在测试后检查队列深度,确保消息到达正确的队列:
图 46
如欲了解更多信息,请参阅 WebSphere ESB 信息中心的文章 Dynamic invocation with wired MQ import, using SMO:
还可参阅 WebSphere Integration Developer 信息中心中的 Endpoint Lookup 中介原语:
学习
- WebSphere ESB 资源
- Error IC70926: Message expiry field not overridden when using dynamic endpoint URL
有关关联 APAR 和 Fix Packs 的信息。 - WebSphere ESB 信息中心
提供所有 ESB 文档的 Web 门户,包括有关安装、配置和使用 WebSphere ESB 的概念、任务和参考信息。 - WebSphere ESB 开发人员资源页面
帮助您将 WebSphere ESB 用作灵活的连接性基础架构,并集成应用程序和服务以支持 SOA 的技术资源。 - WebSphere ESB 开发指南
PDF 格式的开发指南手册。 - WebSphere ESB 产品页面
产品描述、产品新闻、培训信息和支持信息等。 - WebSphere ESB 文档库
WebSphere ESB 产品手册。 - WebSphere ESB FAQ
关于 WebSphere ESB 产品及其与其他 ESB 产品的关系的基础问题和解答。 - WebSphere ESB 支持
通过该数据库可搜索到支持方面的问题及其解决办法,此外还包含有下载、补丁和问题追踪。 - 红皮书:模式:使用 WebSphere Message Broker 和 WebSphere ESB 设计 SOA
这些针对电子商业的模式是久经考验的可重用资源,可用于加快开发和部署电子商务应用程序的速度。本红皮书将展示如何使用 WebSphere ESB 与 WebSphere Message Broker 在 SOA 中实现 ESB。包括演示设计、开发和部署的场景。
- Error IC70926: Message expiry field not overridden when using dynamic endpoint URL
- WebSphere Integration Developer 资源
- WebSphere Integration Developer 信息中心
一个可访问所有 WebSphere Integration Developer 文档的 Web 门户,包含关于安装、配置和使用 WebSphere Integration Developer 的概念、任务和参考信息。 - WebSphere Integration Developer 开发人员资源页面
帮助您使用 WebSphere Integration Developer IDE 将现有 IT 资产呈现为服务组件,在跨 WebSphere Process Server、WebSphere ESB 和 WebSphere Adapters 构建基于 SOA 的集成解决方案时鼓励重用和效率的技术资源。 - WebSphere Integration Developer 产品页面
产品描述、产品新闻、培训信息和支持信息等。 - WebSphere Integration Developer 信息路线图
文章和资源的路线图,帮助您进行安装、迁移、管理、开发、故障排除和理解底层技术 -
WebSphere Integration Developer 文档库
WebSphere Integration Developer 产品手册。 - WebSphere Integration Developer 支持
一个支持问题及其解决方案的可搜索数据库,包含下载、修复程序、问题跟踪等。
- WebSphere Integration Developer 信息中心
- WebSphere MQ 资源
- WebSphere MQ V7 信息中心
一个可访问所有 WebSphere MQ V7 文档的 Web 门户,包含关于安装、配置和使用您的 WebSphere MQ V7 环境的概念、任务和参考信息。 - WebSphere MQ 开发人员资源页面
帮助您使用 WebSphere MQ 设计、开发和部署消息传递中间件,以将应用程序、Web 服务和事务集成到几乎任意平台上的技术资源。 - WebSphere MQ 产品页面
产品说明、产品新闻、培训信息、支持信息和试用下载等。 - WebSphere MQ 产品系列
描述大约 10 个不同的 WebSphere MQ 版本。 - WebSphere MQ 文档库
WebSphere MQ 产品手册。 - IBM 红皮书:WebSphere MQ V7 特性和增强
描述消息队列技术的基本概念、优点以及 V7 中的新增功能,还提供了一个展示这些功能实现的业务场景。 - WebSphere MQ V7 试用版免费下载
一个功能齐全的 WebSphere MQ V7.0 免费试用版,试用期为 90 天。 - WebSphere MQ 支持页面
一个支持问题及其解决方案的可搜索数据库,包含下载、修复程序、问题跟踪等。 - WebSphere MQ 公共新闻组
一个非 IBM 论坛,在这里您可以获取 WebSphere MQ 技术问题的答案,并与其他用户分享您的 WebSphere MQ 知识。 - WebSphere MQ SupportPacs
针对 WebSphere MQ 产品系列的可下载代码、文档和性能报告。
- WebSphere MQ V7 信息中心
- WebSphere Service Registry and Repository 资源
- IBM 红皮书:将 WebSphere Service Registry and Repository 与 WebSphere MQ 和 WebSphere Message Broker 集成
使用 WebSphere Service Registry and Repository 和 Message Broker 的类似示例。 - WebSphere Service Registry and Repository 信息中心
所有 WebSphere Service Registry and Repository 文档的单一 Web 门户,包含对您安装、配置和使用该产品有帮助的概念、任务和参考信息。 - 开始使用 WebSphere Service Registry and Repository
这篇 developerWorks 文章展示了如何使用现有的 Web 服务信息填充 WebSphere Service Registry and Repository。 - WebSphere Service Registry and Repository 产品页面
产品描述、产品新闻、培训信息和支持信息等。 - WebSphere Service Registry and Repository 信息门户
该 wiki 是快速访问各种 WebSphere Service Registry and Repository 资源的另一个门户,并且还可以使您轻松提交有关产品的反馈。 - WebSphere Service Registry and Repository 需求
硬件和软件需求。 - WebSphere Service Registry and Repository 支持
一个可搜索的数据库,包含支持问题和它们的解决方案,以及下载、修复程序和问题跟踪。 - WebSphere Service Registry and Repository 手册
此 IBM 红皮书描述 Service Registry 的架构和功能,以及您可用于在 SOA 中实现 Service Registry 的示例集成场景。
- IBM 红皮书:将 WebSphere Service Registry and Repository 与 WebSphere MQ 和 WebSphere Message Broker 集成
- WebSphere 资源
- developerWorks WebSphere 开发人员资源
面向使用 WebSphere 产品的开发人员的技术信息和资源。developerWorks WebSphere 提供产品下载、how-to 信息、支持资源以及一个免费技术库,该技术库包含 2000 多篇技术文章、教程、最佳实践、IBM 红皮书和在线产品手册。 - developerWorks WebSphere 应用程序连通性开发人员资源
帮助您构建 WebSphere 应用程序连通性和业务集成解决方案的 how-to 文章、下载、教程、培训、产品信息等资源。 - developerWorks WebSphere 业务流程管理开发人员资源
访问 WebSphere BPM how-to 文章、下载、教程、培训、产品信息等资源,帮助您建模、装配、部署和管理业务流程。 - 最流行的 WebSphere 试用版下载
免费下载关键 WebSphere 产品试用版。 - WebSphere 论坛
针对特定产品的论坛,在那里获取您的技术问题的解答,并与其他 WebSphere 用户分享您的专业知识。 - WebSphere 演示
下载并观看这些自动运行的演示,了解 WebSphere 产品和技术如何帮助您的企业应对快速变化和日益复杂的商业环境。 - developerWorks WebSphere 每周新闻简讯
developerWorks 新闻简讯提供了您感兴趣的主题的最新文章和信息。除 WebSphere 以外,还可以选择 Java、Linux、Open source、Rational、SOA、Web 服务和其他主题。立即订阅并设计您的定制邮件。 - IBM Press 的 WebSphere 相关图书
通过 Barnes & Noble 实现便捷的在线订购。 - 与 WebSphere 有关的活动
世界各地针对 WebSphere 开发人员的会议、商贸展览、网络广播和其他活动。
- developerWorks WebSphere 开发人员资源
- developerWorks 资源
- IBM 软件产品试用版下载
免费下载 IBM® DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 产品试用版。 - developerWorks 博客
加入 developerWorks 用户和作者、IBM 编辑和开发人员的谈话。 - developerWorks 云计算资源
访问 IBM 或 Amazon EC2 云,在沙盒中对 IBM 云计算产品进行测试,观看云计算产品和服务的演示,并访问其他云资源。 - developerWorks 技术加油站
由 IBM 专家主持的免费技术活动可以帮助您加快学习进度,从最困难的软件项目中取得成功。这些在世界各地举行的活动包括一小时的虚拟简报、半天到全天的真实活动等。 - developerWorks 播客
收听新颖有趣的软件创新者访谈和讨论。 - IBM Education Assistant
多媒体教育模块集合,帮助您更好地理解 IBM 软件产品,更高效地使用它们来满足您的业务需求。
- IBM 软件产品试用版下载
讨论
- 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
- 加入 IBM 软件下载与技术交流群组,参与在线交流。



