第一页
关于如何把必要的企业服务总线转化为面向服务的架构一直存在着争论。强调ESB对于SOA重要性的人有着自己的关注点,而质疑ESB作为SOA基础的观点也有着更深层次的考虑,同时是对前一种观点走向极端的一种有益的矫正。
使用SOA架构来搭建IT系统是一个复杂的过程,而ESB的使用则简化了这一过程。“面向服务的架构(SOA)从根本上改变了对企业应用的设计、开发和集成的方式。它倡导企业应用的模块化服务、便捷集成和重用。然而SOA也带来一系列的技术挑战,如可靠的消息传递、服务的虚拟化、服务的发现和调用、策略管理等等。而ESB做为SOA架构的中间层,帮助企业有效解决了这些难题,所以企业往往会从ESB入手,来实施SOA。” 甲骨文公司大中华区高级技术经理黄建勇这样向记者解释ESB在SOA中的作用。
ESB在SOA中的重要作用已经得到了人们的共同认可,Forrester Research公司发表的一份报告指出,持续采用SOA能很好的体现ESB的思想,并且把ESB称为“SOA的主要切入点”。 SOA厂商更是纷纷推出自己的ESB产品,并不断地向用户宣扬ESB可以帮助他们简化SOA的难题,降低SOA实施的成本。
ESB不等于SOA
但是,人们对ESB的追捧正在使SOA的实施走向“迷途”。利用ESB来辅助SOA实施变成了以ESB为中心来构建SOA应用,手段变成了目的,技术篡夺业务成为了SOA的重心,这严重地背叛了SOA的本原特性。
IBM WebSphere SOA与J2EE顾问Bobby Woolf最近写了一篇文章《以ESB为中心的架构是实施SOA错误的途径》来质疑这种把ESB当作SOA的实现基础的做法。Bobby Woolf在文章中提到,很多客户在开始建设SOA时要求先为他们建立一个ESB,他们抛弃了SOA的理念而只对ESB感兴趣。“这些客户在ESB和SOA之间划了一个等号,或者更准确地说建设SOA就必须建设ESB。” SOA中国设计中心主任,IBM资深技术主管毛新生指出了这种错误的根源所在。
ESB不等于SOA,它更不能替代SOA。以ESB来启动SOA应用,然后以ESB为中心来构建SOA系统是不可取的。
Burton Group的分析师Anne Thomas Manes说道:“如果缺少我推荐启动SOA的基本组件,ESB将不会列在我的清单中。事实上,我并不鼓励人们由ESB开始。ESB并不会鼓励好的SOA行为。ESB本质上是集成系统,而非SOA系统。SOA是用于拆卸应用竖井(application silos),而集成系统则是修补这些竖井。”
而她提及的基本启动包括:
一个或多个服务平台(如.NET,Java EE应用服务器等)
SOA管理解决方案
注册表
如果服务要被暴露在防火墙之外,那么需要XML网关
她还指出,ESB非常有用,但是,在SOA项目的初始阶段可能不会发挥多大的用途。在SOA项目的后期,你还可能需要一个编制(orchestration)引擎,并且大多数的ESB都会提供一个。即便如此,ESB也绝对不是组织启动SOA的起点。所有这些能力你一开始并不需要。因此,ESB应该在后期购买。
Accenture首席技术官Don Rippert认为激活SOA的全部潜力需要通过四个阶段,而ESB则处于第三个阶段。他同时指出当前大多数的企业还只是处于第一个阶段,因此ESB实际上对于他们来说并不是迫切需要的。
未完,请翻页
网友评论