SOA中企业服务总线的角色
企业服务总线(ESB)是分布式的、基于消息的集成解决方案,遵循开放的标准。ESB的角色是在各种IT资源——比如企业中分布于不同的系统上的应用系统、平台和服务之间——更容易的建立可靠的通讯。
业务敏捷——能够快速适应需求变化的能力——正逐渐成为激烈竞争的全球市场中业务运作的关键目标。业务管理人员需要迅速重新调配资源和流程来应对这些变化。为了更迅速的应对这些变化,IT管理人员正在抛开那些孤立的流程和整体化的企业应用软件,他们正在尝试将应用系统进行松耦合集成的方式,并在企业中提供可以作为可重用服务的业务功能。
面向服务架构(SOA)是一种通过松耦合的“服务”组件创建企业IT基础架构的方式,这些组件就是一些离散的功能。合成的应用系统是SOA环境的关键元素。这些应用系统通过调用和编排若干的服务、事件和模型来创建,通过这种方式将他们封装成为更高层次的业务功能。这些功能使IT部门能够重用那些已经被测试过的过程和具有扩展性和服务质量的组件,增加了业务的敏捷性。这些重用可以帮助减少市场响应时间并降低IT开发成本。
企业服务总线(ESB)是分布式的、基于消息的集成解决方案,遵循开放的标准。ESB的角色是在各种IT资源——比如企业中分布于不同的系统上的应用系统、平台和服务之间——更容易的建立可靠的通讯。当IT部门越来越关注构建SOA来降低开发成本并提升业务敏捷时,ESB就成为了建立企业SOA关键的第一步。ESB作为SOA的基础,可以通过附加的生产能力比如服务编排和注册,进行补足。本文将要讨论能解决企业SOA需要的ESB的需求。
Web Service和ESB之路
SOAP,Web服务表述语言(WSDL)和HTTP解决了一个棘手的问题,以前试图创建分布式系统的标准是一件很苦恼的事情,比如公共对象请求代理架构(CORBA)或者分布式计算环境(DCE)——即目前广泛被接受的两个最大的应用技术阵营(.NET和J2EE)与众多的应用系统提供商。虽然这绝非易事,但可以通过将标准极度的简单化为一套一致同意的核心技术条款来获取认同。这个设计原则既是Web服务标准的最大优点也是最大的局限。
简单的讲,没有企业级的应用可以单独运行SOAP,WSDL和HTTP。尽管Web Service和SOA在IT社区中快速的获得认可,他们也面临着与之前的分布式系统同样的挑战,这在很大程度上取决于他们的分解原则。在这些挑战中,最重要的是如何解决点对点连接,也就是常说的M*N连接的问题。
下面的图1说明了点对点的集成方式所产生的连接爆炸问题。每一个应用系统增加,都会使连接的数量呈指数级增长,因为每一个应用系统都要连接到其它的每一个应用系统。TIBCO创造了信息总线范例,右面的图是该范例的说明。在这个模型中,每一个应用只与公共骨架——总线——连接。这样使连接的数量最小化并且提供了为连接、集成系统和架构的管理提供了集中的位置。

图1:通过ESB降低连接复杂性
为了管理服务客户端与服务提供者的连接与通讯的复杂性,SOA需要一个骨架,它能够超出传统分布式消息,在异构的IT环境中提供复杂的转换、路由和松耦合连接,并且与平台无关。这个可靠的骨架提供企业级服务总线就是ESB。
ESB的企业级需求
我们来看一下服务总线的企业级功能。下面的每一项功能都是SOA中进行成功的集成的要点。将他们融合在一起就可以解决SOA环境中服务提供者和服务客户端所面临的问题。

