一种企业服务总线的制作方法

文档序号:7868761阅读:317来源:国知局
专利名称:一种企业服务总线的制作方法
技术领域
本发明涉及网络技术领域,尤其涉及一种企业服务总线。
背景技术
ESB(Enterprise Service Bus,企业服务总线)为分散服务提供了交互、组合和治理的基础架构,是SOA (Service Oriented Architecture,面向服务架构)的核心技术。当前,多家软件厂商如IBM、Oracle等都加大了对ESB产品的投入力度,并大力宣传他们的SOA解决方案,ESB成为厂商在SOA(面向服务的架构)竞争中的焦点。为了打破其它厂商对ESB产品和SOA市场的垄断,需要研发具有自主知识产权的企业服务总线。Web Service是现在最适合实现SOA的技术,而Axis2是下一代ApacheAxis,是实现Web Service的一种技术框架。Axis2虽然由Axis1. x处理程序模型提供支持,但它不仅更高效、模块化、基于XML (Extensible MarkupLanguage,可扩展标记语言)更具有灵活性和可扩展性,实现了安全性和可靠性等企业功能。Apache Axis2的易用性和功能使其成为了下一代Web服务平台。但Axi s2本身并不是ESB,需要在此开源产品的基础上做二次研发,使其成为具备ESB能力的服务总线产品。Axis2版本提供了服务热部署的功能,其服务发布机制和工作流程为,将某个WebService发布需要的class和xml配置文件打包成aar包,然后手工将aar包放在特定路径下,系统会实时读取该路径下的aar包,加载aar包中的class和XML配置文件,并对XML配置文件进行解析以获取服务的配置参数,从而发布该服务以实现服务的热部署;这种机制的基本原理是,先读取并解析XML配置文件,然后通过Axis2 API处理这些配置文件中的配置参数,从而发布服务 这种机制的缺点是a. aar包放置路径固定,Axis只能加载该路径下面的aar包才能发布服务,不灵活,不可配置;b. aar包中Class承载某个服务的具体业务逻辑,发布每个服务都需要单独进行java编码和编译,不具备适配器概念和功能,因此不能适配其它应用系统的接口或服务,不能充当服务总线;c. XML配置文件比较固化,且对于每个Web Service都需要单独的XML配置文件,通常情况下需要手工编辑,灵活性不强。

