【IT168 技术评论】
就像对于任何其他的新技术或新范例一样,每年的这个时候都照例会出现下面这个问题。今年是X真正腾飞之年吗?而今年的X是面向服务架构(SOA)。
我可以确定地说,这是最近几年反复出现的问题。最初是围绕web services的成熟和人气飙升的讨论,随后就快速过渡到更广义的SOA命题。
那么2006年是SOA真正腾飞之年吗?遗憾的是,很难简单地给出肯定或否定的答案。为了澄清这一困惑并试图回答2006年是否是SOA腾飞之年的问题,我使用了两个著名的模型。
Hype Cycle模型
Adoption Lifecycle模型
Hype Cycle模型
蓝色曲线是Gartner的hype cycle,它以图表方式表现特定技术/范例的成熟度、采用度和业务应用。从1995年起,Gartner使用hype Cycles来表现过热(即“hype”)以及随后的失望现象(这在引入新技术/范例时经常发生)。
在2005年7月,Gartner声称web services的应用正在接近“Plateau of Productivity”(生产力成熟期)阶段。这可归因于一些重要web services标准的发布以及在大量工具和产品中的实现。
对比之下,Gartner声称目前SOA正在接近“Trough of Disillusionment”(幻觉破灭期)阶段。SOA用了相当长的时间达到此状态,人们认为SOA对于新技术/范例来说过热了。我相信这是由于“Peak of Inflated Expectations”(期望膨胀期)阶段随着internet用于大规模营销分发而被延长了,SOA被认为是不连续的创新,因为它要求企业和个人改变其现有行为以获益。
随着SOA进入“Trough of Disillusionment”阶段,我认为这是一件好事而不是坏事,因为现在人们的注意力将从市场方面移开而关注SOA的实际交付。
SOA Adoption Lifecycle(采用生命周期)模型
adoption lifecycle模型有时被称为“Belief curve”,用于描述新技术/范例的接受程度。每种规则都存在例外情况,但是此模型基本上以普适方式描述了任何新技术/范例对于各种类型消费者的市场渗入情况。
使用Geoffrey A. Moore修改后的adoption lifecycle并将其应用于SOA,则每个消费者都有许多问题要解决。这些问题如不解决,新技术/范例就会失去推动力。
革新者
革新者应是技术爱好者,他们往往在还没有考虑新技术对业务或IT的意义时就尽快使用新技术。SOA Adoption lifecycle中的这些“技术爱好者”并不试图理解SOA的意义,而仅将SOA视为纯粹的技术游戏。这些公司仍然需要充分理解SOA带来的机会和影响。
集成开发环境已经成熟到可以毫不费力地从现有组件创建web services的程度。这产生了我称之为“右击”架构的东西。
对于希望解决此问题的革新者来说,他们必须理解面向服务架构与Web Services架构之间的区别。SOA培训不仅对执行官们非常重要,对公司的开发社区来说也是如此。管理层必须理解SOA不只是技术游戏,它包含了IT战略的所有方面;开发人员必须明白仅仅开发JBOWS(Just a bunch of web services,一组web服务)并不是SOA。直到双方都理解了这些,SOA提供的大部分好处才会得以实现。
早期采用者
早期采用者先期体会了新技术/范例所带来的战略业务影响,并利用它赢得竞争优势。这些有远见的人并不只是在单一项目中采用SOA,而是将其视为企业级计划的一部分。
大体上,BEA看到了一种趋势,某些行业中有更多有远见的人正在将SOA作为一种生活方式。其中两个坚持下来的行业是电信和金融业。这并不奇怪,因为这些行业有投资新技术/范例以赢得竞争优势的传统,这是因为他们各自行业内部的发展潜力在不断缩减。紧随这两个行业之后的是政府部门,它们正在考察SOA,以便更好地为政府部门之间的信息共享提供帮助,并将其作为支持民众自我服务自动化的方式。
看得更远的人已经看到SOA所面临的挑战与获益一样多。有远见的人已经在业务线内部署其初始项目的时候看到了许多获益。但是当这些有远见的人在数条业务线上扩展其项目时,却没有获得与在初始项目中所获得的相同等级的好处。这主要是因为额外的人员介入和交互所带来的额外挑战。一些副作用和影响造成了问题,例如服务蔓延(部署了100个服务,却没有消费者,或者存在数十个事实上具有相同功能的服务)的问题。
对于要解决此问题的早期采用者来说,他们必须意识到需要有一个承担所需的决策和责任问题的SOA管理模型。这需要早期采用者具有用于解决SOA的政治和文化转变方面问题的意志力和威信,并意识到工具本身(如服务注册库)只能作为辅助手段而不是最终解决方案。
除非公司拥有综合的SOA管理战略来解决这些风险,否则SOA所提供的获益将无法实现,而早期采用者可能以多个被封杀的SOA解决方案收场。正是由于这个原因,BEA开发了自己的SOA管理框架,它可以帮助公司开发和设计自己的SOA有效管理决策和责任框架。