欢迎来到天天文库
浏览记录
ID:45792643
大小:865.14 KB
页数:26页
时间:2019-11-17
《使用WebSphereESB实现协议转换和数据转换》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、使用WebSphereESB实现协议转换和数据转换简介:本文主要介绍如何通过WebSphereESB实现协议转换和数据转换功能:通过WebsphereESB实现SOAP/HTTP和JMSZ间的协议转换;实现JMSObjectMessage与BusinessObject之间、以及BusinessObject与JavaObject的数据转换;实现客户端与ESB之间request/response的交互方式,客户端向ESB发送带有数据对彖的请求,ESB请求Web服务后,将结果以数据对象的形式返回给客户端。引言已有许多文章介绍了如何将xmlmessage传入ESB进行协议转换和数据转换,而
2、在实际的应用环境中,面向对象的设计会显得更实用些。本文主耍介绍如何基于JMS和WebSphereESB构建企业服务总线,实现SOAP/HTTP和JMS之间的协议转换;实现JMSObjectMessage,BusinessObject及JavaObject之间的数据转换;以及如何实现通过ESB来实现request/response的交互方式。示例场景图1:不例场景图1示例展示了一个典型的端到端的SOA场景:(1)ServiceProvider以SOAP/HTTP方式发布WebService,该WebService输入和返回都是JavaObject;(2)客户端以JMS方式去调用这个W
3、ebService,需要经过WchSphereESB进行办议转换,WehSphereESB将客户端的JMSI•办议转换为服务端需要的SOAP/HTTP协议;(3)客户端将JMSObjectMessage发送给WehSphereESB,WehSphereESB通过SOAP/HTTP方式请求WebServiceo在服务请求的过程中,WehSphereESB将客户端传入的JMSObjectMessage转换为BusinessObject,又将BusinessObject转换为服务端需要的JavaObject;在服务返回的过程WehSphereESB将服务端返回的JavaObject转换为
4、BusinessObject,乂将BusinessObject转换为客户端能识别的JMSObjectMessage;(4)客户端向WebSphereESB发送请求和接收返回数据分别在两个队列上进彳亍,客户端只需关注如何将请求的数据转化为JMSObjectMessage并放入WehSphereESB的接收队列,以及如何从WehSphereESB的发送队列里取出JMSObjectMessage并解析所需的结果即可。木示例是基于WTD6.0.2和ESB6.0.2实现的,下面来详细介绍如何实现这一示例场景。创建Serviceprovider建立工程BookOrderService,來担任S
5、erviceProvider。该service提供了一个接口方法order(),其输入和输出分别是javaobject:OrderRequest和OrderResponse,将此方法发布成WebService,如下:1・建立一个DynamicWebProject:BookOrderService2.添加对彖类、接口和实现类对象类:Address・java包含屈性:privatcStringstreet;privateStringcity;OrderRequest・java包含属性:privateStringname;privateintcount;privateAddressadd
6、ress;OrderResponse>java包含属性:privcitedoubletotalPrice;接口类:Book0rderlf>javapublicinterfaceBookOrderlf{publicOrderResponseorder(OrderRequestreq);}实现类:BookOrderImpl.java实现了一个简单的业务逻辑。publicOrderResponseorder(OrderRequestreq){doubletotalPrice=10.0*req.getCount();OrderResponseresp=newOrderResponse();
7、resp.setTotalPrice(totalPrice);System.out.println("ServiceProvider:Thebookis"+req.getName()+"、thecityis"+req.getAddress().getCity()+〃,totalpriceis〃+totalPrice);rctuTnresp;}3.将BookOrderTmpl发布为SOAP/HTTPWebservice,产生WSDL文件BookOrdcrlmpl.wsd
此文档下载收益归作者所有