数年前,位于菲尼克斯的全球技术分销商Avnet曾开始着手尝试在充满遗留应用(程序)的IT环境中实现更大的灵活性。为此,公司必须自行描述出所设想的架构:企业集成优化。
8年后的今天,Avnet所部署的这种架构类型被称作面向服务架构(SOA)。Avnet的(SOA)核心先前被公司称为消息集线器(Message Hub),如今由于其作为SOA推动器的作用日渐明显,也获得了另一个名称:企业服务总线(ESB)。
美国马萨诸塞州的Forrester Research公司的高级分析师Larry Fulton认为,在很多SOA实施中,ESB都是一种重要的组件。他说:“ESB可以使现存的IT基础设施向SOA的转移变得更加容易。”

SOA作为一种基础设施,可以将软件应用程序分成模块化组件——被称为服务,并放置在方便用户或其他服务访问的存储库之中。在上述工作处理妥当的情况下,公司通过编写实现不同服务间互动的具体程序几乎可以任意实施新的业务流程。ESB是SOA的中间消息服务层,通常负责将不同应用程序中生成的信息转化为中性格式,并随后将上述消息输送至指定的目的地。
Fulton将ESB描述为“最纯粹意义上被用来连接SOA中服务的中间件。尽管通过为异构系统集成提供通信基础设施,ESB可以推动SOA内在的灵活性,以使服务和资源得到共享,但它并不总是一定作为SOA的必要组件。”
SOA部署不当会引起不良后果
不过也有些人认为ESB——甚至是SOA——在很多情况下会产生拔苗助长的效果。
NetManage产品管理总监Archie Roboostoff指出:“很多客户是为了得到SOA而着手构建SOA,这样的失败案例我们已经见证得太多了。”NetManage主要提供用于集成、Web服务以及访问企业信息系统的解决方案。
Roboostoff注意到如果在真正需要ESB之前就开始实施大型ESB项目,通常会遇到麻烦。
他说:“我们并不反对ESB,而且在ESB层面,我们拥有诸多合作伙伴。现在的问题是当客户试图做我们所说的自上而下将现有的应用程序‘服务化’时——也就是说他们想在一夜之间就把SOA需要的所有工作都完成——未免太操之过急。”
他继续说:“一般情况下我们建议客户从一个业务单元开始部署SOA。利用新技术将应用程序的逻辑层用服务的概念包起来,从而解决某些具体的问题。而一旦你希望把同样的东西在其他业务单元上复制时,你就需要引入ESB了,因为这个时候你是真正需要ESB技术了,而不是为了ESB而上ESB。”
保留现在所拥有的
在ESB的诸多优点中,尤其有一点最为突出,就是它将复杂应用程序的集成变得很容易。用Fulton的话讲,这些应用程序天生就是相互格格不入的,而ESB将集成这些应用中最烦琐的部分省去了。
这种情形对于Avnet而言,似曾相识。在Avnet构思如何将可定制化的电子商务服务拓展到其多元化的客户和交易伙伴平台中时,才标志了其SOA之旅的开始。Avnet希望在无需更换其现有应用程序的前提下实现上述目标,而他们当时的既有系统包括20多年前自主开发、基于COBOL的定单交易系统等等。
不仅Avnet内部的系统集成是问题,当时利用Avnet现有的静态基础设施去点对点地实现与每一客户及合作伙伴ERP系统的连接是不可能的。
Avnet首席技术执行官Bill Chapman解释说:“如果没有SOA技术,单靠我们这些人在紧捆绑的系统间做集成,非抓狂不可。而利用面向服务概念,我们能够松耦合地操作,而不必总是将原有的应用程序重新编写或修订。”

Progress Software声称其Sonic ESB能够实现在供应链内部运行的所有异构应用程序之间的消息传输。
这种灵活性在很大程度上都是由公司内部开发的ESB来完成的。Avnet解决方案集成总监Sean Valcamp说:“它是一种执行所有ESB功能的消息集线器架构,集转化、转换以及路由功能于一身。”
最终,公司决定用一个产品化的ESB产品来替代自主开发的这个机构。Valcamp说:“我们利用现有的架构确定了挑选ESB产品的标准,挑选最适合Avnet的现成的解决方案。结果webMethods脱颖而出。”
Chapman指出Avnet基于ESB的SOA架构使得公司的业务方式发生了重大改变,他认为最明显的两点改善就是和交易伙伴更紧密的联系,以及发掘新业务机会的能力。
他说:“该架构是一种重要的业务驱动力。Avnet将IT及其提供的服务看作是供应链中的一种差异化竞争能力。”
该架构的另一个长处在于能够挖掘既有系统的特长使其得以延伸。Valcamp补充道:“我们将注意力集中在Avnet已有的系统上。新的架构并不更换或废弃已使用了多年的技术或系统,相反,它利用这些技术和系统来重新搭配,包括更有效地利用熟悉这些技术的员工。”
Avnet的案例清晰地诠释出为何以ESB为突破口应用SOA的模式日渐盛行,尤其是在大型企业中。Forrester Research最近所发布的一项报告显示,在2006年员工数量达到或超过40000名的机构中,其中有67%已实施SOA。