- 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
您可能关注的文档
- 会计总论与财务管理总论的ppt教程.ppt
- 传压、快压的介绍及对比.ppt
- 会计专业职业生涯规划(绝对精品制作).ppt
- 传感器与检测技术的理论基础 11.ppt
- 伟大的开端13课.ppt
- 会议酒店设计要点.doc
- 传感器原理及应用 复习重点.doc
- 传感器的应用微课.ppt
- 传感器第五章电容传感器.ppt
- 传感器课程超声波传感器及应用.pptx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].docx
- 情绪价值系列报告:春节消费抢先看-国证国际证券.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(解析版).docx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].docx
- 液冷盲插快接头发展研究报告-全球计算联盟.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(原卷版).docx
- 精品解析:北京市东直门中学2024届高三考前练习数学试卷(解析版).docx
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第2章 人体的神经调节》大单元整体教学设计[2020课标].docx
文档评论(0)