导言
本篇主要介绍企业服务总线ESB,中培伟业IT常青树认为ESB是基于SOA理念的实现方式,其重点解决了企业信息化中集成共享方面的难题。文中通过对ESB定位和目标的阐述,提出构建基于ESB的整体架构,并结合IT常青树在项目实践中的体会,给予企业架构师在实施ESB方面的相关建议。全篇力求采用简洁、易懂的文字来阐述复杂信息共享成话题,并给出实践中的体会和建议,相信身为读者的你一定跟我一样受益匪浅。
背景
为了满足业务需求,在不同的历史时期,企业建设了一些功能独立的信息系统。在业务整合的驱动下,应用间的通信、数据交换的需求越来越强烈。传统独立建设的竖井式应用架构,应用集成一直是企业信息化建设中的难题。再则,独立的大型单体应用适应业务的变化难、应用变更风险大,已经越来越不能适应业务发展,需要有一种有效的手段对大型单体应用进行分拆、集成,来加强应用系统的灵活性和可管理性。另外,企业要快速响应业务变化,需要重用已有的资源,企业需要以何种形式重用和管理现有资源。
要解决以上问题,SOA指明了正确的方向,企业需要新一代的IT架构,改变内部系统复杂的网状交互关系,系统间的交互需要透明化管理;将已有可重用的资源服务化,并管理这些服务资源。
企业服务总线(Enterprise Service Bus,简称ESB)是企业应用集成在SOA理念下的一种实现方式,通过它解决异构系统间的集成问题,实现业务系统之间的互联互通,承担着IT系统“信息高速公路”的重任。同时,ESB还可以承担企业服务交换管理的重任,帮助实现服务的重用。
ESB的定位和目标
ESB是企业应用集成在SOA理念下集成架构的核心,是应用系统之间实时信息交换的枢纽,属于集成平台类。
ESB基本功能有两点,其一是实现无状态、高吞吐的服务总线,总线形式有效改善系统之间调用的网状关系,简化了异构环境下应用、数据、信息的互连互通,通过它还可以提高应用集成的管控能力,使得系统之间的关系可视化和可管控。其二是依据SOA架构原则,具有服务管理能力。企业已有的IT能力以开放的、标准的服务方式暴露出来,通过ESB的服务管理能力,使得服务消费者能够便利地查找到服务,实现服务重用,提高IT资源的利用率。
此外,由于各方系统的对外集成行为都会被ESB服务中介所跟踪和审计,ESB可以做为第三方仲裁方,从而避免因为各方系统中数据的不一致而导致不必要的纠纷,具有很好的协调和管理能力。
ESB架构
ESB是部署和实现SOA的理想工具,为了“信息高速公路”的能力,需要具有协议转换、消息转换、消息路由、接口适配、流量控制等功能;为了实现服务管理的能力,需要具有服务目录、服务注册、服务订阅、服务监控等功能。
服务管理
服务目录指ESB具有服务目录的管理能力,可以对服务分类,能够按照所属机构、所属业务单元、所属业务模块等业务属性灵活的进行服务目录的创建、维护和权限分配;服务注册指ESB接受服务提供者注册服务;服务订阅是服务发布后,能够给消费端提供页面入口,可根据服务名称、所属应用、所属机构等信息快速查询出服务相关信息;服务监控是指ESB提供可视化手段,监控服务提供者和服务消费者的运行状态。SLA是指具备对服务的运行质量进行监控,能够对服务定义监控规则,比如响应时间超过2秒,并能够对不符合规则的服务进行即时预警等。
应用集成
应用集成包括协议转换 (WebService,Http,JMS...)、消息转换 (转换、充实、过滤...)、消息路由 (同步/异步、发布/订阅、基于内容路由、分支与聚合...)等的能力,流量控制是指ESB具有分级流量管理的能力;服务组合是指ESB根据业务策略,可以进行一定程度的服务叠加组合。
基础服务
接口适配是指ESB集成多种企业应用中常见的适配器,比如支持结构化和非结构化文件读写的文件类适配器、支持多种数据库访问的数据库类适配器、支持多种通讯协议(WebService、FTP)等通讯类适配器;资源分配是指ESB根据配置策略,进行基础资源的分配;超时机制和异常处理机制指ESB在超时和异常情况下的处理策略;扩展机制是指ESB能够适应个性化的特殊情况,灵活地增加属于特定领域的专有协议。
对企业搭建ESB平台的建议
ESB是企业的信息高速公路,是SOA服务化的拓展,企业建设ESB平台时,从“信息高速公路”的角度,IT常青树团队建议重点考虑如下方面,包括协议转换能力、产品架构等,具体如下:
协议转换能力
协议转换是ESB作为中介的重要体现,是ESB的重要评价指标。企业应用接口是一个收敛的、标准化的过程。因此ESB应能直接支持业界普遍的标准协议,包括直接支持国内企业信息化建设过程中普遍采用的SOAP/HTTP、JMS、Http/Https、Socket、JDBC等标准协议,从而体现ESB作为企业IT架构中基本中介的功能。
此外,企业在引入ESB之前,往往已经存在部分老旧系统,为了能够适应个性化的特殊情况,ESB应基于可扩展的多协议架构,可以灵活地增加属于特定领域的专有协议。
ESB产品架构
ESB作为企业内部重要的基础设施,是应用系统集成的中枢,系统投入运行后即作力关键生产系统,这样就会对ESB的健壮性和高性能提出了很高的要求。不然一旦单点出现问题就会对IT所支撑的企业核心业务产生影响。对性能具有极高的要求,因此要求在服务的运行中能高效的进行服务调用和消息处理,在高吞吐量、高并发下依然能够稳定运行。
因此选择的ESB产品应能支持多线程处理、集群部署、类似分段事件处理的稳定架构,具有很高的容错及故障恢复能力。
总结
ESB之所以是SOA架构的核心,除了承担“信息高速公路”、解决异构系统间的互联互通,更因为它的业务价值,它基于开放的Web服务,实现了服务的重用,有利于信息化服务的沉淀和积累,提高了IT资源的利用率。
企业引入ESB后,需要坚持标准化的建设模式,遵循SOA的标准原则和体系,应用之间通过统一服务的方式进行信息的交互,为实现标准化集成提供基础,并积极制订相关的标准和管理规范。