SOA治理是SOA方案成功的关键

日期: 2008-05-13 作者:余亚 来源:TechTarget中国

  SOA是一种架构模式,它承诺给企业带来更大的业务灵活性,以更低的成本,更快地获取利润。越来越多的企业开始投资SOA,以期获得经济上回报。但是实践表明,要让SOA能够兑现这些承诺,不但需要注重技术基础设施、流程和工具的开发和使用,更需要关注业务的融合和机构的参与。企业需要采用从整体出发的SOA治理方法,来保证SOA方案能够带来预期的收益和持续的成功。在这篇文章里,我们将介绍SOA治理的一些基本知识,讲述了为什么需要SOA治理,什么是SOA治理以及SOA治理的关键要素。


  SOA实施面临的挑战


  “在2006年,治理机制的缺失会是一些中型到大型的后期SOA项目失败最常见的原因(80%的可能性)。”


  Paolo Malinverno, et al, Gartner, 2006


  更加灵活的业务,更低的成本和更快地抓住市场机遇,SOA为我们勾画了美好的前景。但是在期许这些美好前景的同时,企业也要面对相应的挑战。SOA是一种新的架构模式,这意味着对已有架构的改变,这种改变不但涉及到IT,也涉及到业务。SOA带来了新的开发技术、分布式的部署和运行方式,并且需要对业务流程、组织结构和人员进行调整达到业务融合的目的。如果不能很好地适应和控制这些改变,SOA的项目很可能会失败。


  某大型制造企业实施了SOA方案来整合已有的业务系统,由于缺少统一的SOA策略和生命周期管理,开发和变更的任意性使得企业服务陷入混乱,严重影响了服务的使用和重用,背离了方案的初衷。


  无独偶有。某主要的通讯企业也实施了SOA方案来升级现有的客户服务系统,新的应用需要对当前的业务流程进行一些改变。由于业务部门和IT部门缺少协调,新的应用遭到了业务人员的抵制。最终这些应用被人们遗弃在角落里,造成很大的资源浪费,企业也失去了抓住市场机遇的良机。


  一些调查表明,失败的SOA项目具有一些共同的原因:


  1.缺少管理层战略上的关注。


  2.缺少业务和IT间的协调。


  3.缺少一致的、完整的策略。


  4.缺少必要的工具和技能。


  5.实现关键绩效指标(KPI)和其他衡量标准。


  这些令人痛心的失败经历让我们看到,我们需要一种从大局出发的方法对SOA进行治理。我们不仅需要关注技术,也需要关注业务流程、组织机构和人。


  什么是SOA治理


  “治理指的是企业施行的来保证事情能够进行的流程。这里的“正确”意味着与最佳实践,架构准则,管理的法规和法则,以及其他决定因素相一致。SOA治理就是用来治理SOA采用和实施的流程。”


  Anne Thomas Manes, Burton集团副总裁和研究中心主管


  SOA治理是指公司为了实施与其业务需要融合的SOA方案而制定和采用的流程、策略和相关的控制机制。它包括以下几个方面:


  1.确定职、权、责,关于谁可以在什么时候做什么事情。


  2.定义关键绩效指标(KPI)来衡量SOA方案的实施和进展,使得整个方案按照预定计划进行。


  3.定义一致的策略及相关控制机制,保证整个SOA方案能够遵从相关的法律、法规和策略。


  4.管理企业服务的生命周期。


  SOA治理建立在已有的IT治理基础之上,它是IT治理的延伸,是关注于企业服务和复合应用的IT治理。


  SOA治理的关键要素


  机构和职责


  SOA方案需要来自于管理层(比如CIO)的资助。对于SOA方案的投资不能只满足于局部的、当前的业务需求,它更要满足企业整体的、长期的业务需要,比如搭建更加通用的、可扩展的技术平台,在更广的范围内重用企业服务。没有管理层的支持,各个部门只会关注于解决眼前的特定的问题,没有人愿意投资可以被其他业务部门重用的服务。


  企业需要建立类似于卓越中心(COE)的管理和控制的核心决策机构。卓越中心由来自于业务线的经理、IT部门经理和以及流程的负责人组成,他们负责制定SOA方案的路线图、方法、流程和策略以及衡量的指标,并且帮助各部门应用这些方法、流程和策略。他们会监控SOA方案的实施,依据衡量指标检查方案的实施是否仍然按照预定计划进行,是否依从于制定的策略。他们会对SOA方案提供巨大的支持,协调IT部门和业务部门,在发生冲突时做出正确的决策。


  企业需要确定SOA方案中的权利和职责。需要确定企业服务的归属权,属主据有服务更改的权限,而且他必须保证服务协定的水平。只有这样,才能保证正确的人在合适的时候做出正确的决定。


  SOA架构的优势是它对业务和IT融合,方案的实施过程中业务部门和IT部门的交流和沟通非常重要。他们之间相互信任、相互支持对于整个方案的成功非常重要。失败的案例告诉我们, IT部门和业务部门间缺少协调的SOA方案注定会失败。


  管理和控制


  SOA方案的实施不是一个短期的行为,它需要满足企业长期的战略性需求。它不可能一蹴而就,而应该是一个不断迭代和渐进的过程。企业需要定义其SOA路线图,指导其SOA方案的实施,确定其短期、中期和长期的目标。在实施的过程中,检查预定目标是否达到,并且根据情况做出相应的修正。


  企业需要定义SOA方案实施的流程,定义具体的步骤和角色的分配,以及各个阶段的检查点。SOA方案的流程要涵盖企业服务的整个生命周期,从服务的标识、定义、开发、测试到部署和使用的整个过程。


  在向SOA架构的迁移过程中,企业需要定义一致的策略,构建一个建立在标准之上的、开放的、可互操作的SOA平台。服务的重用是最重要的策略之一,在创建新的服务之前,应当尽可能的考虑是否重用已有的服务。


  企业的服务以及建立在服务至上的流程和复合应用需要遵守相关国家的法律和行业的法规,比如Sarbanes Oxley法案,或者企业的规章制度。另外企业还可能制定一些其他的应用策略,比如安全、审计、日志等策略。


  定义相关的关键绩效指标(KPI)用来衡量SOA方案的实施和进展,比如服务的响应时间、处理时间和失误率,用户和客户的满意程度等。这些指标能够检查当前的SOA方案是否偏离了预定的轨道,以便进行及时的调整和纠正。


  定义企业服务开发的方法,比如如何标识服务,如何确定服务的优先级,如何提高服务的重用性。这些方法对于企业服务的质量和可重用性来说非常重要。编写操作的指导手册,并且培训相关的人员必备的知识和技能。


  服务生命周期的管理


  企业服务具有的类似于其他软件组件的生命周期,包括定义、实现、测试、布署、监控、分析和迁移等阶段。这些阶段根据其特征又被分为两大类,设计时和运行时,设计时包括服务的识别、定义和实现,运行时包括服务的布署、监控和分析。服务的整个生命周期进行管理能够保证服务的开发和使用遵守统一的策略,控制和提高服务的重用性和质量。


  定义


  从业务的角度出发,识别企业服务,并且尽可能地考虑重用。记录其业务功能、范围,以及服务级别协定(SLA),比如Transaction、安全和性能等方面的协定。完整的文档将有助于服务的管理和重用。


  实现、调试和测试


  当前有很多SOA实现的技术,他们有各自的优点和缺点。在企业范围内选择统一的实现技术将有助于开发标准和准则的施行,当然SOA架构平台和语言无关性使得SOA项目根据需要选择特定的技术。


  SOA架构的分布式特征使得服务的调试和测试成为一项挑战,必要的工具将有助于提高质量和效率。


  版本控制


  随着SOA方案的不断前行,企业的服务将会发生一些改变,比如增加新的功能或者修补一些错误。版本控制可以保证在不间断现有使用的情况下,支持企业服务的不断演进,并且纪录服务历史的变化来说。
 
  工具


  工欲善其事,必先利其器。好的工具对于SOA生命周期的管理来说非常重要。工具应该覆盖企业服务生命周期的所有阶段。


  企业服务库和注册表


  企业服务库作为中心的元数据管理工具,管理了SOA方案中所有的资产,比如业务流程、服务、策略等。它提供企业一致的SOA视图,能够更快、更加便捷的发现可重用的服务,并且提供企业服务重用的分析。它记录了服务间的依赖关系,通过变更管理,能够尽早的了解服务变更的影响,避免服务变化所造成的不一致。


  服务注册表可以提供服务的发布、分类和查询功能,充当了企业服务的黄页。服务使用者可以通过服务注册表动态的查询服务的访问点,从而提高了应用的灵活性。通用描述、发现和集成(Universal Description, Discovery and Integration UDDI)作为分布式Web服务的信息注册规范,得到目前很多的服务注册表实现的支持。


  SAP的ESR?是一种典型的企业服务库,它是SAP企业SOA平台很重要的组成部分。它管理了企业SOA所有的资产,包括业务流程、服务接口、消息类型等,支持BPEL4WS,WS, CCTS等开放标准。ESR?为SAP客户提供了设计时的管理功能。


  运行时管理工具


  企业服务布署和运行于分布式的环境中,跨系统边界的特征使得其运行时管理更加困难。我们需要工具的支持,监控制定的策略是否得到遵守,服务是否达到它的协定级别,以及谁在使用当前服务。并且通过运行时分析,判断服务是否达到预定的服务协定级别(SLA)。


  AmberPoint SOA Management System?是一种应用广泛的SOA运行时管理工具,它提供了比较完整的功能,能够显著地降低运行时管理的复杂性。作为SAP的合作伙伴,它被集成到SAP企业SOA平台之中,为SAP客户提供了有效的SOA运行时管理。


  总结


  SOA治理是SOA方案成功的关键,它不是一件可有可无的东西,而是必需品。从一开始就实施SOA的治理,对于能够获得SOA架构许诺的收益非常重要。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

余亚
余亚

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • SOA治理模型核心:人

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

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。