服务总线提供服务的方法及系统的制作方法

文档序号:7982040阅读:140来源:国知局
服务总线提供服务的方法及系统的制作方法
【专利摘要】本发明提供了一种服务总线提供服务的方法及系统,所述方法包括:服务总线接收客户端单元发来的多种协议类型的服务请求消息,并对所述服务请求消息进行格式转换;将格式转换后的服务请求消息发送给服务请求消息请求的服务单元;所述服务总线接收所述服务单元返回的应答消息,对所述应答消息进行格式转换后发送给所述客户端单元。本发明通过服务总线对接收到的各种协议类型的服务请求消息进行格式转换后,发送给相应的服务单元,并将服务单元返回的应答消息进行格式转换后发送给客户端单元,扩大了服务接入和发布的方式,提升了用户使用体验。
【专利说明】服务总线提供服务的方法及系统
【技术领域】
[0001]本发明涉及网络通信【技术领域】,尤其涉及ー种服务总线提供服务的方法及系统。【背景技术】
[0002]服务总线作为客户端系统的连接中枢,是构筑面向服务架构(Service OrientedArchitecture, SOA)为基础的企业信息系统的必要元素,服务总线可以简单的定义为:由中间件技术实现并支持SOA的ー组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。通过服务总线实现客户端系统的快速接入,并通过更高级的事件、流程处理能力,能够很好的将企业信息系统与实际业务协调起来,在保证原有投资的条件下,实现更加灵活和敏捷的企业信息系统改造。
[0003]目前大多数的服务总线是基于超文本传输协议(HyperText Transfer Protocol,HTTP)协议的,只支持以Web服务(Web Service)的方式进行服务的发布,但对于以HTTPpost的发布服务方式及其他服务的接入方式并不能够支持,如此,极大地限制了服务接入和发布的方式。

【发明内容】

[0004]有鉴于此,本发明的主要目的在于提供ー种服务总线提供服务的方法及系统,能够扩大服务的使用范围,提升用户体验。
[0005]为达到上述目的,本发明的技术方案是这样实现的:
[0006]ー种服务总线提供服务的方法,所述方法包括:
[0007]服务总线接收客户端单元发来的多种协议类型的服务请求消息,并对所述服务请求消息进行格式转换;
[0008]将格式转换后的服务请求消息发送给服务请求消息请求的服务单元;
[0009]所述服务总线接收所述服务单元返回的应答消息,对所述应答消息进行格式转换后发送给所述客户端単元。
[0010]其中,所述服务总线接收客户端单元发来的多种协议类型的服务请求消息为:
[0011]所述服务总线接收客户端单元发来的Java消息服务(JMS)协议类型或远程方法调用(RMI)协议类型的服务请求消息。
[0012]其中,所述服务总线对所述服务单元请求消息进行格式转换为:
[0013]所述服务总线将JMS协议类型或RMI协议类型的服务请求消息转换为简单对象访问协议(SOAP)类型的服务请求消息。
[0014]其中,所述服务总线接收所述服务单元返回的应答消息为:
[0015]所述服务总线接收所述服务单元返回的SOAP类型的应答消息。
[0016]其中,所述对所述应答消息进行格式转换后发送给所述客户端单元为:
[0017]所述服务总线根据所述应答消息中目的地址对应客户端单元的协议类型,将SOAP类型的应答消息转换为JMS协议类型或RMI协议类型的应答消息并发送给相应的客户端单J Li o
[0018]ー种服务总线提供服务的系统,包括客户端单元、服务单元,所述系统还包括:月艮务总线;其中,
[0019]所述服务总线,用于接收客户端单元发来的多种协议类型的服务请求消息,并对所述服务请求消息进行格式转换;将格式转换后的服务请求消息发送给服务请求消息请求的服务单元;接收所述服务单元返回的应答消息,对所述应答消息进行格式转换后发送给所述客户端单元。
[0020]其中,所述服务总线包括:适配单元,所述适配単元包括接收模块、统ー消息路由模块、转换模块;其中,
[0021]所述接收模块,用于接收客户端单元发来的JMS协议类型或RMI协议类型的服务请求消息,并通过统ー消息路由模块将所述服务请求消息发送给转换模块。
[0022]其中,所述服务总线包括:适配单元,所述适配単元包括接收模块、统ー消息路由模块、转换模块、发送模块;其中,
[0023]所述转换模块,用于将接收模块通过统ー消息路由模块发来的JMS协议类型或RMI协议类型的服务请求消息转换为SOAP类型的服务请求消息;
[0024]所述发送模块,用于将转换模块通过统ー消息路由模块发来的SOAP类型的服务请求消息发送给相应的服务单元。
[0025]其中,所述服务总线包括:适配单元,所述适配単元包括接收模块;其中,
[0026]所述接收模块,用于接收所述服务単元返回的SOAP类型的应答消息。
[0027]其中,所述服务总线包括:适配单元,所述适配単元包括接收模块、统ー消息路由模块、转换模块、发送模块;其中,
[0028]所述接收模块,用于接收所述服务単元返回的应答消息;
[0029]所述转换模块,用于根据接收模块通过统ー消息路由模块发来的应答消息中目的地址对应客户端的协议类型,将SOAP类型的应答消息转换为JMS协议类型或RMI协议类型的应答消息;
[0030]所述发送模块,用于将转换模块通过统ー消息路由模块发来的应答消息发送给相应的客户端单元。
[0031]本发明通过服务总线对接收到的各种协议类型的服务请求消息进行格式转换后,发送给相应的服务单元,并将服务单元返回的应答消息进行格式转换后发送给客户端单元,扩大了服务接入和发布的方式,提升了用户使用体验。
【专利附图】

