CN102364921A - 企业服务总线的实现方法、设备及相应的平台 - Google Patents

企业服务总线的实现方法、设备及相应的平台 Download PDF

Info

Publication number
CN102364921A
CN102364921A CN2011103721268A CN201110372126A CN102364921A CN 102364921 A CN102364921 A CN 102364921A CN 2011103721268 A CN2011103721268 A CN 2011103721268A CN 201110372126 A CN201110372126 A CN 201110372126A CN 102364921 A CN102364921 A CN 102364921A
Authority
CN
China
Prior art keywords
equipment
soa
request message
esb
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011103721268A
Other languages
English (en)
Inventor
刘剡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ctrip Computer Technology Shanghai Co Ltd
Original Assignee
Ctrip Computer Technology Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ctrip Computer Technology Shanghai Co Ltd filed Critical Ctrip Computer Technology Shanghai Co Ltd
Priority to CN2011103721268A priority Critical patent/CN102364921A/zh
Publication of CN102364921A publication Critical patent/CN102364921A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种企业服务总线的实现方法、设备及相应的平台,涉及企业应用***交互技术,解决了现有技术中ESB的实现方法对于***来说过于沉重的技术问题,本发明中的方法主要包括:SOA.ESB设备接收来自服务消费者设备的按照请求消息契约协议定义的请求消息;所述SOA.ESB设备根据所述请求消息中携带的用户端标识确定所述服务消费者设备是有安全权限进行请求;如果确定有安全权限进行请求,则当所述请求消息中携带的消息参数指示为同步处理时,所述SOA.ESB设备将所述请求消息转发到对应的服务提供者设备。本发明主要用于企业内部交互。

Description