发明内容
本发明所要解决的技术问题是提供一种企业服务总线,推动技术创新。为解决上述技术问题,本发明提出了一种企业服务总线,包括服务总线模块,所述服务总线模块包括服务接入单元,基于Axis2,用于提供简单对象访问协议SOAP引擎、Web服务描述语言WSDL引擎、服务注册和Web服务;
消息容器单元,用于进行消息路由、服务组合、数据映射和数据转换;服务接出单元,用于对分布式环境下其它应用系统的接入以及协议进行适配。进一步地,上述企业服务总线还可具有以下特点,所述服务总线模块还包括服务质量单元,用于进行流量控制和优先级控制。进一步地,上述企业服务总线还可具有以下特点,所述服务总线模块还包括安全管理单元,用于在服务调用时进行安全验证。进一步地,上述企业服务总线还可具有以下特点,所述企业服务总线还包括平台管理模块,与所述服务总线模块相连,用于对企业服务总线的相关配置进行管理。进一步地,上述企业服务总线还可具有以下特点,所述企业服务总线还包括监控管理模块,与所述服务总线模块相连,用于对企业服务总线的运行状况进行监控。进一步地,上述企业服务总线还可具有以下特点,所述服务接出单元包括Tuxedo适配器、SOAP适配器、EJB适配器和JMS适配器。进一步地,上述企业服务总线还可具有以下特点,所述安全管理单元包括口令验证子单元,用于对用户口令进行验证;
`
权限验证子单元,用于对服务访问权限进行验证;IP验证子单元,用于对用户IP进行验证。进一步地,上述企业服务总线还可具有以下特点,所述平台管理模块包括多实例管理单元,用于对多实例进行管理;系统参数管理单元,用于对系统参数进行管理;接入端管理单元,用于对接入端进行管理;用户管理单元,用于对用户进行管理;源系统管理单元,用于对源系统进行管理;服务管理单元,用于进行服务信息管理、服务版本管理、服务发布、服务状态管理和服务测试。进一步地,上述企业服务总线还可具有以下特点,所述监控管理模块包括记录单元,用于对服务调用过程进行日志记录。进一步地,上述企业服务总线还可具有以下特点,所述监控管理模块包括告警单元,用于对服务调用错误、企业服务总线运行异常进行告警,并提供统计报表。本发明的企业服务总线,其核心功能模块部分主要基于Axis2,Axis2仅充当一个Web服务容器的功能,在此基础上,本发明进行了基于ESB技术规范的功能研发和扩展,本发明的企业服务总线已是完整概念上的企业服务总线。本发明的企业服务总线具有自主知识产权,有助于打破其它厂商对ESB产品和SOA市场的垄断。


图1为本发明实施例中企业服务总线的总体结构框图;图2为图1中服务总线模块100的结构框图3为本发明实施例中企业服务总线的应用系统架构图。
具体实施例方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。图1为本发明实施例中企业服务总线的总体结构框图。如图1所示,本实施例中,企业服务总线包括服务总线模块100、平台管理模块200和监控管理模块300。平台管理模块200和监控管理模块300分别与服务总线模块100相连。其中,服务总线模块100是企业服务总线的核心功能模块。平台管理模块200和监控管理模块300是用于对企业服务总线的功能进一步优化的附加功能模块。平台管理模块200用于对企业服务总线的相关配置进行管理。监控管理模块300用于对企业服务总线的运行状况进行监控。本发明的企业服务总线具备Tuxedo适配器、SOAP (Simple ObjectAccessProtocol,简单对象访问协议)适配器等适配功能。基于此,本发明的企业服务总线还具备服务消息路由功能,在本发明的企业服务总线上可以配置各源业务系统的相关信息和服务消息路由规则,本发明的企业服务总线通过这些配置信息,将客户端的请求转发到正确的源业务系统上,源业务系统业务执行完毕后将返回结果发给本发明的企业服务总线,最后本发明的企业服务总线将该返回结果响应给客户端;此外,本发明的企业服务总线可提供自定义复合服务,自定义复合服务的业务逻辑可在本发明的企业服务总线上进行编辑,这些业务逻辑用Rhino脚本编写,并由Rhino脚本引擎编译和运行。同时,本 发明的企业服务总线提供了丰富的API (ApplicationProgramming Interface,应用程序编程接口),供Rhino脚本引擎调用;在此基础上,本发明的企业服务总线还具备了数据映射和数据转换的ESB核心功能。本发明的企业服务总线在部署和实施过程中,一般考虑到性能和负载均衡问题,会部署若干功能完全相同的实例。为保证这些实例运行时状态同步,本发明的企业服务总线提供了心跳和实例间状态同步机制。该机制主要原理是各实例都有一个远程通信的接口,它们定期向主实例报告它们是否正常运行,这就是心跳功能。同时,当某个实例发生某活动时,会把该活动事件通知其它实例,例如某实例发布一个新服务后,该实例会通知其它实例,让其它实例也发布该服务,从而保证了实例间对于该服务的状态一致性。图2为图1中服务总线模块100的结构框图。如图2所示,本实施例中,服务总线模块100中可以包括服务接入单元110、消息容器单元120和服务接出单元130。服务接入单元110、消息容器单元120和服务接出单元130顺次相连。服务接入单元110基于Axis2,用于提供简单对象访问协议 SOAP 引擎、WSDL (Web Services Description Language, Web服务描述语言)引擎、服务注册和Web服务。消息容器单元120用于进行消息路由、服务组合、数据映射和数据转换。服务接出单元130用于对分布式环境下其它应用系统的接入以及协议进行适配。再如图2所示,服务总线模块100中还可以进一步包括安全管理单元140。安全管理单元140与服务接入单元110相连。安全管理单元140用于在服务调用时进行安全验证。安全管理单元140可以保证本发明的企业服务总线多重安全验证机制,对于这些安全验证可进行开关控制。
再如图2所示,服务总线模块100中还可以进一步包括服务质量单元150。服务质量单元150分别与服务接入单元110、消息容器单元120和服务接出单元130相连。服务质量(QoS, Quality of Service)单元150用于进行流量控制和优先级控制。这些流量和优先级是可以配置的。服务质量单元150主要用于优化企业服务总线,使其正常运行或运行得更好。通常,将调用本发明企业服务总线的系统称为平台的接入端或接入系统。本发明企业服务总线调用的外界业务系统称为源系统或源业务系统。服务总线模块100的工作过程是接入端对本发明企业服务总线发起一项服务调用,先由服务接入单元110进行请求接入,然后消息容器单元120会对请求消息进行处理,例如数据转换处理,处理后的请求消息,通过服务接出单元130调用源系统的业务接口,从而实现业务调用。本发明实施例中,服务接出单元130中可以包括Tuxedo适配器、SOAP适配器、EJB(Enterprise JavaBean)适配器和 JMS (Java Message Service, Java 消息服务)适配器。ESB的基本功能之一是适配功能,即适配各种类型的现有或遗留的应用系统。本发明的企业服务总线对于某类型(例如Tuxedo服务)的应用系统,各业务接口的类型基本相同,如接口协议相同、输入输出格式相同,也就是可以通过通用的适配逻辑来接入该应用系统中的诸多接口。这样,本发明的企业服务总线就具备了 ESB的适配器功能,而不需要对每个服务单独进行java编码、编译、编写XML配置文件,打aar包和加载。本发明实施例中,安全管理单元140中可以包括口令验证子单元、权限验证子单元和IP验证子单元。口令验证子单元用于对用户口令进行验证。权限验证子单元用于对服务访问权限进行验证。IP验证子单元用于对用户IP进行验证。本发明实施例中,平台管理模块200提供了可视化的图形配置界面。平台管理模块200中可以包括多实例管理单元、系统参数管理单元、接入端管理单元、用户管理单元、源系统管理单元和服务管理 单元。多实例管理单元用于对多实例进行管理。系统参数管理单元用于对系统参数进行管理。接入端管理单元用于对接入端进行管理。用户管理单元用于对用户进行管理。源系统管理单元用于对源系统进行管理。服务管理单元用于进行服务信息管理、服务版本管理、服务发布、服务状态管理和服务测试。平台管理模块200通过可视化的图形界面进行服务的参数化配置,取代XML配置文件,然后通过Axis2 API和自定义的API处理这些配置参数,发布Web服务。本发明企业服务总线能够进行动态热部署。动态热部署的机制是启动一个定时器扫描功能,对于平台管理模块200的图形界面配置的服务参数,实时进行扫描,从而实现对该服务的重新发布和状态更新,保证了服务的动态热部署和状态控制。本发明实施例中,监控管理模块300中可以包括记录单元。记录单元用于对服务调用过程进行日志记录。本发明实施例中,监控管理模块300中还可以包括告警单元。告警单元用于对服务调用错误、企业服务总线运行异常进行告警,并提供统计报表。图3为本发明实施例中企业服务总线的应用系统架构图。图3搭建了本发明企业服务总线的一个实例。从系统架构的角度讲,可以通过F5四层交换机作为负载均衡器,采用一定的负载策略对企业服务总线的多个实例进行负载均衡。图3中,源业务系统的连接中,实线表示主连接,虚线表示备连接。目的是为了保证源业务系统端的负载均衡。下面对本发明企业服务总线在图3所示系统中实施和安装进行说明图3所示系统对硬件的要求是=Oracel数据库主机一个;平台(指本发明企业服务总线,下同)主机2个,操作系统IBM AIX、HP-UNIX、Sun OS、RedHat, Windows等均可。图3所示系统对源系统服务的要求是=Tuxedo源业务系统实例I个或2个,该主机规格和个数平台不作约定;或者,提供Web服务。图3所示系统对软件件的要求是平台主机上安装WebLogic 10. 3、JDK为jdkl. 6、Oracle 9i/10i 均可。图3所示系统平台安装的主要步骤如下a、在每个平台主机上,新建WebLogic domain ;b、对domain进行相关设置和优化,如数据源设置、WebLogic监控用户设置、线程数及其它优化设置;C、平台配置数据导入数据库;d、在WebLogic domain上部署平台应用;

e、在平台管理界面上进行相关配置,典型配置主要包括平台参数配置、源业务系统的连接配置、服务配置及发布等;f、平台运行监控与检查,包括平台运行是否正常,服务访问过程日志记录是否正常、服务测试等。图3中接入端接入平台的条件在平台运行正常和服务测试正常的情况下,接入端可接入到平台调用Web服务。本发明的企业服务总线,其核心功能模块部分主要基于Axis2, Axis2仅充当一个Web服务容器的功能,在此基础上,本发明进行了基于ESB技术规范的功能研发和扩展,本发明的企业服务总线已是完整概念上的企业服务总线。本发明的企业服务总线具有自主知识产权,有助于打破其它厂商对ESB产品和SOA市场的垄断。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种企业服务总线,其特征在于,包括服务总线模块,所述服务总线模块包括 服务接入单元,基于Axis2,用于提供简单对象访问协议SOAP引擎、Web服务描述语言WSDL引擎、服务注册和Web服务; 消息容器单元,用于进行消息路由、服务组合、数据映射和数据转换; 服务接出单元,用于对分布式环境下其它应用系统的接入以及协议进行适配。
2.根据权利要求1所述的企业服务总线,其特征在于,所述服务总线模块还包括 服务质量单元,用于进行流量控制和优先级控制。
3.根据权利要求1所述的企业服务总线,其特征在于,所述服务总线模块还包括 安全管理单元,用于在服务调用时进行安全验证。
4.根据权利要求1所述的企业服务总线,其特征在于,所述企业服务总线还包括 平台管理模块,与所述服务总线模块相连,用于对企业服务总线的相关配置进行管理。
5.根据权利要求1所述的企业服务总线,其特征在于,所述企业服务总线还包括 监控管理模块,与所述服务总线模块相连,用于对企业服务总线的运行状况进行监控。
6.根据权利要求1所述的企业服务总线,其特征在于,所述服务接出单元包括Tuxedo适配器、SOAP适配器、EJB适配器和JMS适配器。
7.根据权利要求3所述的企业服务总线,其特征在于,所述安全管理单元包括 口令验证子单元,用于对用户口令进行验证; 权限验证子单元,用于对服务访问权限进行验证; IP验证子单元,用于对用户IP进行验证。
8.根据权利要求3所述的企业服务总线,其特征在于,所述平台管理模块包括 多实例管理单元,用于对多实例进行管理; 系统参数管理单元,用于对系统参数进行管理; 接入端管理单元,用于对接入端进行管理; 用户管理单元,用于对用户进行管理; 源系统管理单元,用于对源系统进行管理; 服务管理单元,用于进行服务信息管理、服务版本管理、服务发布、服务状态管理和服务测试。
9.根据权利要求5所述的企业服务总线,其特征在于,所述监控管理模块包括 记录单元,用于对服务调用过程进行日志记录。
10.根据权利要求5所述的企业服务总线,其特征在于,所述监控管理模块包括 告警单元,用于对服务调用错误、企业服务总线运行异常进行告警,并提供统计报表。
全文摘要
本发明涉及一种企业服务总线。该企业服务总线包括服务总线模块,所述服务总线模块包括服务接入单元,基于Axis2,用于提供简单对象访问协议SOAP引擎、Web服务描述语言WSDL引擎、服务注册和Web服务;消息容器单元,用于进行消息路由、服务组合、数据映射和数据转换;服务接出单元,用于对分布式环境下其它应用系统的接入以及协议进行适配。本发明的企业服务总线,其核心功能模块部分主要基于Axis2,Axis2仅充当一个Web服务容器的功能,在此基础上,本发明进行了基于ESB技术规范的功能研发和扩展,本发明的企业服务总线已是完整概念上的企业服务总线。本发明的企业服务总线具有自主知识产权,有助于打破其它厂商对ESB产品和SOA市场的垄断。
文档编号H04L12/40GK103067235SQ20121054434
公开日2013年4月24日 申请日期2012年12月14日 优先权日2012年12月14日
发明者郑亚群 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1