当新的服务添加到体系结构中时,确保 SOA 已被维护且修改已经传达到风险承担者。
体系结构的变化都有备有文档说明且被传达。
体系结构通信流程:
确保 SOA 对每个需要访问的人都是可用的。
加深对 SOA 重要性的理解
组织结构
为提供体系结构治理,必须在组织内部确立一些结构,定义所有需要的角色和职责,以及定义适当的制定决策的组织结构。经验显示,建立 体系结构办公室很有用,特别是在复杂且庞大的项目中。体系结构办公室职责是保持 SOA 在战略、战术、操作层次上符合业务需求。该办公室应该包括体系结构设计权威人士,他是体系结构管理流程的所有者。此外,每个层次都定义了角色和职责。
根据我们在客户端所做的工作,有两个有效办法可以用于建立和运行这样的体系结构办公室:
如果客户端组织已经有了和体系结构办公室类似的制度,那么您应该结合这个现有的组织结构。应该确保所有的功能和职责都能够明确的用于制定体系结构决策。对于 SOA 项目,这些功能和职责应该涉及到 SOA 决策,并随时保持联络。
如果客户端站点没有治理委员会,我们推荐您在 SOA 项目的上下文中建立体系结构办公室,并通过它来决定关键的可交付项目。用 SOA 项目中的客户端和项目人员暂时充当该体系结构办公室的工作人员。这些人员应该是决策制定者,并且应该包含 CIO。在项目的最后,体系结构办公室可以被集成到客户端组织。
图 3说明了体系结构办公室以及每个层次上的角色和职责。在战略层有体系结构部门,它是一个决策部门,负责提交标准和原则,并通过业务和 IT 策略来进行服务的优先级排序。在战术层,体系结构组作为体系结构设计权威来运作,负责定义体系结构管理流程,以及定义修改、删除或添加服务和管理域的决策准则。在操作层,项目组开发和实现服务。

图 3:体系结构办公室
每个项目组都需要角色描述来定义其任务和职责以及操作的模式。
SOA 治理引入 域所有权的概念, 域管理一系列共享常用内聚业务的可重用服务。在很多情况下,这些是业务服务的子集,比如用户信息、案例信息、商业竞争统计信息等等,以及竞争参考,比如商业风险等级、产品分析和规划服务。每个域负责维护自己的业务对象,也负责对其他的域发布服务接口。域为业务对象提供服务检索和维护、封装业务逻辑、定位以及与对象和服务相关联的格式。当主管某个产品或产品领域的人希望从域获得服务时,他们生成一个请求并且两个组确定相互联系,创建服务层次协定。这些联系和协定也存在于域之间。
根据域所有权的概念,一些新的角色和职责应被提供给在 SOA 项目中的开发生命周期,如下面的 表格 1所描述。
表格 1: SOA 项目中的角色和职责
| 角色 | 描述 |
| 域所有者 | 管理域的方向,域包含了一个或多个服务的聚集,也包含了业务联系以帮助多个业务单元中的所有者理解业务透视。数据和流程的所有者使用业务分析员来阐明业务目标和需求。跟踪 ROI 计算服务的使用。 |
| 域的面向对象业务分析人员 | 开发人员使用没有假定使用者接口的服务功能性案例。确保完全提取的规格化业务服务都被识别并指定。必须坚持严格且灵活的服务定义和开发生存周期。 |
| 业务代表 | 为域识别和分析业务服务。 |
| 域开发人员和维护人员 | 与面向服务开发生命周期一致的创建和维护服务。创建并实现符合开发规则的服务(例如,服务设计注意事项或 Web 实现指南)、 SOA 以及参考体系结构。 |
| 服务测试人员 | 确保服务经过严格的测试,以获得合适的业务价值。为功能性接口以及它的独立实现创建测试案例。 |
在给定服务域中工作的人员负责开发业务和技术的集成,以提供可以跨业务界线共享的业务服务,使成员和区域受益。当他们将应用程序中开发的功能转换成服务域中开发的功能时,便会在组织结构(角色和职责)中为应用程序的开发引入变化。
将治理模型投入使用
开发治理模型的流程基于一个具有三个步骤的方法。该方法基于时间约束(time-constrained)客户端项目而开发。成功的关键是治理功能的建立。
步骤 1:实施
在适当的位置设置核心治理功能,并支持客户端业务操作。
边做边学,才能迅速成功。
使用经验丰富的专业人员担当高层管理角色。
步骤 2:专业化
建立必要的结构、流程、方法和工具。
吸取步骤 1 中的经验。
使用有经验的架构师和专业人员。
步骤 3:稳固
传授并培训客户端人员运行操作。
将操作模式变为指导模式。
使用有指导经验的顾问和专家。
图 4对这些步骤进行了更详细的描述 
图 4: 将治理模式投入使用
提示和技巧
以下是我们从实际项目中获得一些实践经验:
有规律的通知每一个需要访问的人(通过项目通讯稿,或者也许是开会)。SOA 创立了组织文化也改变了技术,这可能会产生沟通障碍,因此互相通信非常重要。
将每个决策、约束和设想记入文档,以确保决策制定的说服力和透明度。
定义关键的交付以及必需的工具集和模板。
为生存周期的管理和方案设置实践工具。
用基本原理定义决策,并文档化和传达这些决策。
必须保持所有风险承担者的有力支持和决策制定者的说服力。
结束语
本文说明了治理为什么重要以及 SOA 项目中需要什么。并对我们 SOA 治理模型的一些关键要素进行了概述。从以 SOA 原则为导向开始,接着描述了体系结构管理流程作为一项关键流程确保了面向服务体系结构的相容性和一致性。还描述了如何为适合的决策制定和开发建立组织结构,以提供所需的角色和职责。最后,本文还讲述了如何将治理模型投入使用,并为您提供了我们在该领域所获得的提示和技巧。