企业服务总线的实现方法、设备及相应的平台
技术领域
本发明涉及企业应用***交互的技术,尤其涉及一种企业服务总线(Enterprise Service Bus,ESB)的实现方法、设备及相应的***。
背景技术
随着一些大中型企业内部的***越来越多,***之间的关系越来越复杂。这种情况下,大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息***平台。因此SOA(Service-OrientedArchitecture,面向服务的体系结构)技术应运而生。SOA技术可将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来,使用户可以不受限制地重复各自应用。
支撑SOA的关键是其消息传递架构,即ESB。ESB可以用于实现企业应用不同消息和信息的准确、高效和安全传递,同时它还可以消除不同应用之间的技术差异,让不同的应用服务协调运作,实现不同服务之间的通信与整合。
现有技术中ESB模型非常完整,并且通常具有很丰富的功能,包括通信功能、服务交换功能、集成功能、服务质量功能、安全性功能、服务治理功能以及建模功能等。
但是,现有技术的这种ESB具有如下技术问题:ESB支持的功能过多,有些功能如建模功能等并不常用,此时其存在反而成为一种负担,对于整个企业应用***来说过于沉重,导致***配置、维修困难,同时也使采购成本相应增加。
发明内容
本发明的实施例提供一种ESB的实现方法、设备及相应的平台,轻量级的实现ESB,减轻ESB对***配置、维修等造成的负担。
为达到上述目的,本发明的实施例采用如下技术方案:
一种企业服务总线的实现方法,包括:
企业服务总线核心服务SOA.ESB设备接收来自服务消费者设备的按照请求消息契约协议定义的请求消息;
该SOA.ESB设备根据该请求消息中携带的用户端标识确定该服务消费者设备是有安全权限进行请求;
如果确定有安全权限进行请求,则当该请求消息中携带的消息参数指示为同步处理时,该SOA.ESB设备将该请求消息转发到对应的服务提供者设备;当该请求消息中携带的消息参数指示为异步处理时,该SOA.ESB设备将该请求消息发送到企业服务总线消息队列服务SOA.MSMQ设备进行异步处理,并由该SOA.MSMQ设备将该请求消息转发到对应的服务提供者设备。
其中,在上述SOA.MSMQ设备将该请求消息转发到对应的服务提供者设备之前,该方法还包括:
如果网络出现异常或该异步处理超过预定时间,则该SOA.MSMQ设备将该指示为异步处理的请求消息发送到企业服务总线数据库SOADB设备,该SOADB设备将该指示为异步处理的请求消息作为发送失败的请求消息进行存储;
企业服务总线自动重复服务SOA.Autosend设备定时对该SOADB设备中存储的该发送失败的请求消息重发到该对应的服务提供者。
优选地,该方法还包括:
该SOA.ESB设备接收该对应的服务提供者设备回复的针对该同步处理的请求消息所请求的处理结果;
该SOA.ESB设备将该指示为同步处理的请求消息和该所请求的处理结果,发送到该企业服务总线日志服务SOA.ESBlog设备;
该SOA.ESBlog设备将该同步处理的请求消息和该请求的处理结果作为日记信息发送到该SOADB设备进行存储,以便企业服务总线后台维护***SOAMgm设备访问该SOADB设备中存储的该日记信息。
进一步,优选地,该方法还可以包括:
该企业服务总线监控服务SOA.Monitor设备分别传送心跳消息到该SOA.ESB设备、该SOA.MSMQ设备、该SOA.ESBlog设备和该SOA.Autosend设备,进而监控该SOA.ESB设备、该SOA.MSMQ设备、该SOA.ESBlog设备和该SOA.Autosend设备是否正常运行。
此外,该方法还可以包括:
针对来自该SOA.ESB设备的请求消息,该对应的服务提供者设备按照该消息契约协议定义,将针对该请求消息的处理结果通过该SOA.ESB设备回复到该服务消费者设备。
其中,上述消息契约协议定义该请求消息采用XML格式,且该请求消息的包头信息包括:服务请求用户ID,服务消费者设备IP地址,请求类型,异步消息参数。
一种企业服务总线的实现设备,包括:
接收模块,用于接收来自服务消费者设备的按照消息请求消息契约协议定义的请求消息;
鉴权模块,用于根据该请求消息中携带的用户端标识确定该服务消费者设备是有安全权限进行请求;
同步处理模块,用于当该鉴权模块确定有安全权限进行请求,且该请求消息中携带的消息参数指示为同步处理时,将该请求消息转发到对应的服务提供者设备。
异步跳转模块,用于当该鉴权模块确定有权限进行请求,且该请求消息中携带的消息参数指示为异步处理时,将该请求消息发送到该SOA.MSMQ设备进行异步处理,并发送接收成功消息到该服务消费者设备。
优选地,上述设备还可以包括:
收集模块,用于接收该对应的服务提供者设备回复的针对该同步处理的请求消息所请求的处理结果;
转储模块,用于将该指示为同步处理的请求消息和该请求的处理结果,发送到该SOA.ESBlog设备,以便该SOA.ESBlog设备将该同步处理的请求消息和该请求的处理结果作为日记信息发送到该企业服务总线数据库SOADB设备进行存储,进而使SOAMgm设备访问该SOADB设备中存储的该日记信息。
一种面向服务体系结构的平台,包括:SOA.ESB设备,SOA.MSMQ设备;
该SOA.ESB设备,用于接收来自服务消费者设备的按照请求消息契约协议定义的请求消息,并根据该请求消息中携带的用户端标识确定该服务消费者设备是有安全权限进行请求,如果确定有安全权限进行请求,则当该请求消息中携带的消息参数指示为同步处理时,将该请求消息转发到对应的服务提供者设备;当该请求消息中携带的消息参数指示为异步处理时,将该请求消息发送到该SOA.MSMQ设备进行异步处理;
该SOA.MSMQ设备,用于接收该请求消息,并进行异步处理,再将该请求消息转发到对应的服务提供者设备。
此外,该ESB平台还可以包括:SOADB设备和SOA.Autosend设备;
该SOA.MSMQ设备,还用于在网络出现异常或该异步处理超过预定时间,将该指示为异步处理的请求消息发送到该SOADB设备;
该SOADB设备,用于将该指示为异步处理的请求消息作为发送失败的请求消息进行存储;
该SOA.Autosend设备,用于定时对该SOADB设备中存储的该发送失败的请求消息重发到该对应的服务提供者。
进一步,该ESB平台还可以包括:SOA.ESBlog设备、SOADB设备以及SOAMgm设备;
该SOA.ESB设备,还用于接收该对应的服务提供者设备回复的针对该同步处理的请求消息所请求的处理结果,并将该指示为同步处理的请求消息和该请求的处理结果,发送到该SOA.ESBlog设备;
该SOA.ESBlog设备,用于将该同步处理的请求消息和该请求的处理结果作为日记信息发送到该企业服务总线数据库SOADB设备;
该SOADB设备,用于,存储上述日记信息;
该SOAMgm设备,用于访问该SOADB设备中存储的该日记信息,以便用户查询该日记信息。
本发明提供的技术方案中的ESB可以对接收到的按照消息契约协议定义的请求消息进行安全权限验证,并对通过验证的消息进行同步异步处理,最后发送到对应的服务提供者设备,属于一种支持主功能的轻量级ESB,不仅可以使***交互过程安全,简洁,效率高,还可以实现使不同服务之间的通信与整合,同时减轻ESB对***配置、维修等造成的负担。
附图说明
图1为本发明实施例一中的ESB平台的构建示意图;
图2为本发明实施例一中的一种ESB的实现方法的流程示意图;
图3为本发明实施例一中的安全权限校验方法的流程示意图;
图4为本发明实施例二中的一种ESB的实现设备的结构示意图。
具体实施方式
本实施例结合图1所示的ESB平台,提供一种ESB的实现方法,如图2所示,该方法包括:
步骤101,服务消费者设备按照请求消息契约协议定义请求消息,该请求消息为请求实体对象序列化成为XML(Extens ible Markup Language,可扩展标记语言)格式的字符串,并将此XML格式的字符串发送到SOA.ESB设备。
其中,上述消息契约协议是服务消费者设备和服务提供者设备均采用的统一的消息定义机制,用于定义所述请求消息采用XML格式,且所述请求消息的包头信息至少包括(参照下表一):服务请求用户ID,服务消费者设备IP地址,请求类型,异步消息参数等,包头信息以外的内容为具体的需要服务提供者设备处理的业务信息。即请求消息采用XML格式,并且最终统一传递到消息提供者的单一接口,服务提供者设备对采用这样定义的请求消息进行解析识别之后,再根据该请求消息的请求类型进行具体的处理,并将处理结果同样按照该消息契约协议定义后回复到服务消费者设备。服务提供者设备具体处理业务信息的过程与现有技术相同,在此不赘述。本实施例中的这种机制只是简单地在请求消息头部信息采用固定的定义方式,(具体定义方式如下表一,其中,表一中定义的多个属性中如AsyncRequest、User ID等比较常用,其余的可根据需要省略或遵循默认值),但是大大简化了服务的开发和接口的复杂度。
步骤102,SOA.ESB设备接收来自服务消费者的上述请求消息后,根据所述请求消息中携带的用户端标识确定服务消费者设备是有安全权限进行请求;如果有安全权限则执行步骤103,否则返回拒绝请求消息到该服务消费者设备;
具体地,步骤102可通过如下方式实现:如图2所示,包括
步骤1021,SOA.ESB设备根据请求消息中的Client IP地址,确定该ClientIP地址是否在预先设置在SOA.ESB设备里的访问许可白名单中,如果不在,则代表该IP地址不安全,执行步骤1022;如果在,则代表该IP地址安全,执行步骤1023;
表一
Figure BDA0000110707800000071
步骤1022,SOA.ESB设备返回服务消费者设备拒绝访问的消息,并不再执行下述流程;
步骤1023,SOA.ESB设备反序列化上述XML格式的字符串请求消息为实体对象,如果反序列化失败,则执行步骤1024;如果反序列化成功,则执行步骤1025;
步骤1024,SOA.ESB设备返回消息错误到服务消费者设备,并不再执行下述步骤;
步骤1025,SOA.ESB设备根据实体对象中服务消费者User ID和预先存储的用于确定访问权限列表,判断该服务消费者设备是否有访问对应的服务提供者设备的权限。如果没有访问权限,则执行步骤1026;如果有访问权限,则执行步骤103;
步骤1026,SOA.ESB设备返回无权访问的消息到服务消费者设备,并不再执行下述步骤。
步骤103,SOA.ESB设备根据请求消息中服务消费者设备的AsyncRequest的参数值,判断是否应该进行异步处理。如果参数值指示为同步处理,则执行步骤104;如果参数值指示为异步处理,则执行步骤106;
步骤104,SOA.ESB设备根据请求消息中RequestType的参数值,获取对应服务提供者设备的目的地址之后,将该请求消息转发到该目的地址对应的服务提供者设备。并等待该对应的服务提供者设备20返回对请求消息的处理结果。
步骤105,优选地,在等待服务提供者设备返回结果的过程中,如果出现超时、网络异常等情况,SOA.ESB设备将错误信息返回到服务消费者设备;如果SOA.ESB设备正常接收到服务提供者设备针对请求消息的处理结果,即SOA.ESB设备接收到该对应的服务提供者设备回复的针对需要同步处理的请求消息所请求的处理结果,则将此处理结果直接回复给服务消费者设备,此时无需再执行下述步骤。
其中,服务提供者设备也该按照上述消息契约协议定义该处理结果后,再发送到SOA.ESB设备。
步骤106,SOA.ESB设备将该请求消息转发到SOA.MSMQ设备中的请求消息队列进行异步处理(具体异步处理过程相见下述步骤107),并直接向服务消费者设备返回接收成功的结果。
步骤107,SOA.MSMQ设备侦听到上述SOA.ESB设备发送而来的需要进行异步处理的请求消息之后,将请求消息从消息请求消息队列中取出并采用同SOA.ESB设备相同的处理方式,即SOA.MSMQ设备根据请求消息中RequestType的参数值,获取对应服务提供者设备的目的地址之后,将该请求消息转发到该目的地址对应的服务提供者设备。
优选地,本实施例中提供方法中,还可以包括一种补充机制,用于为上述异步处理过程服务。下面介绍该补偿机制的具体方案:
在步骤107中,该SOA.MSMQ设备将该请求消息转发到该目的地址对应的服务提供者设备之前,如果网络出现异常或该异步处理超过预定时间,则SOA.MSMQ设备将该请求消息发送到SOADB设备,SOADB设备将该请求消息作为发送失败的请求消息进行存储;并且,SOA.Autosend设备定时对SOADB设备中存储的上述发送失败的请求消息进行访问,并按照预定的重复次数通过连接45进行重发,直到成功发送到对应的服务提供者设备。如果达到该预定的重复次数后,请求消息仍旧未发送到,则SOA.Autosend设备将请求消息存放到专门记录失败的列表中,由人工进行后续的处理。
优选地,本实施的方法中还将提供一种管理机制,以便对实上述同步或异步处理过程中的请求消息或处理结果进行管理。包括:
在执行完上述步骤105后,即:SOA.ESB设备可以在上述将此处理结果直接回复给服务消费者设备后,将上述指示为同步处理的请求消息(包括该请求消息中携带的信息,如culture/version/referenceid/Transno/sessionid/requested等)和对应的服务提供者设备回复的上述此处理结果,发送到SOA.ESBlog设备,SOA.ESBlog设备将它们整理为日记信息,并发送到SOADB设备进行存储;当用户需要处理,如查询或管理该日记信息,即同步处理的请求消息或其所请求的处理结果时,用户可以利用SOAMgm设备访问SOADB设备中存储的所述日记信息。
同理,SOA.MSMQ设备也可将指示为异步处理的请求消息,(包括该请求消息中携带的信息,如culture/version/referenceid/Transno/sessionid/requestid等),发送到SOA.ESBlog设备,所述SOA.ESBlog设备将所述异步处理的请求消息作为日记信息发送到SOADB设备,并存储;当用户需要处理如查询或管理该日记信息,即该异步处理的请求消息时,用户可以利用SOAMgm设备访问SOADB设备中存储的该记信息。
优选地,本实施例提供的方法中,还提供一种监控机制,可用于监控同步或异步处理过程是否正常进行。包括:
SOA.Monitor设备定时传送心跳消息到SOA.ESB设备、SOA.MSMQ设备、SOA.ESBlog设备34和SOA.Autosend设备,监控SOA.ESB设备、SOA.MSMQ设备、SOA.ESBlog设备和SOA.Autosend设备是否正常运行。如果未接收到SOA.ESB设备、SOA.MSMQ设备、SOA.ESBlog设备和SOA.Autosend设备中某一设备回复的心跳响应消息时,则代表该设备可能出现故障,此时SOA.Monitor设备可发出报警信息。
此外,如果SOA.ESB设备步骤101到步骤105的过程中有任一步骤失败,例如SOA.ESB设备在等待服务提供者设备返回结果的过程中,如果出现超时、网络异常等情况,SOA.ESB设备将错误信息返回到服务消费者设备等,都代表该指示同步处理的请求消息发送失败,则SOA.ESB设备自动将失败的请求消息最终记录到SOA.ESBDB35中,用户可以通过SOAMgm设备查询进行问题的查找分析。
SOA.SOA.ESB设备或SOA.SOA.MSMQ设备在同步或异步处理请求消息的过程中会将所有请求消息处理的情况,记录到计数器中,包括服务消费者设备的访问量、成功率、失败率、网络异常次数、平均响应时长、最后响应时间等;当计数器中某个服务消费者设备发起的请求消息数量出现异常,或某个服务提供者设备的连续一定时间内失败率超过警戒线的情况下,OA.SOA.ESB设备或SOA.SOA.MSMQ设备会自动发出报警邮件到***维护人员。
在图1中结合包括一个SOA.ESB设备和一个SOA.MSMQ设备的ESB平台为例描述了本实施例提供的方法,实际上,根据请求消息处理量地需要,SOA.ESB设备和SOA.MSMQ设备也可以为多个,每个功能同本实施例中的SOA.ESB设备和SOA.MSMQ设备,也是本领域技术人员可以从上述描述中轻易获得的,在此不赘述。
本实施例提供的方法中,服务提供者设备在开发服务的过程中,其服务接口的消息格式必须采用XML格式,而包头信息必须采用如上表一所述的统一定义,该包头信息可用于是提供给SOA.ESB设备进行安全、权限验证,以及消息的路由作用。同其他的ESB服务一样,本实施的服务上线时,也需要在SOA治理进行注册,注册时必须注明服务名称、服务地址、提供的所有接口,以及服务接口的模板,是否需要记录日志配置等。服务消费者设备可通过已有的服务库列表浏览到所需要的服务信息,并可下载服务提供者设备的接口契约设计文档,进行客户端程序的开发。服务消费者设备访问服务之前,需要进行对应的权限申请以及客户端IP注册,审核通过之后,其相应的权限关系将提供给SOA.ESB设备所使用记录与白名单或访问权限列表中等,SOA.ESB根据其进行请求消息的安全以及权限的验证。服务消费者设备访问服务时,将请求消息按照服务提供者的要求,采用XML格式序列化,发送给SOA.ESB设备,之后SOA.ESB设备就能按照相关的规则进行处理,并将最终结果返回给服务消费者设备。
本实施例通过较为简洁的方式提供了一个轻量级ESB的实现方法。能够有效地进行同步/异步请求消息处理,安全权限验证,消息路由以及消息补偿,监控和日常管理等,可以实现通信、服务交互,安全以及服务治理等核心功能,并支持高并发的服务消费者访问,使得众多服务消费者设备与众多服务提供者设备的交互变得更加简洁,降低了***的复杂度,避免配置、维护***的困难,提升了***的可用性,可扩展性以及可维护性。
实施例二
本实施例提供一种ESB的实现设备,可用作上述SOA.ESB设备使用。如图4所示,包括:接收模块41,鉴权模块42,同步处理模块43,异步跳转模块44。
接收模块41,用于接收来自服务消费者设备的按照消息契约协议定义的请求消息;鉴权模块42,用于根据所述请求消息中携带的用户端标识确定所述服务消费者设备是有权限进行请求;同步处理模块43,用于当所述鉴权模块42确定有权限进行请求,且所述请求消息中携带的消息参数指示为同步处理时,将所述请求消息转发到对应的服务提供者设备;异步跳转模块44,用于当所述鉴权模块42确定有安全权限进行请求,且所述请求消息中携带的消息参数指示为异步处理时,将所述请求消息发送到所述SOA.MSMQ设备进行异步处理,并发送接收成功消息到所述服务消费者设备。
优选地,该设备还可包括:收集模块45,转储模块46。
收集模块45,用于接收所述对应的服务提供者设备回复的针对所述同步处理的请求消息所请求的处理结果;
转储模块46,用于将所述指示为同步处理的请求消息和所述请求的处理结果,发送到所述SOA.ESBlog设备,以便所述SOA.ESBlog设备将所述同步处理的请求消息和所述请求的处理结果作为日记信息发送到所述企业服务总线数据库SOADB设备进行存储,进而使SOAMgm设备访问所述SOADB设备中存储的所述日记信息。
本实施例提供的ESB实现设备可以根据接收到的按照消息契约协议定义的请求消息执行同步/异步通信等核心功能,实现过程简单,便于对***配置和维护,可简化整个***的复杂度。
实施例三
本实施例提供一种ESB的平台,如图1所示,该平台包括:SOA.ESB设备,SOA.MSMQ设备;
该SOA.ESB设备,用于接收来自服务消费者设备的按照请求消息契约协议定义的请求消息,并根据所述请求消息中携带的用户端标识确定所述服务消费者设备是有安全权限进行请求,如果确定有安全权限进行请求,则当所述请求消息中携带的消息参数指示为同步处理时,将请求消息转发到对应的服务提供者设备;当所述请求消息中携带的消息参数指示为异步处理时,将该请求消息发送到SOA.MSMQ设备进行异步处理;
该SOA.MSMQ设备,用于接收所述请求消息,并进行异步处理,再将所述请求消息转发到对应的服务提供者设备。
优选地,如图1所示,还包括:SOADB设备和SOA.Autosend设备;
该SOA.MSMQ设备,还用于在网络出现异常或所述异步处理超过预定时间,将所述指示为异步处理的请求消息发送到该SOADB设备;
该SOADB设备,用于将所述指示为异步处理的请求消息作为发送失败的请求消息进行存储;
该SOA.Autosend设备,用于定时对所述SOADB设备中存储的所述发送失败的请求消息重发到上述对应的服务提供者。
优选地,如图1所示,该ESB平台还包括:SOA.ESBlog设备、SOADB设备以及SOAMgm设备;
该SOA.ESB设备,还用于接收所述对应的服务提供者设备回复的针对所述同步处理的请求消息所请求的处理结果,并将该指示为同步处理的请求消息和该请求的处理结果,发送到SOA.ESBlog设备;
上述SOA.ESBlog设备,用于将上述同步处理的请求消息和该请求的处理结果作为日记信息发送到该企业服务总线数据库SOADB设备;
该SOADB设备,用于,存储上述日记信息;
该SOAMgm设备,用于访问所述SOADB设备中存储的所述日记信息,以便用户查询所述日记信息。
本实施例提供的ESB平台可以传递多个服务消费者设备与多个服务提供者设备之间的请求消息,使每个服务消费者无需了解太多为之提供服务的服务提供者设备的相关信息,多数的交互过程由ESB平台完成,并且交互过程主要包括同步/异步处理,日常信息管理等核心功能,因此交互过程简单,降低了***复杂性,简化了***的处理流程。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种企业服务总线的实现方法,其特征在于,包括:
企业服务总线核心服务SOA.ESB设备接收来自服务消费者设备的按照消息契约协议定义的请求请求消息;
所述SOA.ESB设备根据所述请求消息中携带的用户端标识确定所述服务消费者设备是有安全权限进行请求;
如果确定有安全权限进行请求,则当所述请求消息中携带的消息参数指示为同步处理时,所述SOA.ESB设备将所述请求消息转发到对应的服务提供者设备;当所述请求消息中携带的消息参数指示为异步处理时,所述SOA.ESB设备将所述请求消息发送到企业服务总线消息队列服务SOA.MSMQ设备进行异步处理,并由所述SOA.MSMQ设备将所述请求消息转发到对应的服务提供者设备。
2.根据权利要求1所述的企业服务总线的实现方法,其特征在于,在所述SOA.MSMQ设备将所述请求消息转发到对应的服务提供者设备之前,该方法还包括:
如果网络出现异常或所述异步处理超过预定时间,则所述SOA.MSMQ设备将所述指示为异步处理的请求消息发送到企业服务总线数据库SOADB设备,所述SOADB设备将所述指示为异步处理的请求消息作为发送失败的请求消息进行存储;
企业服务总线自动重复服务SOA.Autosend设备定时对所述SOADB设备中存储的所述发送失败的请求消息重发到所述对应的服务提供者。
3.根据权利要求1或2所述的企业服务总线的实现方法,其特征在于,还包括:
所述SOA.ESB设备接收所述对应的服务提供者设备回复的针对所述同步处理的请求消息所请求的处理结果;
所述SOA.ESB设备将所述指示为同步处理的请求消息和所述所请求的处理结果,发送到所述企业服务总线日志服务SOA.ESBlog设备;
所述SOA.ESBlog设备将所述同步处理的请求消息和所述请求的处理结果作为日记信息发送到所述SOADB设备进行存储,以便企业服务总线后台维护***SOAMgm设备访问所述SOADB设备中存储的所述日记信息。
4.根据权利要求1所述的企业服务总线的实现方法,其特征在于,还包括:
所述企业服务总线监控服务SOA.Monitor设备分别传送心跳消息到所述SOA.ESB设备、所述SOA.MSMQ设备、所述SOA.ESBlog设备和所述SOA.Autosend设备,进而监控所述SOA.ESB设备、所述SOA.MSMQ设备、所述SOA.ESBlog设备和所述SOA.Autosend设备是否正常运行。
5.根据权利要求1至4中任意一项所述的企业服务总线的实现方法,其特征在于,还包括:
针对来自所述SOA.ESB设备的所述请求消息,所述对应的服务提供者设备按照所述消息契约协议定义,将针对所述请求消息的处理结果通过所述SOA.ESB设备回复到所述服务消费者设备。
6.根据权利要求1至4中任意一项所述的企业服务总线的实现方法,其特征在于,所述消息契约协议定义所述请求消息采用XML格式,且所述请求消息的包头信息包括:服务请求用户ID,服务消费者设备IP地址,请求类型,异步消息参数。
7.一种企业服务总线的实现设备,其特征在于,包括:
接收模块,用于接收来自服务消费者设备的按照消息契约协议定义的请求消息;
鉴权模块,用于根据所述请求消息中携带的用户端标识确定所述服务消费者设备是有安全权限进行请求;
同步处理模块,用于当所述鉴权模块确定有安全权限进行请求,且所述请求消息中携带的消息参数指示为同步处理时,将所述请求消息转发到对应的服务提供者设备;
异步跳转模块,用于当所述鉴权模块确定有权限进行请求,且所述请求消息中携带的消息参数指示为异步处理时,将所述请求消息发送到所述SOA.MSMQ设备进行异步处理,并发送接收成功消息到所述服务消费者设备。
8.根据权利要求7所述的企业服务总线的服务设备,其特征在于,还包括:
收集模块,用于接收所述对应的服务提供者设备回复的针对所述同步处理的请求消息所请求的处理结果;
转储模块,用于将所述指示为同步处理的请求消息和所述请求的处理结果,发送到所述SOA.ESBlog设备,以便所述SOA.ESBlog设备将所述同步处理的请求消息和所述请求的处理结果作为日记信息发送到所述企业服务总线数据库SOADB设备进行存储,进而使SOAMgm设备访问所述SOADB设备中存储的所述日记信息。
9.一种面向服务体系结构的平台,其特征在于,包括:SOA.ESB设备,SOA.MSMQ设备;
所述SOA.ESB设备,用于接收来自服务消费者设备的按照消息契约协议定义的请求消息,并根据所述请求消息中携带的用户端标识确定所述服务消费者设备是有安全权限进行请求,如果确定有安全权限进行请求,则当所述请求消息中携带的消息参数指示为同步处理时,将所述请求消息转发到对应的服务提供者设备;当所述请求消息中携带的消息参数指示为异步处理时,将所述请求消息发送到所述SOA.MSMQ设备进行异步处理;
所述SOA.MSMQ设备,用于接收所述请求消息,并进行异步处理,再将所述请求消息转发到对应的服务提供者设备。
10.根据权利要求9所述的面向服务体系结构的平台,其特征在于,还包括:SOADB设备和SOA.Autosend设备;
所述SOA.MSMQ设备,还用于在网络出现异常或所述异步处理超过预定时间,将所述指示为异步处理的请求消息发送到所述SOADB设备;
所述SOADB设备,用于将所述指示为异步处理的请求消息作为发送失败的请求消息进行存储;
所述SOA.Autosend设备,用于定时对所述SOADB设备中存储的所述发送失败的请求消息重发到所述对应的服务提供者。
11.根据权利要求9所述的面向服务体系结构的平台,其特征在于,还包括:SOA.ESBlog设备、SOADB设备以及SOAMgm设备;
所述SOA.ESB设备,还用于接收所述对应的服务提供者设备回复的针对所述同步处理的请求消息所请求的处理结果,并将所述指示为同步处理的请求消息和所述请求的处理结果,发送到所述SOA.ESBlog设备;
所述SOA.ESBlog设备,用于将所述同步处理的请求消息和所述请求的处理结果作为日记信息发送到所述企业服务总线数据库SOADB设备;
所述SOADB设备,用于,存储上述日记信息;
所述SOAMgm设备,用于访问所述SOADB设备中存储的所述日记信息,以便用户查询所述日记信息。
CN2011103721268A 2011-11-21 2011-11-21 企业服务总线的实现方法、设备及相应的平台 Pending CN102364921A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011103721268A CN102364921A (zh) 2011-11-21 2011-11-21 企业服务总线的实现方法、设备及相应的平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011103721268A CN102364921A (zh) 2011-11-21 2011-11-21 企业服务总线的实现方法、设备及相应的平台

