SOA的第一根支柱是企业SOA生命周期模型。“SOA生命周期模型”简单地讲就是支撑和定义一个企业SOA工作的模型。需要强调的是SOA治理本身也是一个支柱。事实上也正是这个生命周期模型详尽地说明了治理对任何的SOA项目或者努力来说都是一个非常重要的模块。这个模型往往会详细阐述以下几个方面的内容(过程、组织、工具和技术会依次对应到相应的方面):
- SOA业务管理
- SOA计划
- 服务开发
- 客户发展
- 集成配置
- SOA平台、服务与集成产品的支持
- SOA项目市场推广
- SOA报告与分析
- SOA治理
典型的SOA生命周期的概念这里就不多谈了,如果有兴趣可以参考http://en.wikipedia.org/wiki/SOA_Lifecycle。
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技术”。这是指企业选择的用以支持SOA实施的技术标准。这个方面的治理围绕特定技术标准及其版本的选择展开。如果组织内部能舍弃刚刚发布的崭新的新标准,而就使用成熟而且具有最小共同性的标准达成一致的话,此方面的企业SOA策略的制定变得非常容易。这里最关键的工作是“战术小组”给出自身的技术选择,并且与“战略小组”配合使这些技术选择得以批准通过、在部门间得以标准化并且存档等。这些工作使得SOA服务得以汇聚,因为企业的服务组合能够得到时间的验证(组合服务也能更快捷简便地建立起来)。
治理的下一步
既然对不同类型的治理和治理对SOA六根支柱的支持有了清晰的理解,我们就对SOA治理建立起了基本的概念。
下一步,可以遵循一系列的步骤来使SOA治理工作变得规范化并且验证治理的目标是否得以实现。我们需要从回答以下这些重要的问题并且将其存档开始:
- 在我们的组织中“战略治理”体是什么?他们现在是否负责SOA治理决策的制定?
- “战术治理”小组都有哪些人组成?是哪些人在负责SOA项目策划及其启动工作?他们是否对技术标准或者过程编制了文档?
- 企业中是否有人对企业SOA模型进行了概念化工作?如果有的话,在哪里可以找到这些模型,在哪里可以对模型进行学习?
- 对企业目前支持的SOA功能是否进行了存档?谁负责将这些功能分配给具体的部门或者小组?
- 对支持企业SOA模型的过程是否进行了存档?建立服务、设计服务、部署服务、注册服务、配置服务以及得到帮助支持或者说询问策略中的异常情况处理方式的过程分别是怎样的?
- 对企业已经提供的服务是否进行了存档?是否能将这些服务与我们的某一业务领域,产品或者功能进行对应?是否有人对服务的发布进行计划并能说明计划中的不足?
- 是否有人对企业SOA的工具与SOA参考架构进行了对应工作?目前的SOA工具集能为企业提供些什么?是否遗漏了什么功能?是谁负责工具的选择工作?
- 是否有人对技术标准和具体的技术选择进行了存档工作?对技术上异常情况的处理方法是什么?如果有人未能遵循企业SOA策略须围绕SOA技术进行制定的规律,其结果会怎样?如果遵循了技术标准结果又是怎样?

结论
良好的治理一个重要方面是分清“战略治理”和“战术治理”的区别。成功地启动SOA治理的企业往往会在承认“战略治理”小组的权威性同时赋予“战术治理”小组实现商务价值的权利。两个小组都要对策略的异常处理路径提供支持。为了能达到互相配合,协同一致,避免不必要争论的目的,“战术治理”团队必须支持“战略治理”制定的策略标准集并且将其提供的“异常路径”过程落到实处。
剩下的一些治理工作都是脏活累活了。在企业里对治理进行定义往往是一项非常棘手的工作,它包括角色和功能以及人员、过程、工具、技术、服务的详细说明、存档、梳理以及将其集成到组织模型里等工作。虽然很多人认为这纯粹是在浪费时间,但是回答这些问题对企业SOA治理进行完整定义非常有用,我们坚信花在这个上的时间比寻找一些根本不存在的问题的答案的时间要少得多。如果能提出正确恰当的问题并且将其答案简单存档,基本的治理工作会在数周内实现。