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

阅读数:6257 2007 年 9 月 29 日 16:16

微软 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-TX WS-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?

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论