深入解读ESB与SOA的关系

深入解读ESB与SOA的关系
 
有关ESB的概念,已经吵了好多年了,还是没有定论。
我个人认为,ESB本来就是抽象的概念,而且内涵丰富,在不同的场合含义不同。因此应该从不同的角度来认识。  
一、SOA和ESB一直是没有明确概念的两个缩略词  
原因是这两个词包含的内涵太丰富了,无法用一两句话说清楚,并且,这个词在不同的地方含义也有所不同。
SOA----面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服务整合来解决系统集成的一种思想。不是具体的技术,本质上是一种策略、思想。
ESB----企业服务总线,像一根“聪明”的管道,用来连接各个“愚笨”的节点。为了集成不同系统,不同协议的服务,ESB做了消息的转换解释与路由等工作,让不同的服务互联互通。  
目前ESB与SOA的确切概念依然没有。但可以明确的说SOA就是一种服务集成思想,它的不同实现方式可能差别很大,目前SOA最常见的实现方式是SCA和JBI。  
二、ESB究竟是什么  
这个问题在个大厂商之间,认识和观点也存在很大差异。
IBM、Oracle等认为ESB是连接服务的一种模式,但一些开源组织和其他厂商认为ESB是一种产品,并且提供了ESB连接解决方案的实现,这种实现可以认为是中间件,也可以认为是组件工具。  
对此,我个人的观点更偏向前者,ESB是一种模式,ESB的实现方式也很多,可以称之为ESB产品。当然在不同场合ESB的含义也不同,需要鉴别。
 
三、为什么ESB总和SOA黏在一块
通常,这两个名词总不分家,谈论的话题中“你中有我,我中有你”。  
为什么是这样的呢?
ESB是SOA吗?
两者之间究竟有什么微妙的关系呢?
带着疑问,继续往下看:  
首先,ESB不是SOA。SOA的最常见的实现方式方式是SCA和JBI,而SCA的实现需要ESB,相反JBI则不需要ESB,可以参看本人对JBI和SCA分析解读的文章。  
其次,因为IBM和Oracle(收购了BEA和SUN的牛X公司)都推崇SCA模式的SOA,因此SCA实际上已经成为SOA的事实标准,说道SOA,最先想到的就是SCA模式了。
  最后,ESB是SCA架构实现不可缺少的一部分,ESB产品脱离了具体的应用外,没有任何意义。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技术平台为企业级信息系统的整合、规划、开发和建设提供了一把低成本和相对简单、实用的钥匙。

你可能感兴趣的:(ejb)