从集成技术的发展历史来看,最早是简单地点对点集成,两个应用通过各自的接口来实现通信。这种接口固化在应用当中的紧密耦合方式,使得系统毫无灵活性可言,应用本身的每次变化都会要求其相应接口的重新定制。
于是发展出基于消息的中间件,接口被消息代理所取代,应用与应用之间不再是通过其本身的接口互联,而是通过独立的消息代理来通信,这使得应用与应用之间耦合更松,应用的变化影响的只是消息代理,而不需要其他应用改变。但是它仍然是点对点集成的一种方式,路由逻辑和业务逻辑没有分离,系统基本没有扩展性,部署上还是网状结构。
这种点对点的集成方式应付少量应用的整合还差强人意,对于大规模的集成,在EAI时代,逐渐发展出“集线器”模式。通过把所有的系统都连接到中央交换中心,这种模式巧妙地把集成逻辑和业务逻辑分离开来,大大增加了系统弹性。但是这种中央控制的方式使得管理相当复杂,同时中央又往往成为集成的瓶颈所在。
分布式时代的到来对于集成的方式提出了巨大的挑战,这时候ESB就应运而生。通过采用轻量级的分布式体系,ESB将更多的处理逻辑分配到多个的端点上,中央服务器不复存在,业务逻辑处理能力及系统压力可灵活调配。
“总线对于Hub进行了拓展,拓扑的模式还是那样,但是这个单一的物理中心被虚拟化,分散到了整个网络上,负载和灵活性都大大增加了。”IBM的毛新生这样解释ESB,他认为ESB真正实现了系统间的松耦合,从而能够应对大规模的集成。
“ESB就是EAI在SOA时代下的一种形态。”金蝶中间件ESB产品项目经理倪晓兵说,“区别于传统的EAI技术,ESB不仅支持高度的分布式部署,同时支持异步消息的交互,强调面向的对象是符合标准的服务。”
另外,ESB在集成的过程中,更强调一种“统一消息”的概念。这种“统一消息”的格式,是可以被在ESB中所集成的各个服务都认可的。例如,IBM提出的SDO这样的一种统一的数据格式。
SOA时代下的产物
在SOA时代下,ESB为SOA的实施提供了底层架构的技术支持。SOA从根本上来说就是要解决两个问题:重用和异构,但是作为信息化系统建设永远要面对的两个难题,解决的方法却并不简单,所以SOA的体系庞大而复杂。
另外,SOA从根本上来说是一种软件架构的思想和方法论,它必须有相应的技术来帮助它落地,应用在具体的项目当中,而ESB则提供了实施SOA、简化SOA的技术手段。“ESB的意义在于让SOA有了一个可实现的基础设施。”IONA公司大中国区高级架构师陆飞舟这样说。
对于SOA要解决的两个难题,ESB从底层架构上都进行了技术支持。对于服务的重用,ESB提供了服务仓库和消息的路由,来实现服务之间的彼此调用。一个应用如果需要调用一个服务,它根本不用知道这个服务在什么地方,如何调用等,而只需要发送一个调用的请求,ESB就会帮助它找到那个服务,并进行绑定和消息的路由。“ESB为服务提供者和服务消费者之间的集成提供了一个平台。”倪晓兵说。
更重要的是ESB为分散服务提供了交互、组合和治理的基础架构。有了它,SOA才能释放自己的最大价值。
而对于异构环境的连接,这是ESB天生就具备的能力,因为集成技术一开始就是面向异构环境的。不同的数据、消息遵循不同的协议,采用不同的格式,为了完成它们之间的交互,ESB就必须提供转换的能力。同时作为EAI在SOA下的一种形态,ESB更具开放性,尤其是对Web服务的支持。
IBM为ESB定义了四个必备的功能:“路由器”——根据信息内容,在不同应用和服务之间进行信息传输和路由;“转换器”——进行应用之间的通信协议转换;“翻译机”——进行应用之间的消息格式转换;“收发室”——处理来自不同渠道的业务事件(同步传输,异步传输,发布/订阅等方式)。
其中“路由器”和“收发室”都是针对服务的重用而设计的,而“转换器”和“翻译机”则专门用来解决异构的通信问题。
针对重用和异构这两个难题,倪晓兵认为ESB提供了两个核心的功能,服务的管理和数据的转换。
那么ESB到底是什么呢?业内对ESB的定义是:它是由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。
ESB是逻辑上与SOA 所遵循的基本原则保持一致的服务集成基础架构,它提供了服务管理的方法和在分布式异构环境中进行服务交互的功能。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
用友UAP平台使企业业务架构弹性扩展
用友UAP-ESB作为企业应用服务的基础运行环境和开发技术平台,基于OSGI微内核框架设计,为用户提供一个开放的、通用的、可扩展的架构,使得用户能够按照统一的方法,动态的开发、管理和部署组件。
-
SOA整合系统必须的实施步骤
对于企业管理者来说,SOA的技术层面的内容不是问题,而怎样实施SOA。达到目的才是问题。本文介绍了SOA整合系统必须的实施步骤。
-
基于SOA体系架构设计与规划
对企业级架构设计师来说,即创建一个灵活的业务体系架构意味着可以满足当前还不清晰的业务需求的IT架构。而在SOA体系架构设计中,服务是最核心的抽象方法……
-
成功SOA秘诀:化整为零
中等市场规模的公司应该与更大型的企业应用相同的SOA项目原则。其原则之一就是学会考虑长期开发较小的项目。