Publications (1)

Publication Number Publication Date
CN102364921A true CN102364921A (zh) 2012-02-29

Family

ID=45691473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011103721268A Pending CN102364921A (zh) 2011-11-21 2011-11-21 企业服务总线的实现方法、设备及相应的平台

Country Status (1)

Country Link
CN (1) CN102364921A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297295A (zh) * 2013-05-24 2013-09-11 广东电网公司电力科学研究院 Esb的通信方式的测试方法和测试***
CN103997509A (zh) * 2013-02-20 2014-08-20 ***通信集团北京有限公司 一种基于面向服务的体系结构的服务处理方法及装置
CN104731912A (zh) * 2015-03-24 2015-06-24 浪潮集团有限公司 一种消息中间件mq的消息传输方法和装置
CN104869163A (zh) * 2015-05-26 2015-08-26 湖南傻蛋科技有限公司 一种集群环境下基于代理的动态服务调用方法
CN105959385A (zh) * 2016-06-06 2016-09-21 浪潮软件集团有限公司 一种信息通信方法、装置及***
CN106656706A (zh) * 2017-02-25 2017-05-10 华南理工大学 基于软件总线的面向服务的机器人开放式控制***及方法
CN106681843A (zh) * 2015-11-05 2017-05-17 中国科学院沈阳自动化研究所 一种基于组件式开发模式松耦合的子模块间参数传递方法
CN106936687A (zh) * 2015-12-30 2017-07-07 航天信息软件技术有限公司 一种微信公众号接入设备、***和方法及移动终端
CN107071048A (zh) * 2017-05-12 2017-08-18 浪潮软件股份有限公司 一种基于http请求转发的无侵入式企业级服务总线
CN107845415A (zh) * 2016-09-18 2018-03-27 心医国际数字医疗***(大连)有限公司 医院企业服务总线实现装置及方法
CN109062848A (zh) * 2018-08-01 2018-12-21 武汉索雅信息技术有限公司 基于esb总线平台的采购管理方法、装置及总线平台
CN109150858A (zh) * 2018-08-01 2019-01-04 武汉索雅信息技术有限公司 数据交互总线的请求处理方法、设备、***及存储介质
CN109298950A (zh) * 2018-08-15 2019-02-01 深圳壹账通智能科技有限公司 企业服务总线***、数据处理方法、终端及存储介质
WO2019109957A1 (zh) * 2017-12-08 2019-06-13 深圳壹账通智能科技有限公司 基于esb的服务提供方法、装置、设备及可读存储介质
CN110166459A (zh) * 2019-05-24 2019-08-23 深圳前海微众银行股份有限公司 一种反序列化漏洞的防护方法及装置
CN110689386A (zh) * 2019-08-19 2020-01-14 苏宁云计算有限公司 一种电子票据开具方法及***
CN113569123A (zh) * 2021-06-28 2021-10-29 杭州涂鸦信息技术有限公司 一种日志查询方法、***和计算机可读存储介质
US20210349810A1 (en) * 2018-11-28 2021-11-11 Sap Se Asynchronous consumer-driven contract testing in micro service architecture
CN115208668A (zh) * 2022-07-15 2022-10-18 广东广信通信服务有限公司 基于服务总线***技术的应用集成管控方法、***及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184056A (zh) * 2007-12-04 2008-05-21 浙江大学 一种分布式企业服务总线消息交换方法
CN101394420A (zh) * 2008-10-23 2009-03-25 ***通信集团山西有限公司 一种实现异构it***服务共享的方法、精确营销的方法及企业服务总线
CN101827115A (zh) * 2009-12-31 2010-09-08 厦门市美亚柏科信息股份有限公司 一种全息式企业服务总线

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184056A (zh) * 2007-12-04 2008-05-21 浙江大学 一种分布式企业服务总线消息交换方法
CN101394420A (zh) * 2008-10-23 2009-03-25 ***通信集团山西有限公司 一种实现异构it***服务共享的方法、精确营销的方法及企业服务总线
CN101827115A (zh) * 2009-12-31 2010-09-08 厦门市美亚柏科信息股份有限公司 一种全息式企业服务总线

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103997509A (zh) * 2013-02-20 2014-08-20 ***通信集团北京有限公司 一种基于面向服务的体系结构的服务处理方法及装置
CN103997509B (zh) * 2013-02-20 2017-10-10 ***通信集团北京有限公司 一种基于面向服务的体系结构的服务处理方法及装置
CN103297295B (zh) * 2013-05-24 2016-04-27 广东电网公司电力科学研究院 Esb的通信方式的测试方法和测试***
CN103297295A (zh) * 2013-05-24 2013-09-11 广东电网公司电力科学研究院 Esb的通信方式的测试方法和测试***
CN104731912B (zh) * 2015-03-24 2017-12-19 浪潮集团有限公司 一种消息中间件mq的消息传输方法和装置
CN104731912A (zh) * 2015-03-24 2015-06-24 浪潮集团有限公司 一种消息中间件mq的消息传输方法和装置
CN104869163A (zh) * 2015-05-26 2015-08-26 湖南傻蛋科技有限公司 一种集群环境下基于代理的动态服务调用方法
CN106681843A (zh) * 2015-11-05 2017-05-17 中国科学院沈阳自动化研究所 一种基于组件式开发模式松耦合的子模块间参数传递方法
CN106936687A (zh) * 2015-12-30 2017-07-07 航天信息软件技术有限公司 一种微信公众号接入设备、***和方法及移动终端
CN105959385A (zh) * 2016-06-06 2016-09-21 浪潮软件集团有限公司 一种信息通信方法、装置及***
CN107845415A (zh) * 2016-09-18 2018-03-27 心医国际数字医疗***(大连)有限公司 医院企业服务总线实现装置及方法
CN106656706A (zh) * 2017-02-25 2017-05-10 华南理工大学 基于软件总线的面向服务的机器人开放式控制***及方法
CN106656706B (zh) * 2017-02-25 2020-06-19 华南理工大学 基于软件总线的面向服务的机器人开放式控制***及方法
CN107071048A (zh) * 2017-05-12 2017-08-18 浪潮软件股份有限公司 一种基于http请求转发的无侵入式企业级服务总线
WO2019109957A1 (zh) * 2017-12-08 2019-06-13 深圳壹账通智能科技有限公司 基于esb的服务提供方法、装置、设备及可读存储介质
CN109062848A (zh) * 2018-08-01 2018-12-21 武汉索雅信息技术有限公司 基于esb总线平台的采购管理方法、装置及总线平台
CN109150858A (zh) * 2018-08-01 2019-01-04 武汉索雅信息技术有限公司 数据交互总线的请求处理方法、设备、***及存储介质
CN109298950A (zh) * 2018-08-15 2019-02-01 深圳壹账通智能科技有限公司 企业服务总线***、数据处理方法、终端及存储介质
US20210349810A1 (en) * 2018-11-28 2021-11-11 Sap Se Asynchronous consumer-driven contract testing in micro service architecture
US11755461B2 (en) * 2018-11-28 2023-09-12 Sap Se Asynchronous consumer-driven contract testing in micro service architecture
CN110166459A (zh) * 2019-05-24 2019-08-23 深圳前海微众银行股份有限公司 一种反序列化漏洞的防护方法及装置
CN110166459B (zh) * 2019-05-24 2022-12-27 深圳前海微众银行股份有限公司 反序列化漏洞的防护方法、装置、设备及可读存储介质
CN110689386A (zh) * 2019-08-19 2020-01-14 苏宁云计算有限公司 一种电子票据开具方法及***
CN110689386B (zh) * 2019-08-19 2022-10-11 苏宁云计算有限公司 一种电子票据开具方法及***
CN113569123A (zh) * 2021-06-28 2021-10-29 杭州涂鸦信息技术有限公司 一种日志查询方法、***和计算机可读存储介质
CN115208668A (zh) * 2022-07-15 2022-10-18 广东广信通信服务有限公司 基于服务总线***技术的应用集成管控方法、***及装置

