企业服务总线(Enterprise Service Bus),以下简称ESB,是过去消息中间件的发展。ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态的互连互通。

  ESB定义:ESB是一种在松散耦合的服务和应用之间标准的集成方式。它可以作用于:

  面向服务的架构 -分布式的应用由可重用的服务组成

  面向消息的架构 - 应用之间通过ESB发送和接受消息

  事件驱动的架构 - 应用之间异步地产生和接收消息

  ESB就是在SOA架构中实现服务间智能化集成与管理的中介。

  ESB来由背景

  过去几年里,美国企业的经营理念在竞争加剧和IT发展的驱使下,开始朝着实时型企业(real-time enterprise)的管理模式发展。实时型企业是Gartner公司提出来的概念。要想成为一个实时型企业,企业就必须能对发生在任何地方和任何时间的关键业务和事件做出最迅速的反应,其反应速度必须是瞬间,即零延时的。一个实时型企业必须具备实时处理突发事件的能力。

  显然,实时型企业希望能够在事件发生时,就立刻做出相应的反应。它使得企业管理不再是被动地对所出现的状况进行反应,而是能进行主动及时地反应,在商机出现时,实时地完成商务运作,在零延时的状况下抢占市场先机。实时型企业的管理和运转已呈现出了由事件实时驱动管理能力和反应能力的态势。

  一个具备实时反应能力的企业对信息系统的整合提出了前所未有的高要求,因为分割和零散的系统将阻碍其成为实时型企业。对大型企业而言,想整合现有的系统本身就是一项巨大的工程,加之还要在整合中兼顾企业发展的新需求,这就难上加难。可见,想在维持企业正常工作的环境中,同时兼顾新旧系统之间的融合、解决各分支机构和各部门间的信息沟通和数据共享,真正转变为一个实时型企业的难度很大。

  面对这些头痛的问题,企业需要一个能够真正化解难题的技术平台——它应该是高屋建瓴,超然于现有的所有技术平台和应用平台之上。这样才能把处于分散状态且未来也绝不可能集中的软硬件平台整合起来。此外,这个平台还要能包容未来不断增长和动态变化的企业信息化的需求,并能够把新系统完整、有机而自然地与现有系统架构整合在一起。在这种需求背景下,ESB(Enterprise Service Bus,企业级服务总线)中间件技术恰如其时地出现了。

  ESB介绍

  ESB中间件技术是原生技术,其技术概念形成于1996年,是由位于美国亚利桑那州的国家光学天文台(National Optical Astronomy Observatory,NOAO)提出的。当时,NOAO希望其能把天文望远镜拍摄到的图像转换成海量信息,并将之实时地传输到实时图像处理和显示子系统,让天文科学家能够与天文望远镜同步在电脑屏幕上看到星际图像。这套信息处理系统被称为MDHS(Mosaic Data Handling System),其核心组件是MB(Message Bus,消息总线)中间件。这个中间件具备两个与当时通用的商用消息排队中间件技术完全不同的能力:实时传输信息的能力;海量的数据承载能力。消息总线的这两个核心技术也是组成ESB中间件技术的核心。

  消息总线一问世就被一个财大气粗的赞助商——美国宇航局看上。这是因为美国宇航局的航天飞机中有一个FP(Fault Protection)的信息应用系统,它是一个故障保护系统,专门负责航天飞机所有的软硬件系统出错后的保护和纠错。另外,宇航局地面控制中心的指令也是通过FP系统传输和执行的。可以说,FP是航天飞机中最关键的软件系统之一。

  当航天飞机的一个热敏传感器察觉到机械部件过热时,它会把信息传输给FP系统,再由其发出相应的指令进行调节。地面控制中心也会向航天飞机发出一连串的指令,这些指令必须按照发出的顺序,在指定时间内执行,不得出现时间和顺序上的错乱。庞大的航天飞机系统随时都会同时出现多个错误,这些错误必须得到实时解决,因此要求FP必须具备分布式同时解决多个问题和共享解决方案的能力;另外,FP对系统容错的要求也很高。MB的设计构思正好能够满足美国宇航局这些苛刻的要求,因此它被美国宇航局选中,成为FP系统的通讯中间件。

  “公共汽车”

  从上世纪90年代中期开始,美国企业就开始致力于解决公司信息系统的整合问题。对美国企业而言,尤其是那些规模庞大的企业和跨国公司,如何把过去10几年乃至几十年积累下来的软硬件系统整合起来,成为它们面临的一个永恒挑战。它们年年谈整合、年年做整合,其间不同的整合概念和技术平台层出不穷,但不尽相同的解决方案总存在着不足。这些不足使得企业为了达到整合的目的要么需要增加额外的硬件投资,要么就得额外购买软件。而钱花出去,效果却往往不尽如人意,当新的信息系统运行后,又需要把过去整合过的系统与新系统再整合一次。于是,企业陷入了无休止的整合—开发—再整合—再开发的怪圈,以至于一些企业不堪重负。

  通常而言,企业在整合和发展信息系统时会面临两大难题:一是如何自然、有效地整合种类繁多、分散于各地、服务于不同商业目标的信息系统平台;二是如何只利用一种成熟、有效的中间件技术,就能把未来的新信息系统有机地包容到现有系统中,使现在和未来能自然而有机地结合在一起。

  于是,美国的IT业界清楚地意识到他们需要一个应用起来相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。IT整合技术势必将经历一场无可避免的阵痛。

  与太空有着不解之缘的ESB所使用的底层技术概念全盘接受了消息总线(MB)的设计概念。其实,ESB中间件的概念并不复杂,人们可以将它看做一辆不间断运行的公共汽车——在不同车站有乘客上下,在同一站点上车的乘客可以在同一车站或不同站点下车。不过,与传统公共汽车不同的是,ESB能够用足够快的速度传递信息,即实时地传递信息;另外,ESB还具备强大的信息传输能力,可以达到Gb级、甚至Tb级的数据承载能力。ESB传输的是带有服务任务的计算机信息和指令,它们可以不断地被一群服务器装载到ESB,然后再由另一群服务器把信息从ESB上卸载下来,以服务于不同的业务需求和目的。

  ESB最大的技术特点在于,它是一个完全面向企业级的中间件解决方案,可以架构在企业现有的网络框架、软硬件系统之上,构筑出一个企业级的信息系统解决方案。在ESB中,服务器犹如一个个汽车站,可以自由地连接和脱离ESB中间件,所有的信息系统都可以通过其发送或接受任务、指令,它适用于所有的现有或未来的信息应用平台。

  对企业而言,采用ESB中间件系统作为企业级信息系统整合方案中的中枢技术,几乎可以无须添加任何软硬件设备,就可把过去、现有和未来的IT系统整合在企业级的信息应用框架下,并且能为企业提供实时、大容量的信息通信和实时控制、管理和分配消息传递的能力。它能大大提高整个网络和信息系统的使用效率,它还能为企业节省可观的整合费用。

  ESB中间件技术的强势出现不仅解决了令企业最头痛的信息系统整合问题,还能满足企业向实时型公司转型的需求。ESB的实时信息传递和大容量的信息承载能力适用于不同行业和类型的商业应用。目前,IT业界所流行的IT服务随需而动(Service on demand)、网格计算(Grid Computing)或服务导向型企业级信息系统架构(Service-Oriented Architecture,SOA)等新概念都可以使用ESB技术平台,作为其实现蓝图的工具。可以说,ESB技术平台为企业级信息系统的整合、规划、开发和建设提供了一把低成本和相对简单、实用的钥匙。

  有人说,Web2.0和SOA珠联璧合;也有人说,ESB是SOA的基础与核心;还有人说,最重要的是找到快速切入SOA的技术手段……实施SOA是美好的憧憬,也是艰难的跋涉,就让道听途说的状况到此为止吧。12月20日,身处一线的SOA资深专家将现场过招,详解案例,直面难题,你来不来?