本发明涉及esb软件技术领域,具体涉及一种基于http请求转发的无侵入式企业级服务总线,主要应用于行业、企业的信息化业务系统应用集成、流程集成和服务集成多种领域,是一种符合soa思想的企业服务总线解决方案。
背景技术:
近年来,企业对信息化建设的要求越来越高,信息化已基本覆盖了企业的所有部门。部门级应用系统建设的比较完备,形成了大量的信息资源。但目前的信息应用系统,是在不同时期、由不同的开发商在不同的阶段建设的,又采用了不同的技术架构,这样各个系统之间进行信息共享和互动就很困难,底层缺乏统一的技术架构和集成标准,随着目前市场的快速变化和竞争的激烈,需要信息系统在底层架构层面提供支撑,便于系统间的信息和流程的集成,面向服务(soa)的方法论是最佳解决方案。
esb全称为enterpriseservicebus,即企业服务总线。它是传统中间件技术与xml、web服务等技术结合的产物。
企业服务总线作为企业系统中基本的连接中枢。肩负着消除不同应用之间的技术差异,让不同的应用服务器协调运作的工作。
包括功能:服务托管和适配、服务安全管理、消息交互和服务健康管理等功能。
为了监控、管理和控制it基础架构中的webservices层,确定soa环境中造成性能瓶颈和失败的根源,检查并指出占用过多时间和资源的服务,现在很多软件企业开发中间件esb产品。如ibm公司的mb产品,mb产品可以实现对服务消息路由和数据传输转换,但还存在不足,主要从整体角度看待企业的服务集成。
技术实现要素:
本发明要解决的技术问题是:本发明针对以上问题,提供一种基于http请求转发的无侵入式企业级服务总线,一种新的符合soa思想、基于http协议利用connect方法通过http代理建立隧道的无侵入式企业服务总线解决方案,为行业企业信息系统的集成整合提供可行的方法。一种企业服务总线,解决企业内部应用系统之间交互困难、数据共享不及时、系统之间交互不可管理等问题,为企业内部系统之间提供安全的、标准的、实时的、可视化的、可监控管理的服务交互管理方法。
本发明所采用的技术方案为:
一种基于http请求转发的无侵入式企业级服务总线,所述服务总线通过http协议,利用connect方法通过http代理建立隧道的https连接,其中,服务总线的构成包括:
1)服务接入单元,基于axis2,用于提供简单对象访问协议soap引擎、web服务描述语言wsdl引擎的服务注册;
2)web服务消息容器单元,用于进行消息路由、服务组合、数据映射和数据传输转换;
3)权限控制单元,使用白名单、黑名单、应用订阅服务管理服务访问权限,其中通过ip白名单的形式保证访问安全,同时服务请求时使用携带参数或者header内夹带令牌的方式保证安全;
4)健康管理单元,通过心跳服务检测总线上的服务健康状态,收集服务访问调用日志,确定soa环境中造成性能瓶颈和失败的根源,检查并指出占用过多时间和资源的服务。
所述服务总线的构成包括服务托管模块,通过服务容器提供一个或多个容器,在其中安装服务和管理生命周期,提供可访问技术事务和安全性的服务。
所述服务总线的构成包括适配器,通过服务托管模块连接总线提供的服务;适配的服务类型包含webservice、http服务和rest服务;webservice支持的协议包含axis、axis2和cxf,同时维护命名空间、上下文跟、服务方法和每个方法参数传递,维护访问示例和响应示例,以便服务消费者正确使用该服务。
所述服务总线基于http开放协议,实现服务总线端对http请求方ip的识别、支持http请求header、soapheader中令牌的解析与验证;采用rsa非对称加密算法,支持传输级和消息级安全性;当服务使用者访问总线中的服务时,身份验证验证其身份,并验证针对服务提供者服务总线的身份验证,为服务提供了一个授权系统,通过xacml对这些服务进行配置,以便分配给用户或角色。
所述服务总线支持协议转换和消息验证,无需任何编程工作即可从某个通信协议切换到另一个协议,确保消息是有效的。
所述服务总线支持消息交换模式,包括同步和异步请求/应答、单向调用以及发布/订阅。
所述服务总线能够在缓存中保存服务调用结果,这样返回同样结果的后续调用可从缓存获得应答,无需再次调用服务;如果数据是静态的或者需要零星或少许的改动,可大大减少像访问原有系统这样的开销可能较大的操作。
所述服务总线通过列出一个逻辑服务提供者端点的几个服务端点实现负载平衡,通过使用冗余服务实现,根据定义的策略交替调用每个请求,循环调用,或根据消息优先级和负载依赖关系进行调用。
所述服务总线通过定义被发送到服务提供者的服务端点的每单元时间内的最大消息数实现消息限制,通过缓冲服务总线队列中超过阈值范围的消息来防止服务提供者在高峰时段重载,并支持消息优先级。
所述服务总线通过操作系统实现服务总线配置调整,并维护配置的完整性。
本发明的有益效果为:
本发明通过使用此企业服务总线,作为企业信息架构的神经中枢,消除不同系统之间的技术差异,让不同的信息系统协调运作,实现不同系统资源的通信和整合,通过建设企业服务总线,通过规范基础数据管理规范数据交换管理,提高信息集成共享从而为企业管理层和决策层提供及时、真实、准确的业务数据和决策信息。
附图说明
图1为本发明服务总线模型架构图。
具体实施方式
下面结合附图,根据具体实施方式对本发明进一步说明:
实施例1:
如图1所示,一种基于http请求转发的无侵入式企业级服务总线,所述服务总线通过http协议,利用connect方法通过http代理建立隧道的https连接,其中,服务总线的构成包括:
1)服务接入单元,基于axis2,用于提供简单对象访问协议soap引擎、web服务描述语言wsdl引擎的服务注册;
2)web服务消息容器单元,用于进行消息路由、服务组合、数据映射和数据传输转换;
3)权限控制单元,使用白名单、黑名单、应用订阅服务管理服务访问等权限,其中通过ip白名单的形式保证访问安全,同时服务请求时使用携带参数或者header内夹带令牌的方式保证安全;
4)健康管理单元,通过心跳服务检测总线上的服务健康状态,收集服务访问调用日志,确定soa环境中造成性能瓶颈和失败的根源,检查并指出占用过多时间和资源的服务。
实施例2
在实施例1的基础上,本实施例所述服务总线的构成包括服务托管模块,通过服务容器提供一个或多个容器,在其中安装服务和管理生命周期,提供可访问技术事务和安全性的服务。
实施例3
在实施例2的基础上,本实施例所述服务总线的构成包括适配器,通过服务托管模块连接总线提供的服务;适配的服务类型包含webservice、http服务和rest服务;webservice支持的协议包含axis、axis2和cxf,同时维护命名空间、上下文跟、服务方法和每个方法参数传递,维护访问示例和响应示例,以便服务消费者正确使用该服务。
实施例4
在实施例1、2或3的基础上,本实施例所述服务总线基于http开放协议,实现服务总线端对http请求方ip的识别、支持http请求header、soapheader中令牌的解析与验证;采用rsa非对称加密算法,支持传输级和消息级安全性;当服务使用者访问总线中的服务时,身份验证验证其身份,并验证针对服务提供者服务总线的身份验证,为服务提供了一个授权系统,通常可通过xacml对这些服务进行配置,以便分配给用户或角色。
xacml是一种用于决定请求/响应的通用访问控制策略语言和执行授权策略的框架,它在传统的分布式环境中被广泛用于访问控制策略的执行。
实施例5
在实施例4的基础上,本实施例所述服务总线支持协议转换和消息验证,无需任何编程工作即可从某个通信协议切换到另一个协议,确保消息是有效的。比如,从tcp/ip切换到http。在xml中,消息包含规范定义的xml并对应于特定的xml模式或wsdl,esb还提供了其他验证方法,如schematron或规则引擎。
实施例6
在实施例4的基础上,本实施例所述服务总线支持消息交换模式,包括同步和异步请求/应答、单向调用以及发布/订阅。
实施例7
在实施例4的基础上,本实施例所述服务总线能够在缓存中保存服务调用结果,这样返回同样结果的后续调用可从缓存获得应答,无需再次调用服务;如果数据是静态的或者需要零星或少许的改动,可大大减少像访问原有系统这样的开销可能较大的操作。
实施例8
在实施例4的基础上,本实施例所述服务总线通过列出一个逻辑服务提供者端点的几个服务端点实现负载平衡,通过使用冗余服务实现,根据定义的策略交替调用每个请求,循环调用,或根据消息优先级和负载依赖关系进行调用。
实施例9
在实施例4的基础上,本实施例所述服务总线通过定义被发送到服务提供者的服务端点的每单元时间内的最大消息数实现消息限制,通过缓冲服务总线队列中超过阈值范围的消息来防止服务提供者在高峰时段重载,并支持消息优先级,这样可以确保始终先处理高优先级的消息。
实施例10
在实施例4的基础上,本实施例所述服务总线通过操作系统实现服务总线配置调整,并维护配置的完整性。操作人员可在操作过程中调整和替换构件和属性,高可用性确保服务总线提供的服务是故障安全的,与运行这些服务的服务器的状态无关。
操作人员可以在服务总线中轻松跟踪消息,应在需要时激活,以便将相关开销降至最低。消息重新传递确保在预定义时间后自动重新发送未及时处理的消息。可以配置尝试次数以及它们之间的时间间隔。该组件主要适用于仅持续一段时间的技术错误,如临时网络中断。端点故障切换可以指定一个备用服务提供者,在主服务提供者不可用时自动调用。
实施例11
省烟草公司企业服务总线采用集中式部署,通过省级企业服务总线实现本级及下属单位业务系统跨区域、跨业务层级的服务交互。实现国家局服务与省级公司企业服务进行交互,鉴于国家局及各省集成平台存在异构性的特点,采用服务联邦的方式实现国家局服务总线与省烟草公司企业服务总线的对接,帮助企业创建松耦合应用程序的技术。
服务接入
对服务的信息进行管理,包括服务的注册、变更、注销、服务的同步和查询等。服务注册采用业界标准的uddi协议实现。
服务发现
服务总线应支持服务发现功能,服务消费者通过该功能进行相关信息的查询,包括服务基本信息、版本、方法,qos信息、绑定信息等。服务发现应通过服务管理责任授权人配置成可对其它集成平台开放的服务后,才能被别的集成平台调用。
服务健康情况分析
服务总线提供服务监控功能,使服务总线一直处于可监控可管理的状态,并能够支持将出现问题的业务服务通过消息提醒接口及时通知相关管理员。
监控功能包括以下内容:
a)统一的一个监控入口和监控台,可以监控每个服务的状态;
b)对服务关键指标(如响应时间、执行次数、错误数等)进行统计;
c)对路由节点等项详细信息(如:传输时间、执行次数、错误数量等)进行监控。
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。