BobbyWoolf是《EntERPriseApplicationIntegrationPatterns》的合作者,也在IBM任职WebSphereSOA与J2EE顾问,他写了一篇文章来质疑把ESB当作SOA的实现基础是否正当(参阅文后注释*)。  客户常常希望单纯构建ESB,因为这样可以避开难搞的业务需求,专心解决技术上的挑战。单纯构建ESB是IT人员的梦想,这样他们可以先建立ESB,然后指望以后会有SOA跟上来利用它。这种以ESB为导向的架构丢掉了SOA的优势。这种架构没有产生业务价值。实际上,花费了成本却没有收获直接的利益。  Bobby的文章写

首页 > 综合 > 正文

以ESB为导向建立SOA是有害的[1]

2008-08-04 18:39 来源:希赛 

BobbyWoolf是《EntERPriseApplicationIntegrationPatterns》的合作者,也在IBM任职WebSphereSOA与J2EE顾问,他写了一篇文章来质疑把ESB当作SOA的实现基础是否正当(参阅文后注释*)。

  客户常常希望单纯构建ESB,因为这样可以避开难搞的业务需求,专心解决技术上的挑战。单纯构建ESB是IT人员的梦想,这样他们可以先建立ESB,然后指望以后会有SOA跟上来利用它。这种以ESB为导向的架构丢掉了SOA的优势。这种架构没有产生业务价值。实际上,花费了成本却没有收获直接的利益。

  Bobby的文章写得很风趣。但引发的争论是严肃的,而且自DaveChappell发明出“连接优先(Connectivity-First)”这个新词组,争论就愈演愈烈。跟契约优先(Contract-First)这个词组类似,部署ESB就像以“连接优先”的方式开始你的SOA。Bobby认为以ESB为导向的架构方式

  ……有其固有的缺陷,它建立的连接性可能根本就没有人打算去用……只有当你实际需要一样东西,才去实现它,决不要仅仅因为你预见到未来的需要。

  OASIS的《SOAReferenceModel》并没有确切提到“连接性(connectivity)”,但它提出了通讯基础设施的概念:

  通讯基础设施的主要任务是促进信息以及意图的交换……特别是当交换的发生跨越了所有权边界的情况下,对数据的解释是一个关键问题。对数据的解释必须在服务交互的参与者当中保持一致。

  习惯上SOA架构参考,包括来自IBM的参考在内,总是把ESB放在一个显著的地位上。DaveChappell解释了ESB在本质上是一个服务容器,附带有专门的通讯基础设施,用来连接同处在一个容器内的服务。

  服务容器是抽象的服务端点(endpoint)的具体表现,它实现了服务接口。服务容器是一个能让服务组件寄宿其中的远程进程。从这个角度来说,它跟应用服务器容器有几分相似,只不过它的专门目的是寄宿集成的服务。

  别让Bobby的幽默掩盖了他的观点。Bobby不同意JoeMcKendrick和DaveLinthicum把他的观点解读成ESB完全无用。而我自己多年前也写过一系列文章,题为《跳下公共汽车(总线),打辆的》,我在其中质疑了对通用的通讯机制的需要。不过,带有专门的通讯基础设施(如DaveChappell所描述)的服务容器仍然是非常有用的,JBI规范的领导RonTen-Hove解释说:

  ·服务容器常常把各种IT资产连接到ESB上,

  而ESB:

  ·具有可靠的消息系统,以供服务容器交互。

  ·提供消息转换服务。

[1][2]

特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。

凡来源注明北极星*网的内容为北极星原创,转载需获授权。
展开全文
打开北极星学社APP,阅读体验更佳
2
收藏
投稿

打开北极星学社APP查看更多相关报道

今日
本周
本月
新闻排行榜

打开北极星学社APP,阅读体验更佳
*点击空白区域关闭图片,
双指拖动可放大图片,单指拖动可移动图片哦