- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用 WebSphere ESB 实现协议转换和数据转换
使用 WebSphere ESB 实现协议转换和数据转换
李兆全目前就职于软通动力信息技术有限公司,工作重点是 SOA 方面的相关主题,担任 IBM WebSphere 产品的架构、开发工作。专长 于Web Service、ESB、MB 、MQ 技术。擅长于应用层的数据交换技术。
简介:?本文主要介绍如何通过 WebSphere ESB 实现协议转换和数据转换功能:通过 Websphere ESB 实现 SOAP/HTTP 和 JMS 之间的协议转换;实现 JMS Object Message 与 Business Object 之间、以及 Business Object 与 Java Object 的数据转换;实现客户端与 ESB 之间 request/response 的交互方式,客户端向 ESB 发送带有数据对象的请求,ESB 请求 Web 服务后,将结果以数据对象的形式返回给客户端。
引言
已有许多文章介绍了如何将 xml message 传入 ESB 进行协议转换和数据转换,而在实际的应用环境中,面向对象的设计会显得更实用些。本文主要介绍如何基于 JMS 和 WebSphere ESB 构建企业服务总线,实现 SOAP/HTTP 和 JMS 之间的协议转换;实现 JMS Object Message,Business Object 及 Java Object 之间的数据转换;以及如何实现通过 ESB 来实现 request/response 的交互方式。
示例场景
图 1:示例场景
图 1 示例展示了一个典型的端到端的 SOA 场景:
(1)Service Provider 以 SOAP/HTTP 方式发布 Web Service,该 Web Service 输入和返回都是 Java Object;
(2)客户端以 JMS 方式去调用这个 Web Service,需要经过 WehSphere ESB 进行协议转换,WehSphere ESB 将客户端的 JMS 协议转换为服务端需要的 SOAP/HTTP 协议;
(3)客户端将 JMS Object Message 发送给 WehSphere ESB,WehSphere ESB 通过 SOAP/HTTP 方式请求 Web Service。在服务请求的过程中,WehSphere ESB 将客户端传入的 JMS Object Message 转换为 Business Object,又将 Business Object 转换为服务端需要的 Java Object;在服务返回的过程中,WehSphere ESB 将服务端返回的 Java Object 转换为 Business Object,又将 Business Object 转换为客户端能识别的 JMS Object Message;
(4)客户端向 WebSphere ESB 发送请求和接收返回数据分别在两个队列上进行,客户端只需关注如何将请求的数据转化为 JMS Object Message 并放入 WehSphere ESB 的接收队列,以及如何从 WehSphere ESB 的发送队列里取出 JMS Object Message 并解析所需的结果即可。
本示例是基于 WID6.0.2 和 ESB6.0.2 实现的,下面来详细介绍如何实现这一示例场景。
创建 Service provider
建立工程 BookOrderService,来担任 Service Provider。该 service 提供了一个接口方法 order(),其输入和输出分别是 java object:OrderRequest 和 OrderResponse,将此方法发布成 Web Service,如下:
1.建立一个 Dynamic Web Project:BookOrderService
2.添加对象类、接口和实现类
对象类:
Address.java
包含属性:
private String street;
private String city;
OrderRequest.java
包含属性:
private String name;
private int count;
private Address address;
OrderResponse.java
包含属性:
private double totalPrice;
接口类:
BookOrderIf.java
public interface BookOrderIf {
public OrderResponse order(OrderRequest req);
}
实现类:
BookOrderImpl.java
实现了一个简单的业务逻辑。
public
您可能关注的文档
最近下载
- 2024.10政法干警锻造新时代政法铁军专题研讨班发言材料(5篇).docx VIP
- 医疗器械出库复核程序.docx
- 董责险-PPT_可编辑.ppt VIP
- 后勤岗位竞聘演讲稿PPT.pptx
- 历年华二自招考试数学试卷汇编(共5套,附答案).pdf
- 高州风土人情资料.ppt
- 食品加工技术专业及农产品加工类专业群建设项目.pdf
- 高一英语必修一单元精练Unit 3 Family Matters 重点单词变形词组短语句型(外研版2019).pdf VIP
- 英汉语言对比(华中科技大学)中国大学MOOC慕课 客观题题库答案.docx
- 《回弹法检测水泥基灌浆材料抗压强度技术规程》标准全文.docx VIP
文档评论(0)