首页 > 范文大全 > 正文

让ESB回归本源

开篇:润墨网以专业的文秘视角,为您筛选了一篇让ESB回归本源范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

关于如何把必要的企业服务总线(esb)转化为面向服务的架构(SOA)一直存在着争论。强调ESB对于SOA重要性的人有着自己的关注点,而质疑ESB作为SOA基础的观点也有着更深层次的考虑,同时是对前一种观点走向极端的一种有益的矫正。

ESB简化SOA应用

异构和变化是信息化系统建设永远要面对的两个难题,而SOA正是这两个难题迄今为止最好的解决方案。SOA最重要的理念就是“服务”,通过在服务之间灵活地实现组装,从而能快速地生成新的应用,如此以来,SOA帮助IT系统及时地应对业务的变化。另一方面,SOA的本质是开放,它面向整个internet网络的,连接各种使用不同协议的通信网络和各种不同架构的应用,因此必然要求解决不同环境的异构问题。

使用SOA架构来搭建IT系统是一个复杂的过程,而ESB的使用则简化了这一过程。业内对ESB的定义是:它是由中间件技术实现并支持SOA的一组基础架构,它支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。

消息的路由和数据的传递是ESB解决的两个关键问题,通过这些,ESB帮助SOA实现了服务之间的灵活组装,有效地应对了业务的变化。

而在服务组装的过程中,不得不应对不同环境下服务的异构问题。不同的服务,它所采用的技术、消息结构的格式,还有一些语义上的不匹配,都需要借助ESB的方式在它们中间做一个适配。ESB屏蔽了底层不同环境之间转换的复杂性,使得服务的技术和位置变得透明,这样技术人员可以把更多的精力放到业务的考虑上,而把这些底层的不适配问题交由ESB来解决。

ESB的采用帮助SOA轻松地应对了它所面对的两个难题,通过把这种复杂性转移到ESB上,大大简化了SOA的实施。“ESB的意义在于让SOA有了一个可实现的基础设施。”IONA公司大中国区高级架构师陆飞舟这样认为。

ESB不等于SOA

ESB在SOA中的重要作用已经得到了人们的共同认可,Forrester Research公司发表的一份报告指出,持续采用SOA能很好的体现ESB的思想,并且把ESB称为“SOA的主要切入点”。 SOA厂商更是纷纷推出自己的ESB产品,并不断地向用户宣扬ESB可以帮助他们简化SOA的难题,降低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说道:“ESB绝对不是组织启动SOA的起点,ESB提供的能力你一开始并不需要。因此,ESB应该在后期购买”。

Accenture首席技术官Don Rippert认为激活SOA的全部潜力需要通过四个阶段,而ESB则处于第三个阶段。而当前大多数的企业还只是处于第一个阶段,因此ESB实际上对于他们来说并不是迫切需要的。

Bobby在他的文章中也说道,仅仅建造一个总线的工程是不可取的。IT部门认为只要建造了一个总线,人们就会围绕着总线来构造SOA的应用了。但是问题在于,当人们开始构造SOA应用时,他们会发现那些已经建造好的ESB已经不能满足当前的需求了。

针对这种错误的倾向,他警告道“只有当你实际需要一样东西,才去实现它,决不要仅仅因为你预见到未来的需要。”这种哲学遵循的思想是“够用就好”,或者说只有需求出现时才去满足它,而不是预测将来会出现什么样的需求,然后预先就去实现它,因为这样做将造成巨大的浪费,甚至给将来设置阻碍。

“ESB就是道路,试想城市规划时是不是先把所有的道路都修好,然后再去修建筑呢?”毛新生这样形象地做了一个比喻。

正确认识SOA的真谛

以ESB为中心来构建SOA系统,这种错误的根源就是完全从技术角度考虑,而忘记了SOA的核心是业务价值,而ESB只是一个技术问题。

“Bobby Woolf的这篇文章就是批判唯技术而技术的错误路线,这是一个不太好的建设企业IT的倾向。”毛新生这样解释Bobby那篇文章的真正目的。

离开了SOA,ESB将失去它所连接的服务,而仅仅是一个总线,同时也将变得毫无价值。Bobby做了一个比喻:路是没有任何价值的,除非你利用它把一个东西从一个地方移到另外一个地方。而离开SOA,ESB就像一个没人使用的道路。

“做SOA的事情不要先上来建立一个大而全的ESB,相反是关注你的业务问题,找到用SOA的方法来解决业务上的需求,在解决这个问题的过程当中,你会看到一系列的业务服务。这些业务服务是会产生业务价值的。它可以灵活地组装,动态地解决你变化的业务需求。这是它的价值,只有这样才能使你的业务敏捷起来,随需应变起来。而在服务的组装过程中,你再去考虑利用ESB来把他们连接起来。”毛新生说道。

在认识到SOA的业务本性后,我们将重新回归ESB在SOA实施过程中的正确位置,而不是一切以ESB为中心。当然这种矫正并不是否认ESB的价值。ESB是好的,单纯的ESB项目是坏的。让架构围绕服务,而非总线。