SOA治理与预防面向服务的混乱

日期: 2008-03-20 来源:TechTarget中国

  治理需要


  客户采用SOA的一些早期结果阐明了SOA的承诺:通过提高灵活性和适应性来改变组织。虽然这其中有些只是奇闻逸事,但是存在实际的例子,证明采用SOA提高了对业务要求的响应能力,降低了新出现的开发成本。与此同时,这些发现必须与现实一致——SOA的成功不“只是发生”。发现SOA成功的客户都具有共同的特征:他们已实现了治理方法来支持SOA解决方案框架的设计、开发、部署和操作。


  SOA带来了跨信息技术解决方案的开发、部署和管理的扩展要求。虽然IT的总体挑战和治理要求仍然相似,但服务概念提高了IT功能与业务的相关性。IT不再被视为管理一组竖井式应用程序的功能;启用SOA的组织的IT组合建立在一组不断发展并与LOB和系统无关的公共基础功能和服务的基础上。因此,SOA治理以多种方式扩展了IT治理,例如通过以下方式:


  改变源自于新的设计和建模范例、服务重用注意事项和组合应用程序开发的传统开发生命周期。


  扩展操作管理的概念以处理分布式部署和管理的问题、测量服务接口及其基础实现级别的有效性、性能和安全性。


  在角色和职责方面(例如,需求评估、交流、服务所有权和项目资助)更改传统组织模型,从而推倒以前隔在业务和IT之间的墙。


  SOA治理是否必须强制执行现有的IT治理方法尚不确定,但非常明显的是,有效的治理可以为SOA治理方法提供一个初始框架。


  治理方法:良好、糟糕、差劲


  在我作为IBM的SOA架构师的工作中,我处理过成功的——以及失败的——SOA实现。客户要求我指出SOA成功所需的要素和(同样重要的是)导致失败的因素。这两个问题的常见答案都可归结为治理。虽然我可以编制一个SOA治理功能列表,但是我将把讨论限制到四个核心领域:


  策略和过程的定义和强制执行以支持服务的SOA设计、开发、部署和管理,以及一组对应的方法、技术和工具以支持业务的SOA和战术及战略要求。


  同时代表IT和业务的资质中心(或卓越中心)的建立,以作为整个组织中的共享资质来维护和推动SOA计划。


  SOA目的和目标的持续的管理层和业务资助,并强制支持与组织涉众进行有关 SOA开发、实现和管理的连续交流。


  组织级别的理解,以对SOA采用进行战术执行和战略计划;SOA是对IT和组织的渐进和不断发展的改变,并从迭代实现中获益。


  应该明确指出的是:SOA改变了IT使命和IT与业务的关系。


  SOA指引了一种不同的IT开发和管理方法,使得解决方案能够跨越组织业务单位,而不是像基于竖井的应用程序方法那样链接到特定的业务部门。如果组织不同时理解和协调这些注意事项,SOA就不会在企业级取得成功。


  SOA案例1:Acme Assurance


  IBM®在金融业的一个欧洲客户(以下称为“Acme Assurance”)于1999年开始构建一种结构化的集成方法,并从那以后已发展为企业SOA框架。该项目起初作为一个消息集成体系结构,以跨越大型机(IMS™、CICS®和现在的WebSphere®)、AIX®/UNIX™、Windows®和iSeries®。Acme Assurance使用DB2®和Oracle作为主要数据库,应用程序(自定义或现成的)运行于各种各样的实现(包括COBOL、PL/SQL和Java™)之上。作为初始框架的一部分,他们构建了一个使用 XML 来定义公共消息格式的框架、一个用于对消息流组件分类的内部自定义注册中心和用于定义流操作的语法(pre-WSDL) 。他们当前的解决方案包括300多个公共服务(现在正在迁移到WSDL),总体重用率超过50%更重要的是,他们日常事务的40%都流过这些服务中的一个或多个,从而在IT开发方面产生了300多万英镑的估计节省(基于重用和质量度量)。


  当我访问Acme Assurance并问他们认为成功的因素是什么时,他们回答说成功与他们从该工作一开始时就拥有的管理层支持有关,并且该体系结构的渐进式定义和交付使他们能够快速为业务产生结果。通过与业务的紧密联系,他们通过卓越中心(Center of Excellence,CoE)定义了技术和业务级别的服务和操作特征,卓越中心跨各个专门从事消息、Java、XML和安全性的团队交互。CoE负责:


  定义设计流程、基础设施组件和总体框架。
  定义和实现服务管理流程,包括服务的定义、文档记录和发布。
  定义用于测量重用的流程和操作实现。


  Acme Assurance方法的优点可总结如下:


  生产中运行的70多个应用程序使用一个或多个服务。
  40%以上的后端事务通过SOA来发起。
  他们的业务服务目录中的300多个可重用服务的管理。
  50%以上的业务服务实现了重用。


  该解决方案的成功很大程度上是通过对强有力的治理方法的投资来实现的,即通过CoE来定义策略和流程。过去七年来,该组织紧随技术和组织的变更而不断取得成功,很大程度上是由于在确保体系结构治理方面的纪律和严格性。此外,IT 在项目早期就保证管理层的承诺,从而使得解决方案能够在整个组织中都具有信誉。最后,在跟踪和管理解决方案的部署和操作方面,他们所做的工作一直是非常杰出的。Weill和 Ross(请参见参考资料)认为,跟踪和管理这些方面的能力与成功的治理关系最大。


  SOA案例2:Worldwide Resources


  另一个客户在项目开始时遵循了类似的路线,但是没有获得相同的结果。这家世界级的全球100强公司(我们将称之为“Worldwide Resources”)管理着在世界上几乎每个国家的业务运营。为了支持更灵活的IT体系结构,Worldwide Resources对其五个重要IT项目的投资进行重新评估,我作为该工作的一部分应邀执行了体系结构评估复查。


  一方面,该公司成功组建了一个内部组织来建立围绕集成概念的策略和过程。遗憾的是,资质中心变成了技术智囊团,并很快脱离业务部门,从而使总体管理层资助未发挥应有的作用。基于一组没有既定业务价值的项目的战术性执行,开发很快转向了自底向上的开发工作。许多非最优的设计决策进一步延误了交付实际短期成功的能力,从而使这一问题复杂化。在开始该项目两年以后,面对战略功能未交付、围绕集成的预算纠纷和对技术团队未从资源投资中实现价值的整体沮丧,业务用户对这些问题怨声载道。


  Worldwide Resources犯了什么错?从上面的讨论中可以看出,答案是很明显的:


  业务案例定义和业务涉众的参与非常少。
  涉众没有定义目的和目标以及跨组织的角色和职责。
  缺乏对服务和组件的重用,每个团队都各自为政地创建解决方案,而没有用于跟踪重用或定义利用率的有效方法。
  由于缺乏治理,对解决方案定义、部署和QA/测试过程方面的标准和过程的遵守非常有限。
  一个严重的问题在于,从来就不存在跨实现的资助定义——请求某个解决方案的组织成了没有成本回收的资助点。


  最后,Worldwide Resources尝试将以部门为中心的分散开发流程替换为一种成本昂贵的方法,指望某种基于技术的方法能够纠正组织功能紊乱。这些问题加上可靠IT治理方法的缺乏,导致了业务与IT之间的信誉危机。应该补充说明的是,他们现在“更健康”了,但是许多基础组织问题仍在困扰IT/业务关系;实现治理和转变IT也不是那么轻松的任务。


  Worldwide Resources是个案吗?非常遗憾,并不是这样。许多公司都遇到了类似的问题。缺乏精心设计的正式治理方法仍是个困扰,并会继续阻碍组织的SOA 采用。


  SOA案例3:Tech Equipment Inc.


  另一家公司(“Tech Equipment Inc.”)是一家总部设在美国的大型全球性公司,并且是他们的特定高技术行业的市场领导者。他们的业务问题是大型组织普遍存在的:他们有15个以上的不同渠道来与1000多个战略合作伙伴进行企业对企业的交互,范围从FTP和EDI到Rosetta Net。实现这些交互的内部专用流程包含在单独的系统中,这些系统源自于支持业务要求的外购和战术性解决方案。结果,由于没有协调这些不同系统的输出,Tech Equipment Inc. 缺乏对操作的可见性。遵循一个扩展的评估流程,IBM Global Services 受雇管理B2B合并流程和面向服务的系统开发方法的制定。


  依我看,Tech Equipment Inc. 取得持续成功的关键是业务资助者在起初就介入进来,定义了问题并与技术团队合作制定战术方法,以及用于推出该解决方案体系结构的多次迭代的战略计划。作为分阶段的开发和设计方法的制定和属于其 IT治理方法一部分的策略和流程的早期定义的结果,该项目不断地实现了他们的承诺。除了预先确定业务目标以外,该项目还做了大量的工作来让整个公司中的涉众对项目进度进行评价,其中包括销售、市场和合作伙伴管理部门。对项目的热情评价并不忽视存在定期遇到的业务和技术问题,但是项目的总体治理确保问题在发生时得到处理——而不是在它们已经恶化之后。目前,该B2B合并项目正在按计划进行,并将B2B渠道数量减少了一半,很大程度上是通过同时对战术和战略计划的治理和管理来实现的。


  SOA案例4:Exchange Unlimited


  作为我的最后一个客户示例,我参与了Asia Pacific交换中心的开发,以下称为“Exchange Unlimited”。该公司拥有现有的交换中心,用于通过各种各样的接口为“订阅组织”执行企业对企业的事务,其中包括FTP、Rosetta Net和基于门户的交互。该项目的意图是使用 J2EE、门户和合作伙伴管理技术(与Tech Equipment Inc. 类似)来将该中心转换为面向服务的解决方案。


  虽然在项目开始就定义了该解决方案的业务要求和总体上下文,但是业务涉众和技术团队之间缺乏有效的交流。我们与项目团队合作,在九个月的周期内执行了多次体系结构复查,并开始建立“卓越中心”方法的基础。在体系结构复查之后,系统设计中存在有关性能、安全性和管理的问题就变得明显了。核心问题在于,这些问题没有传达到业务涉众那里。除了遭遇大批有经验的人才流失到其他公司外,业务预期与技术可行性之间也存在差距。由于Exchange Unlimited的不同职能部门之间缺乏真诚的交流和信任,并且没有用于组件和服务的开发和设计的正式流程定义,该差距被进一步恶化。即使有了治理框架,Exchange Unlimited 的问题也可能无法消除,但是问题会更快浮出水面并得到处理。


  通过SOA治理获得成功


  有关SOA治理的成功方法的要素是什么,我想提供一些指导。尽管有在不成熟或不存在治理方法的情况下开始的“创新小组”(skunk-works) SOA研究项目,但是我发现SOA计划的成功需要对治理的组织承诺。


  在我的工作中,我发现建立SOA治理以支持SOA通常是通过创建(或扩展)“卓越中心”来实现的。在许多情况下,组织在CoE创建中利用外部顾问的经验,以从通过其他SOA约定来学习到的累积最佳实践中获益。应该指出的是,建立CoE本身并不足以保证SOA成功;支持SOA的策略、流程和方法的定义也是治理所不可或缺的部分。此外,管理层和业务涉众对计划的持续资助以及积极的交流是成功的关键要求。最后,渐进地采用SOA的能力是成功的重要方面;强制作为单个(或作为多个,例如在Worldwide Resources 所看到的)难以克服的项目来采用SOA是个错误,并在几乎所有情况下都会导致失败。


  虽然许多公司都准备了IT治理,并着手扩展这些框架以支持SOA,但是经验表明,成功的SOA治理通常需要外部协助,以确保与公司治理和IT治理框架的一致性和适应性。


  结束语


  在许多组织中,SOA采用可以在部门级别有机地进行,但是当它扩展为企业方针时,SOA需要企业承诺和跨业务和IT涉众的持续参与。为了成功实现SOA,组织必须定义和实现SOA治理。正如Eric Mark所言,“面向服务的文化将企业的远景、战略和目标与其SOA战略、远景和治理模型绑定在一起”。


  SOA治理需要大量的规划和准备才能确保成功。在许多情况下,SOA治理可能产生于SOA项目团队;然而,业务涉众成为治理框架的活跃和持续的一部分,这对于确保交流和支持业务的总体目的和目标是非常重要的。


  总之,SOA治理不只是可选的——它对于支持SOA采用和发展至关重要。SOA治理不是赠予——拥有现有组织和IT治理的组织不会自然地拥有SOA治理。最后,SOA 治理不是一次性的解决方案——SOA治理需要持续的评估和反复的提炼才能确保 SOA成功。“有备无患”——若要取得SOA成功,应及早做出正确的治理决策。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SOA治理模型核心:人

    治理在IT领域非常关键,但是很多时候企业的做法往往太过单向,企业SOA治理模型往往忽视了所有部分当中最关键的组件:人。

  • 如何使用SOA治理工具保证项目进度

    由API的增加以及为业务应用创建出简单好用接口的需求增长所驱动,这些合并的API-GRC工具帮助开发人员创建,发布,管理并且推广API的使用。

  • SOA治理工具优势:自动化、集中化

    SOA项目出现了失去控制的倾向,有可能会导致SOA行动出轨,失去对未来努力的支持,并且浪费时间和资源。

  • SOA架构:为什么需要API管理?

    为什么我需要API管理?它能带来哪些好处?其实只是术语变了,但需求还是一样的。在SOA炒作的鼎盛时期,厂商们都宣扬他们的产品支持SOA治理。