技术开发 频道

SOA治理基础

 【IT168 技术文档】

    采用面向服务的架构(SOA)的企业通常很快会发现,为了成功管理或者启动一个SOA项目必须迅速建立SOA治理。然而由于种种原因,在很多的企业内成功建立SOA治理并非一件容易的事情。

    为了弄明白什么是SOA治理及其如何能在企业中成功启动,对SOA治理的原则和全面有效的SOA治理模型有清晰的定义和理解是非常有必要的。清晰的治理原则和面向组织的治理模型的建立能为更进一步的治理活动打下良好的基础。这里,清晰的治理原则是指在组织内部对SOA治理有一个共同的定义。

    这篇文章的重点是解决在建立SOA治理过程中最基本的一些问题。首先,通过比较“战略治理”和“战术治理”,给出了SOA治理的定义。第二,展示了一个SOA治理框架,此框架是可定制的,它可以根据企业实施SOA成熟阶段的不同而做出相应的调整。文章的最后列出了实施SOA治理的一系列切实可行的步骤,这些步骤对企业SOA治理的起步和持续推进是非常有裨益。


    负责治理的人员每个月碰次面、讨论一些有关SOA的议题、建立企业SOA策略然后再缩回到SOA象牙塔里头,这种工作模式是无法适应SOA治理要求的。事实上,建立SOA治理在企业所有的SOA努力中不仅仅是具有挑战性的工作,稍有不慎它就可能成为一项对企业非常具有破坏性和分裂性的工作。

    SOA过程人们这几年一直在强调,在企业启动SOA的过程中最大的障碍将存在于文化和政治层面上,SOA要想在组织内部取得必要支持并获得成功,必须要克服这些障碍。因此,建立SOA治理——或者说组织一批精通SOA各个领域的专家来建立企业SOA策略——将是企业在实施SOA过程的早期不得不面对的一个问题。毕竟,政治是与生俱来寓于治理之中的。

    政治斗争是不可避免的,并且其在很大程度上决定了SOA各个领域的人员安排和相应的治理责任。然而,在建立SOA策略的过程中,如果各个领域都有清晰的界限并且争夺对象有明确的定义,斗争的激烈程度是有可能减轻甚至斗争本身都有可能避免的。本文的目的就是要让读者了解有关此方面的一些基础知识。

SOA治理:战略VS. 战术

    令一些人感到吃惊的是,成功地领导建立SOA治理的往往并不是那些自称是“SOA治理委员会”的小组。在很多企业中,“SOA治理委员会”往往倾向于从战略的高度去思考问题,他们对SOA治理缺乏必要的战术性考量,而这种考量却能对所有的企业SOA活动提供支持,并且这种支持是贯穿于其整个生命周期的。事实上,能在企业中成功实施SOA的小组要能正确地定义什么是SOA、明确SOA应该得到什么样的支持,并且清晰地阐述小组在SOA治理模型中所处的地位。对SOA治理进行精确的定义和建模使得有关SOA的讨论和决策目的明确清晰,易于理解——这些正是避免组织分裂的关键性因素。

    是的,在企业中领导SOA治理的小组可能不止一两个。事实上,许多企业采取分层的治理模型。虽然看起来比较复杂,但是只要认识到SOA治理从根本上分为战略和战术这两个层面,问题就会简单许多。

    实施SOA的企业中需要一个由SOA实践专家组成的有代表性的社区,这个社区负责决策并且解决SOA的实施过程中发生的冲突。这个负责“战略性治理”的社区往往是组织中第一个进行SOA治理活动的小组。这个小组制定企业SOA策略,选择SOA实施的平台,并且给出企业SOA的参考架构。这些可都是大的决策!

    实施SOA的企业中还需要一个由精通SOA各个领域的专家组成的小组,他们负责制定层次稍低或者说更细粒度的策略。这个小组实施“战术治理”,在新的SOA计划、工程或者项目准备实施时成立,其成员通常来自“战略治理小组”之外,并且分布在企业中的不同部门。因此,这个小组更加面向实现,更关注交付使用和最终的业务结果,同时他们要做大量与“战略”治理沟通一致的工作。

    说明白一点,“战略治理”的结果通常就是一套完美的企业SOA策略,这些策略往往是基于尖端技术、仍在演变的标准和最新最伟大的市场架构,有时甚至是开发商刚刚宣布过此版本要一个季度后才能稳定下来。另一方面,“战术治理”的结果是在某个特定集成项目中,为每个治理策略配置具体的SOA平台。这两个方面必须保持一致才能使治理落到实处。

    让我们举个实际例子给大家以感性的认识。FastCom是一个虚拟的通信公司,为了在某些市场投放某款产品,它需要与另外一个名为SpeedyCable的虚拟的通信公司进行业务集成。这两个公司的“战略治理”小组都各自有一套完美的企业SOA架构和策略。在首次“集成碰头会”上,架构师们将分别阐述各自的“战略SOA策略”。这时很有可能发生的情况是两个企业在技术能力与策略上都有一定的差别。

    此时,架构师们将会离场,只留下各个领域的专家去就策略进行谈判,从而形成一个“战术性”的集成方案。随后两个公司的开发人员和项目经理们会每周碰面,就安全、计划、标准、数据转换以及其他一揽子需求进行讨论磋商。“战略小组”决定策略的定义和策略审查的地点,而“战术小组”则决定具体采取哪些策略,在哪里制定这些策略以及策略用以哪些方面。

    一言以蔽之,战略治理和战术治理不同之处在于对待企业SOA策略的方式不同。

SOA的六根支柱

    对一个成熟SOA项目的各个模块或者支柱有全面的理解是取得良好治理效果的另外一个关键因素。一个企业的SOA项目当然可以只有基本的支撑机制,但是随着企业SOA项目规模的增加和不断成熟,更多的支撑是必不可少的。SOA不同方面需要不同的SOA治理方法,同时它们对策略的影响也会不同。

    在这里需要强调一点:策略是SOA治理的关键所在。因为所有SOA治理努力无非就是想给出企业自身的SOA策略的定义,规定哪些人来制定这些策略,这些策略存放在哪里,策略更改所需步骤,对策略进行复审的场所以及实施这些策略所需要的系统和工具,编制策略文档的团队成员等等。

    这么说吧,支撑SOA策略的有六根支柱。下面就让我们简要介绍一下它们:

  1. SOA生命周期模型
  2. SOA组织结构
  3. SOA过程
  4. SOA服务集成组合
  5. SOA工具
  6. SOA技术

    这些支柱支持“自上而下”和“自下而上”两种SOA项目开发模式。理解这些支柱可以对“自上而下”或者“自下而上”的SOA治理有更清晰的定义。“自上而下”的治理从战略出发。它始于模型,着眼于多个项目,然后一路向下,依次定义支撑企业SOA的人员、过程、服务、工具和技术。与此相反,战术治理小组自下而上,往往只定义某一个项目的技术、工具及其需要创建的服务。如果一个实施SOA的组织比较草根化,结果往往就是从单个领域面向服务的努力出发的“自下而上”的模式。此种企业通常的做法是在单个部门或业务单位做试点,首先开发出项目原型,然后再着手制定SOA战略,但是这么做的结果往往是增加了建立治理从而启动企业SOA的复杂性。

    基于上述原因,我们从“自上而下”的SOA治理模式开始,首先定义SOA治理生命周期的概念。

0
相关文章