您好, 访客   登录/注册

企业服务总线ESB研究

来源:用户上传      作者:

  摘 要 随着社会信息化进程的进一步加快和信息化技術的不断进步,很多企业发现在引进新的应用和系统的同时,由于旧的应用和系统所采用的体系结构与新的系统存在极大的差异,往往使这些应用集成到新的系统中并不容易。为了解决这些问题,业界已经出现了许多相关的技术及方案,典型的有企业应用集成(EAI)等。但是传统面向组件的EAI实现方式存在许多明显的局限性,例如:复用度差、紧耦合、配置文件过多导致应用复杂以及报文格式的转换缺少标准支持等缺点,所以业界正在广泛寻求解决传统EAI实施方式所存在问题的方案。SOA的提出在很大程度上就是为了更好地满足企业应用集成的需求。
  关键词 SOA;企业服务总线;ESB
  1 前言
  面向服务的体系结构已经逐渐成为IT集成的主流技术。面向服务的体系结构(service-oriented architecture,SOA)是一种软件系统设计方法,通过已经发布的和可发现的接口为终端用户应用程序或其他服务提供服务[1]。
  SOA把IT架构分为组件层、Web服务层、业务流程层等。组件层包括各种应用组件,它们通常是技术相关的具体实现,各种具体的分布式组件技术(CORBA、COM/DCOM、J2EE)都可以用于实现组件层的应用组件。通常复杂的IT环境中的组件层都同时使用了多种分布式组件技术,而不同实现技术之间的互联性障碍给应用集成带来了极大的困难,进而形成了一个个信息孤岛。SOA引入了Web服务层来解决此种情况下的应用集成问题。Web服务是独立于各种分布式组件技术的,它使用标准的基于XML的服务描述语言(Web Service Description Language,WSDL)来定义和封装离散的业务功能,各种支持Web服务的分布式组件技术能够将其上的业务组件发布成Web服务并产生相应的WSDL文档,并且只需要依据WSDL描述的信息就能够调用Web服务,即WSDL所描述的业务功能。Web服务在系统集成方面得到了广泛的应用。在SOA中,需要进入系统集成环节的业务组件都被映射为Web服务,形成了Web服务层。业务流程层则处于Web服务层之上,通过对Web服务的流程编排来实现商业流程。业务流程层通过Web服务层能够调用到基于各种分布式组件技术实现的业务组件,实现了复杂IT系统环境的应用集成。
  2 ESB特征
  大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、烦琐的企业级信息系统平台。面向服务体系架构(SOA)是能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。SOA使用户可以不受限制地重复使用软件、把各种资源互连起来,只要IT人员选用标准接口包装旧的应用程序、把新的应用程序构建成服务,那么其他应用系统就可以很方便地使用这些功能服务。
  支撑SOA的关键是其消息传递架构-企业服务总线(ESB)。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递[2]。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务协调运作,实现不同服务之间的通信与整合。
  3 ESB标准功能
  总线基础服务框架:提供系统一致性、安全性、可靠性,以及性能和扩展能力保障的基础技术手段,如队列、消息、路由等。
  集成服务:提供基础的集成服务与用户定制的应用服务;支持多种集成服务模式;支持服务的封装、重用、服务组合、服务调度,如文件、邮件、数据库、WEB服务、XML等。
  公用服务:提供内置的各种公用服务。例如,渠道认证服务,日志服务等公用服务。
  服务管理和服务标准:提供服务配置管理的前台工具集合,并提供行业的服务规约标准。
  4 常用ESB对比
  对现有的各种开源ESB总线依据性能、可扩展性、资料文档完整程度以及整合难易程度等方面展开。
  4.1 JBoss ESB
  JBoss ESB是JBoss社区为面向SOA而提出的一个EAI系统平台。它提供了很多EAI本身所应具有的功能,例如业务流程监控、集成开发环境、工作流用户接口、业务流程管理、分布式计算架构以及作为应用容器的功能等。可以说JBossESB在功能上是较为强大的。但相对于上面的总线而言,它的技术架构方案是最独立的。因为它除了支持J2EE标准外,对于JBI规范压根就不沾边。当然也就不存在JBI规范中的规范化消息路由、服务引擎和绑定组件了。JBossESB除了支持 Web Service外,还支持多种的远程调用协议,例如JMS。只是相对于ServiceMix和CXF而言,如果要对JBossESB进行扩展,可能要花费较大的时间和精力。
  4.2 MuleESB
  Mule是当下使用最多的开源集成平台。MuleESB价格低廉,配置、扩展简单,而且灵活性强,使得它非常流行。MuleESB有社区版和企业版,其中,社区版是免费的,但4.0.1以后不再有社会版,步入收费状态。
  4.3 WSO2 ESB(WSO2)
  WSO2 ESB是一个轻量级的易于使用的企业服务资源总线,基于Apache Software License v2.0. WSO2 ESB 允许系统管理员和SOA架构师轻松的配置消息路由,虚拟化,中介,转换,日志记录,任务调度,负载均衡,失败路由,事件中介等等. 运行时被设计为完全异步,非阻塞 、连续的。基于Apache Synapse 中介引擎。
  5 结束语
  本文介绍了企业服务总线系统的相关理论基础,主要包括面向服务架构(SOA)的概念、特征、与WEB服务的关系以及SOA对软件架构设计的影响;然后重点介绍企业服务总线ESB,它作为面向服务类型EAI的实施方式和传统的EAI相比有着强大的功能和优点,最后对比了目前主流的ESB的产品。
  参考文献
  [1] 邵欢庆,康建初.企业服务总线的研究与应用[J].计算机工程,2007,(2):220- 222.
  [2] 鲁亚林,傅鹏.面向服务的企业应用集成探讨[J].现代计算机(下半月版),2006,(11):9-11,19.
转载注明来源:https://www.xzbu.com/1/view-14944262.htm