InfoQ

新闻

ESB这个词到底是什么意思?

作者 Jean-Jacques Dubray译者 郭晓刚 发布于 2007年9月29日 下午4时16分

社区
SOA
主题
ESB,
Web服务标准
标签
WS_TX,
Web服务标准,
WS-ReliableMessaging

微软Connected Systems部门的程序经理Nick Allen在他的博客中提出这样的问题

到底ESB(Enterprise Service Bus)是什么意思?这已经是争论了好几年的一个问题,而且没有任何迹象表明争论会停止。当我在2003年第一次读到ESB的时候,并没有想到我在4年之后还在试图理解它的含义。

去年Miko Matsumura的文章也谈到了这个问题(文章第一部分第二部分)。这次Nick继续搜寻主要的厂商对ESB的定义。然而,

微软[……]回避了定义的问题(ESB Guidance]网站上耍起了太极:ESB对不同的人意味着不同的东西)。

对于Burton Group的研究主管Anne Thomas Manes来说,

ESB本质上是集成系统,而非SOA系统。SOA的要点是撕开应用的外壳,而集成系统会加强这些外壳。[……]ESB特别有利于架通遗留系统,也因此它是服务基础设施中的一员。

Anne的定义看起来跟Sun Microsystems的Ron Ten-Hove(JBI规范领导)的定义一致(非Nick引用):

ESB是分布式的中间件系统,用来以一种面向服务的方式集成企业IT资产。

也跟Gartner的理解一致(非Nick引用):

一种具备Web Service能力的基础设施,作为松耦合或解耦合的若干业务组件之间的中介,并在其中进行智能指导的通讯。

BEA、IBM、Oracle等等似乎都持同样的说法,用Nick的话说是:业务组件的通用通讯和集成服务。厂商的观点之间也有一些值得注意的差异之处。对于其中一些厂商(IBM、微软)来说,ESB是将一系列能力联结在一起的一种模式,而其他厂商认为ESB是一种产品。这正是讨论中的胶着点。在2005年,微软Identity Platform的产品经理Rich Turner写道

ESB[产品]是一根聪明的管子,用来连接各个愚笨的节点。[……]WS的途径让节点本身也变得聪明,减少了对底下聪明管道的需要,并确保了跨越任何平台与设备的开放的通讯。

Rich的观点今年再来看显得更有意义,WS-TXWS-RX规范已经被批准,终于在标准的Web Service协议的基础上提供了一个安全、可靠、具备事务能力的通讯机制,不再局限于厂商私有的标准。Rourke McNamara区分开了ESB实现(ESBi)和ESB产品(ESBp):

ESB产品(ESBp)是设计来帮助企业构建ESBi。ESB市场已经成熟,ESB产品(ESBp)的定义在2006年当中已经变得清晰。今年已经看到所有主要的SOA厂商都发布了他们精心调整过的ESB方案。
查看英文原文:What does the term ESB actually mean?

没有回复

回复

独家内容

程立谈架构、敏捷和SOA实践

支付宝首席架构师程立在本文分享了支付宝技术架构的发展,对架构的认识,成功架构的特点,如何避免架构设计的失败,以及在敏捷和SOA方面的实践等。

Emmanuel Bernard谈Bean验证规范

InfoQ有幸采访到了Emmanuel Bernard,向其了解Bean验证框架及专家组正在寻求的社区参与的更多相关信息。

通过索引器简化C#类型信息访问

作为一个有别于Java、Ruby等语言的一个特性,C#可以用索引器(Indexer)将类型本身以对象数组的形式供外部使用。同时,把索引器和LINQ结合使用倒是一个非常不错的组合,索引器做接口、LINQ完成内部检索逻辑,客户程序在无需记住具体方法名称的前提下,按照键值检索即可,索引器内部则依托LINQ to系列的基础,提供对各种异构数据源的访问。

产品负责人成功之道

Scrum中,产品负责人这个角色具有很大的影响力,能够带来很高的价值。但要想运用得当,可没那么轻而易举。如果做得好,就可以在客户和开发者之间建立更为融洽的关系,并能够增加组织的竞争优势。

硝烟中的Scrum和XP

在本书中,作者Henrik Kniberg讲述了他在一年的时间里,带领40人的团队实施Scrum的过程。他们试过了多种团队尺寸(3~12人)、sprint长度(2~6星期),定义“完成”的不同方式,不同的backlog格式,各种测试策略,在多个Scrum团队之间进行同步的多种方式。他们还尝试过XP实践——持续集成、结对编程、测试驱动开发等等,还试过了把XP跟Scrum组合。

软件开发中的准时化生产

准时化生产(Just In Time)是精益生产(Lean Production)和丰田生产系统(Toyota Production System)中的概念,敏捷开发与准时化生产中的很多观点和实践是一致的,精益思想作为精益生产背后的指导思想也正在积极地影响着软件开发领域,向其中不断注入创新与活力。

Tapestry for Nonbelievers

I. Drobiazko和R. Zubairov合作撰写了一篇文章,详细介绍Apache Tapestry 版本5——一个面向组件web框架。文章向读者展示了创建组件方法,并谈到了Tapestry中的IoC以及Ajax的相关特性。

ESB拓扑方案

在本文中,Adrien Louis讨论了两种基于ESB的SOA拓扑方案的优缺点:单个公司级ESB vs. 彼此互联的“部门级”ESB系统。Adrien讨论了每种方案对管理、业务监测、治理、可靠性和编配等问题的影响。