【附图说明】
[0032]图1为本发明服务总线提供服务的方法的实现流程示意图;
[0033]图2为本发明服务总线提供服务的系统的结构示意图;
[0034]图3为本发明服务总线提供服务的系统中适配単元的结构示意图。
【具体实施方式】
[0035]本发明的基本思想为:服务总线接收客户端单元发来的多种协议类型的服务请求消息,并对所述服务请求消息进行格式转换;将格式转换后的服务请求消息发送服务请求消息请求的服务单元;所述服务总线接收所述服务单元返回的应答消息,对所述应答消息进行格式转换后发送给所述客户端単元。
[0036]为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并參照附图,对本发明进一歩详细说明。
[0037]图1示出了本发明服务总线提供服务的方法的实现流程,如图1所示,所述方法包括下述步骤:
[0038]步骤101,服务总线接收客户端单元发来的多种协议类型的服务请求消息,并对所述服务请求消息进行格式转换;
[0039]这里,当用户需要访问某一应用时,会通过客户端单元输入服务请求消息,客户端单元将用户输入的服务请求消息发送给所述服务总线;
[0040]服务总线接收客户端单元发来的Java消息服务(Java Message Service, JMS)协议类型或远程方法调用(Remote Method Invocation, RMI)协议类型的服务请求消息;并将所述JMS协议类型或RMI协议类型的服务请求消息转换为简单对象访问协议(SimpleObject Access Protocol, SOAP)类型的服务请求消息;具体是将所述服务请求消息的消息格式、通讯方式以及编码格式等等转换为各自所请求服务单元所支持的协议类型。
[0041]步骤102,服务总线将格式转换后的服务请求消息发送给服务请求消息请求的服务单元;
[0042]具体地,本步骤中,服务总线根据格式转换后的服务请求消息所请求的服务单元,将所述服务请求消息发送给相应的具体的服务单元;
[0043]当所述服务単元接收到服务请求消息后,进行消息验证,井根据所述服务请求消息的内容返回具体的应答消息给服务总线。
[0044]步骤103,所述服务总线接收所述服务单元返回的应答消息,对所述应答消息进行格式转换后发送给所述客户端単元;
[0045]这里,所述服务总线根据所述应答消息中目的地址对应客户端的协议类型,将SOAP类型的应答消息转换为JMS协议类型或RMI协议类型的应答消息并发送给相应的客户端単元;具体是将所述应答消息的消息格式、通讯方式以及编码格式等等转换成所述客户端単元所应用的协议类型。
[0046]其中,上述服务请求消息不同协议类型中间的转换具体如下:当上述服务请求消息在JMS协议类型和SOAP类型之间的转换时,由于JMS协议类型和SOAP类型的消息都是基于HTTP的,只是消息格式有所不同,一种较为简单的方式是将SOAP类型的消息封装到JMS协议类型消息的消息体中,转换回来时则可直接将JMS协议类型消息的封装去掉,则得到SOAP类型的消息;当然,为了提高工作效率,还可以通过比上述转换方式复杂的转换方式进行消息类型之间的转换,比如,可以将服务在内部传输的形式XML over JMS Se rvice包装成Web Service,来使合作伙伴或者客户也可以从外部调用该服务;进ー步地,当JMSService可以区分服务请求的优先级时,包装后的Web Se rvice也需要支持区分服务请求的优先级的能力;
[0047]这里,JMS Service通过在JMS消息头中的JMS_Priority属性区分服务请求的优先级。相应地,在Web service的SOAP消息头中定义标识优先级的元素,如此,SOAP类型的服务请求消息相应会复杂ー些;具体地,当SOAP消息中添加了用于表示服务优先级为2的消息头时,则在将该SOAP消息转换为JMS协议类型消息吋,需要首先提取该服务优先级的值,并在JMS协议类型消息的消息头中的JMS_Priority中的值设为2,然后再把SOAP消息体中的字段封装在JMS消息体中,如此,则实现了 SOAP类型消息和JMS协议类型消息的
无缝对接。
[0048]应当理解,上述服务请求消息类型之间的转换还存在其他方式,如引入统ー的标准数据对象,该数据对象能够和任意有规则的数据或对象进行等价互转,通过把此数据对象作为各种不同消息类型之间格式转换的中介来实现数据转换。
[0049]图2示出了本发明服务总线提供服务的系统的结构,图3为图2所示系统中服务总线所包括的适配单元的结构示意图,如图2和图3所示,所述服务总线提供服务的系统,包括客户端单元、服务单元,还包括:服务总线;其中,图2中客户端单元是以支持Web服务相关协议的Web客户端单元、支持RMI协议的RMI客户端单元以及支持JMS协议的JMS客户端单元进行的示意;相应地,服务单元是以支持Web服务相关协议的Web服务单元、支持RMI协议的RMI服务单元以及支持JMS协议的JMS服务单元进行的示意;
[0050]应当理解,所述客户端単元和服务单元分别还可以包括支持其他协议类型的客户端単元和服务单元。
[0051]所述服务总线,用于接收客户端单元发来的多种协议类型的服务请求消息,并对所述服务请求消息进行格式转换;将格式转换后的服务请求消息发送给服务请求消息请求的服务单元;接收所述服务单元返回的应答消息,对所述应答消息进行格式转换后发送给所述客户端单元。
[0052]其中,所述服务总线包括:适配单元,所述适配単元包括接收模块、统ー消息路由模块、转换模块;其中,图3中接收模块是以支持SOAP的SOAP接收模块、支持RMI协议的RMI接收模块以及支持JMS协议的JMS接收模块进行的示意;应当理解,所述接收模块分别还可以包括支持其他协议类型的接收模块。
[0053]所述接收模块,用于接收客户端单元发来的JMS协议类型或RMI协议类型的服务请求消息,并通过统ー消息路由模块将所述服务请求消息发送给转换模块。
[0054]其中,所述适配単元包括还发送模块;其中,图3中发送模块是以支持SOAP的SOAP发送模块、支持RMI协议的RMI发送模块以及支持JMS协议的JMS发送模块进行的示意;应当理解,所述发送模块分别还可以包括支持其他协议类型的发送模块。
[0055]所述转换模块,用于将接收模块通过统ー消息路由模块发来的JMS协议类型或RMI协议类型的服务请求消息转换为SOAP类型的服务请求消息;
[0056]所述发送模块,用于将转换模块通过统ー消息路由模块发来的SOAP类型的服务请求消息发送给相应的服务单元。
[0057]其中,所述适配単元的接收模块,用于接收所述服务単元返回的SOAP类型的应答消息。
[0058]进ー步地,所述接收模块,用于接收所述服务単元返回的应答消息;
[0059]所述转换模块,用于根据接收模块通过统ー消息路由模块发来的应答消息中目的地址对应客户端的协议类型,将SOAP类型的应答消息转换为JMS协议类型或RMI协议类型的应答消息;
[0060]所述发送模块,用于将转换模块通过统ー消息路由模块发来的应答消息发送给相应的客户端单元。
[0061]应当理解,在本发明中,适配单元的接收模块与转换模块交互的所有消息以及发送模块与转换模块交互的所有消息都是通过传输通道传送到统ー消息路由模块,再由统ー消息路由模块通过传输通道传送到对方进行的交互。如此,通过统ー消息路由模块作为聚合消息的出入口,能够让所有的消息具有相同的出入口,很好地提高了各个功能模块的复用性,而且能够避免不必要的复杂性。
[0062]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【权利要求】
1.ー种服务总线提供服务的方法,其特征在于,所述方法包括: 服务总线接收客户端单元发来的多种协议类型的服务请求消息,并对所述服务请求消息进行格式转换; 将格式转换后的服务请求消息发送给服务请求消息请求的服务单元; 所述服务总线接收所述服务单元返回的应答消息,对所述应答消息进行格式转换后发送给所述客户端单元。
2.根据权利要求1所述的方法,其特征在于,所述服务总线接收客户端单元发来的多种协议类型的服务请求消息为: 所述服务总线接收客户端单元发来的Java消息服务JMS协议类型或远程方法调用RMI协议类型的服务请求消息。
3.根据权利要求1所述的方法,其特征在于,所述服务总线对所述服务单元请求消息进行格式转换为: 所述服务总线将JMS协议类型或RMI协议类型的服务请求消息转换为简单对象访问协议SOAP类型的服务请求消息。
4.根据权利要求1所述的方法,其特征在于,所述服务总线接收所述服务单元返回的应答消息为: 所述服务总线接收所述服务单元返回的SOAP类型的应答消息。
5.根据权利要求1所述的方法,其特征在于,所述对所述应答消息进行格式转换后发送给所述客户端单元为: 所述服务总线根据所述应答消息中目的地址对应客户端单元的协议类型,将SOAP类型的应答消息转换为JMS协议类型或RMI协议类型的应答消息并发送给相应的客户端单J Li o
6.ー种服务总线提供服务的系统,包括客户端单元、服务单元,其特征在于,所述系统还包括:服务总线;其中, 所述服务总线,用于接收客户端单元发来的多种协议类型的服务请求消息,并对所述服务请求消息进行格式转换;将格式转换后的服务请求消息发送给服务请求消息请求的服务单元;接收所述服务单元返回的应答消息,对所述应答消息进行格式转换后发送给所述客户端单元。
7.根据权利要求6所述的系统,其特征在于,所述服务总线包括:适配单元,所述适配単元包括接收模块、统ー消息路由模块、转换模块;其中, 所述接收模块,用于接收客户端单元发来的JMS协议类型或RMI协议类型的服务请求消息,并通过统ー消息路由模块将所述服务请求消息发送给转换模块。
8.根据权利要求6所述的系统,其特征在于,所述服务总线包括:适配单元,所述适配単元包括接收模块、统ー消息路由模块、转换模块、发送模块;其中, 所述转换模块,用于将接收模块通过统ー消息路由模块发来的JMS协议类型或RMI协议类型的服务请求消息转换为SOAP类型的服务请求消息; 所述发送模块,用于将转换模块通过统ー消息路由模块发来的SOAP类型的服务请求消息发送给相应的服务单元。
9.根据权利要求6所述的系统,其特征在于,所述服务总线包括:适配单元,所述适配単元包括接收模块;其中, 所述接收模块,用于接收所述服务単元返回的SOAP类型的应答消息。
10.根据权利要求6所述的系统,其特征在于,所述服务总线包括:适配单元,所述适配単元包括接收模块、统ー消息路由模块、转换模块、发送模块;其中, 所述接收模块,用于接收所述服务単元返回的应答消息; 所述转换模块,用于根据接收模块通过统ー消息路由模块发来的应答消息中目的地址对应客户端的协议类型,将SOAP类型的应答消息转换为JMS协议类型或RMI协议类型的应答消息; 所述发送模块,用于将转换模块通过统ー消息路由模块发来的应答消息发送给相应的客户端单元。
【文档编号】H04L29/06GK103595695SQ201210290553
【公开日】2014年2月19日 申请日期:2012年8月15日 优先权日:2012年8月15日
【发明者】仇大帅, 潘俊, 付章华 申请人:深圳中兴网信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1