![使用WebSphereESB构建企业服务总线_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/367d0431-d969-4323-93e8-05a223bdb1f8/367d0431-d969-4323-93e8-05a223bdb1f81.gif)
![使用WebSphereESB构建企业服务总线_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/367d0431-d969-4323-93e8-05a223bdb1f8/367d0431-d969-4323-93e8-05a223bdb1f82.gif)
![使用WebSphereESB构建企业服务总线_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/367d0431-d969-4323-93e8-05a223bdb1f8/367d0431-d969-4323-93e8-05a223bdb1f83.gif)
![使用WebSphereESB构建企业服务总线_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/367d0431-d969-4323-93e8-05a223bdb1f8/367d0431-d969-4323-93e8-05a223bdb1f84.gif)
![使用WebSphereESB构建企业服务总线_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/367d0431-d969-4323-93e8-05a223bdb1f8/367d0431-d969-4323-93e8-05a223bdb1f85.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、引言JMS和我们已经介绍了 WebSphere Enterprise Service Bus (ESB) 支持的两种最常用的连接协议Web服务(SOAP/HTTP),现在将向这一组合中添加实际企业环境中通常需要的另一种协议:WebSphereMQo有很多应用程序已支持通过WebSphere MQ 与外部应用程序进行消息交换,它们通常使用 ESB在MQ上将应用程序功能转换为或公开为服务。因此,我们在此处将演示如何利用WebSphere ESB 中对WebSphere MQ 的支持来将支持 MQ通信的现有应用程序绑定到面向服务的环境中。更新的场景在第2部分中,我们介绍了 Posts-R-Us传递的
2、每个包如何产生一条先发送至ESB,再由ESB转发给使用消息驱动(MDB) Bean的Java? EE 应用程序的消息。此级别的间接寻址方式会在生成事件(即包 传递事件)的系统与使用该事件的系统(接收该消息的 MDB )之间建立一个分离层。 在SOA上下文中,这意味着ESB向客户机提供了一个虚拟服务接口,该接口隐藏了服务提供程序的实际位置和接口。在Posts-R-Us中,有一个现有的基于大型机的应用程序也需要接收关于该传递的包的消息。它通过WebSphere MQ 队列以XML格式接收这些消息。因此,设计团队决定更改 ESB中介:添加一个连接, 将传入的通知消息转发给适当的 MQ队列,同时继续将
3、该消息发送给原始的 Java EE (前身为J2EE ) 应用程序。图1显示了更新的体系结构。图1.更新的包传递通知体系结构Appli&Btiari如图所示,消息用单独的进程转发,目标队列由远程 WebSphere MQ 队列管理器管理;而原始队列则不 改变进程,它仍由 WebSphere ESB 管理并从中传输至消息驱动Bean。此处需要注意以下几点,所有这些注意事项都说明了ESB对系统体系结构的巨大价值:?客户机应用程序不受此更改影响。它会继续通过 ESB将JMS消息发送至目的地。? 现有的MDB应用程序也不受此更改影响。?现有的大型机应用程序将继续从关联的WebSphere MQ
4、 队列中接收消息。回页首设置 WebSphere MQ要运行反映上述体系结构的示例,需要创建将从 WebSphere ESB 接收消息的队列。(在实际企业环境中,大型机应用程序帧听的队列可能已经存在。)为此,最简单的方法是利用WebSphere MQ Explorer 。启动此程序后,其主窗口将类似于图2。图 2. WebSphere MQ Explorer 主窗口请记住,您通常会有一个或多个WebSphere MQ 队列管理器。在上图中,我们要使用的队列管理器为QM_atost 。要在此队列管理器下创建队列,请在WebSphere MQ Explorer Navigator中右键单击Queu
5、es 节点,然后选择 New => Local Queue. (图 3)图3.新建本地队列QueuesFttef: Standard for QueuesIBM 7et>5phereMQ .二 Qveut dgtfs-53NewStatus.- Queue Mmj;- JMS AdminJestsfObject Au thorti« ,local Queue.Aliaf Queue.Model Queue.,ftcmote Queue Defin tion. “.Queue r/peL&ta:Local际司Defirition i yptP哈以firwdPrec
6、finedPrece fined接下来,请在结果对话框中将新队列命名为PackageReceivedQueue ,保留所有其他缺省值,然后单击Finish 。这些便是您需要在 WebSphere MQ 中执行的所有操作。您不需要创建任何特定的连接配置即可与WebSphere ESB 进行通信。+回页首中介模块接下来,您需要更新我们已在第2部分中使用过的中介。1 . 在 WebSphere Integration Developer中,请打开组装工具的 PackageReceivedModule模块。此模块由中介流组件、JMSClientExport 导出和MDBImport 导入组成。2 .请
7、从调色板中通过拖动向程序集添加另一个导入。然 后,请将新的导入命名为MQImport并将其连接到中介流组件,如图 4所示。本文假设:您已经完成第2部分中介 绍的所有步骤并在 WebSphere Integration Developer中加载了关联的构件,同时执行了更新此代码所需的 步骤,从而具备了运行此扩展场景的条 件。但是,如果您更希望导入最终解决 方案而不是完成所有步骤,请使用本文 包含的下载文件,其中包括两个 EAR 文件和一个 Project Interchange 文 件。图4.向中介模块程序集添加另一个导入3 .现在,将生成绑定来将此导入和前面创建的WebSphere MQ队列连
8、接起来。方法是:右键单击MQImport ,然后选择 Generate Binding.=>Messaging Binding.=> MQ Binding。图5.创建MQ绑定:r Unckj Mqy?华双曲Messaging Biridirig.5CA Bidding5tatElu苹$ SessiOTi Eean BindingWeb Service BindingJMS日巾的gMQ GirdingMQ JM5 BirdingAdd InterfaceGenerate Binding.*RjefactorkRn'oue finding工 Copydiata,国 PasteX
9、 DeleteRenameSelect AllVjire References to New >Wire to ExistingTest ComponentShow tn Properties4 .在结果对话框中,请输入或选择下列值(图 6):o队列管理器名称:请输入队列管理器的名称;在本示例中,我们使用的是QM_atosto 发送目标队列: PackageReceivedQueueo主机名称:localhosto请求序列化类型:Serialized as XML请保留所有其他字段的缺省值。图6. MQ绑定定义此过程会将中介模块中的导入连接到前面创建的WebSphere MQ 队列。此外
10、,它还指定应将消息的有效负载以序列化的XML消息的形式发送给该队列。在后面运行最终测试时,您将看到该XML消息的样子。如有必要,您还可以在创建绑定后对它做出进一步更改,此时只需打开该导入的Properties 视图即可。图7. MQ 绑定 Properties 视图二Prbpertes;二 PrtfaimsCoAsni-力 Import: KQlnnport (P1Q力晒MQ MtHr那 DWAdt RMvd MWi fcr MQftFH 皿Yg nw ¥PWig 啊f EpfancrMig4wr m铛际rxru*c» .mq.dft*. MQH*«3iEta&a
11、mp;fidrig OKI-Lfrt: 由e CLstefrizedl dns-jnd! speofy She d£a» nfiFe- SHi (Ke tat* bew.5 .接下来,请创建中介流组件的实现。由于我们要使用的实现非常简单,因此您只需生成一个新实 现,而不用更新现有的实现。操作方法是:在程序集中,右键单击中介流组件PackageReceivedMediation ,然后选择 Regenerate Implementation菜单选项。随即将打开Mediation Flow Editor 。6 .接着,请将左侧的接口节点连接到右侧的两个引用节点,如图 8所示。在
12、此操作中,应确保先将 该接口节点连接到 PackageReceivedIFPartner1 引用。7 .请向中介流中插入一个Message Logger中介元素,并将其连接到Input节点。然后,请将Logger元素的输出终端连接到两个Callout节点。此操作将记录消息,然后将消息同时转发给两个导入,即 MDB帧听的JMS队列和您在前面定义的MQ队列。图8.更新的中介流8 .请保存所有更改。另外,请从主工具菜单中运行Project => Clean.菜单选项。此操作可确保运行更新的场景现在,您已经做好了准备,可以运行测试来查看所做更改的效果了:按照您刚才做出的更改构建并更新该中介模块所
13、需的所有构件。如果对模块进行反复更改和更新,则在 将它们部署到服务器后,有时会因为资 源清理或重新生成不当而产生问题。在 此情况下,请经常重新启动测试服务器 并运行 Project => Clean. 菜单选项,以确保能够根据需要重新构建所需 资源。1 .如果服务器尚未启动,请启动服务器。在本测试中,我们将假设服务器上未部署任何企业应用程序。如果您部署了任彳现有的 EAR文件,应删除它们,然后 重新启动服务器。2 . 在 Server Perspective 中,请右键单击 WebSphere ESB服务器,然后选择 Add and removeprojects.。依次添加 Packag
14、eReceivedModuleApp 项目和 PackageReceivedEAR 项目, 然后单击Finish 。3 .重新启动服务器。4 .请在PackageReceivedClientEAR项目中运行测试客户机。(这与 第2部分中介绍的完全相同。)这样,您便可以在控制台中查看消息驱动Bean如何接收该消息(图9)。图9.服务器控制台id rtS 喘工 昌= nus-L二二1b;卡背#six二日羡叶'瑞二二241tSJL3epTerC"«9>!“UK 出0'S. iQIP-l It;£« 1M* I EM C3CP: .MJkj
15、iwHS:false iKS!; : izjl 0? J : 231 use;:>71 5 adafiaiUHMJOS S3! 51!;JO !>> I &4!C1T)3己141rli工 &FVHC3Z:”川打:K:DOgQe HEE3ZJ 。讣口。口*<1* 3+匚看二e|E)与丫七单工1EXfetar-Afl-e 口h 二!匚 £ nu* - E3H_3 : dt i ;:»» r'"fl«di中TflEtl£i ; :i :二";I&HiejQ5E- zrac 事
16、工才*s ,匚Id口DSSWf工 SSAA,E2 OCZ4«a="Lv*x£ ,工营,,与C fi«e-4LYl E单H,1HB_Lf |1 -& . "/*117r电<*><lf :fACktGv_rr£t ;*< amLsi2 X f *lu tp:/r216 Re1©111 VzIMo击J:口;小0:上iwdTFllJup*:InfeiugvMnC/kf1 i.*仃IkAig=立也5 .请记住,该消息还会被转发给 WebSphere MQ 队列。要确保消息发送成功, 请打开 WebSph
17、ereMQ Explorer ,导航到 PackageReceivedQueue 队列,然后浏览其中的消息(图 10)。图10.浏览 WebSphere MQ 队列消息6 .右键单击队列中的消息,然后选择 Data选项卡(图11)。这会显示实际消息的内容。您将看 至1J,消息由消息头部分以及用 XML字符串形式表示的有效负载组成(还记得吗,我们前面要求 以序列化的 XML格式发送消息)。图11. XML消息如果您要用此示例做进一步试验,可以在 MQ导入的调出节点之前添加XSL Transformation 中介元素。这样,您可以将传入消息转换为适合后端应用程序的格式。结束语通过上述说明,您了解到如何在现有的WebSphere
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北师大版历史九年级下册第13课《新兴力量的崛起》听课评课记录
- 人教版数学七年级上册2.1《去括号》听评课记录
- 人教部编版九年级历史下册听课评课记录:第13课《罗斯福新政》
- 人教版数学九年级上册24.2《直线和圆的位置关系(1)》听评课记录
- 人教版数学八年级上册《完全平方公式》听评课记录6
- 小学二年级上册除法口算
- 九年级第一学期班主任总结
- 五年级下册口算题
- 苏教版四年级数学上册口算练习题
- 人教版数学九年级下册《构建知识体系》听评课记录2
- 品管圈活动提高氧气雾化吸入注意事项知晓率
- 格力GMV多联机安装及维修手册
- 农产品质量安全控制课件
- 尿失禁健康讲座(SUI)
- 南网5S管理、四步法、八步骤
- 幼儿园中班健康:《小河马的大口罩》 课件
- 管道工程污水管网监理规划(共44)
- 洪屏抽水蓄能电站达标投产策划方案
- 危货运输车辆日常维护检查及记录表
- 公司生产报废单
- 心身疾病优秀课件
评论
0/150
提交评论