Similar Documents

Publication Publication Date Title
CN102364921A (zh) 企业服务总线的实现方法、设备及相应的平台
CN103944924B (zh) 一种基于RESTful的泛在网发布订阅中间件模型的方法
CN103124981B (zh) 电子文档流通***和电子文档流通方法
CN110166409A (zh) 设备接入方法、相关平台及计算机存储介质
CN110417896A (zh) 基于云的区块链动态组网的***及方法
US9946984B2 (en) System and method for transporting a document between a first service provider and a second service provider
CN101163117B (zh) 一种群组管理方法、群组资源共享方法及即时通讯装置
CN104484187B (zh) 一种信息集成方法和***
CN101854348B (zh) Soa在******访问核心支撑***的实现方法
CN101447862A (zh) 安全交换***及其安全交换方法
CN102387075A (zh) 面向企业服务总线的动态服务路由方法及装置
CN101447999A (zh) 安全交换***及其实现方法
CN105868032A (zh) 一种支持多***接入的报文处理***及方法
CN103475726A (zh) 一种虚拟桌面管理方法、服务器和客户端
KR101416280B1 (ko) 이벤트 처리 시스템 및 방법
CN104811371A (zh) 一种全新的即时通信***
CN103795793A (zh) 一种基于双服务器集群的道路车辆监控平台***
CN105812480A (zh) 一种智能散粮运输车远程管理装置及其管理方法
US20220263924A1 (en) System and Method for Asset Management and Integration
EP2916522A1 (en) File transmission method and system thereof
CN103338206A (zh) 一种基于数据总线技术实现数据交换的方法及装置
CN113992769A (zh) 一种工业互联网信息交换方法
CN1973282A (zh) 用于管理针对集群配置的改变的***和方法
CN105959385A (zh) 一种信息通信方法、装置及***
CN101977165A (zh) 云模式下的消息传输方法及消息总线***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120229