因为 SOA 具有跨组织的特征,其中的服务投资者、设计人员、实现人员、维护人员或客户并不位于相同的组织、业务部门、IT 部门、LOB、分支机构或企业中,因此治理对于以增量的方式成功采用 SOA 非常必要。
此部分包含 IBM Rational Method Composer Plug-in for SOA Governance 中的相关定义。它定义了治理、IT 治理、SOA 治理及其与管理或遵从性之间的差别。它还描述了 SOA 治理所处理的各项挑战。
"治理是关于以下方面的概念:
- 建立责任、授权和通信链,以对人员进行权利分配(决策权)。
- 建立度量、策略和控制机制,以支持各个人员执行各自的角色任务和履行相关职责。
治理处理的是分配决策权力,并决定使用何种措施以及遵循哪些策略来进行这些决策。决策权分配给角色,而不是个人。另一方面,管理 则包括为角色分配人员以及监视策略的执行情况。
任何治理解决方案中都包含要符合组织的遵从性要求的目的。遵从性 是记录并证明治理已就位并得到了执行:会记录决策,并遵循有关决策的策略。”
“IT 治理指属于组织的信息技术流程以及这些流程支持业务目标的方式的治理方面的内容。”
IT 治理可以通过分配 IT 流程的决策权和措施进行描述。
“SOA 治理是 IT 治理的扩展,具体关注服务和其他 SOA 构件的生命周期。”
具体来说,SOA 治理关注的是有关服务标识、资金投入、设计、实现、部署、重用、发现、访问、监视、管理和退役的方法和流程。
“SOA 治理处理以下这些类型的挑战:
- 哪些新组织角色和结构可促进服务标识、设计和共享?
- 哪些标准支持服务的投资、维护、使用和共享?
- 业务部门如何决定在服务创建和维护方面进行投资?
- 企业的面向服务的成熟度如何?
- 需要进行哪些训练、培训或指导?"
服务生命周期由服务可能处于的状态以及触发状态间转换的事件组成。
在其生命过程中,服务将度过很多阶段(和我们一样 :))。将服务的生命周期视为具有状态(位置)和转换的业务状态机;服务可能处于其中的某个状态,而转换使其从一个状态发展到另一个状态。
SOA 治理考虑的是有关服务生命周期的计划、定义、启用和测定。SOA 治理定义服务状态的含义、从一个状态发展到另一个状态需要发生的操作(转换)、如何进行(流程和方法)以及由谁进行(角色)。
例如,SOA 治理可以将服务状态定义为标识、投入资金、指定、实现、审批、操作、发布、弃用和退役。
基础 SOA 框架则将需要通过生命周期支持服务,并确保遵循了配备的流程。例如,服务注册中心和存储库需要允许用户进行相应的操作,以便服务在生命周期中逐渐发展。协作和投资组合管理工具需要能够允许用户(仅限于具有权限的用户)作出将使得服务从一个状态过渡到另一状态的决策,并在需要进行操作时通知用户。
IBM SOA Foundation 在其 SOA 生命周期的定义中使用了四个阶段:
- 建模包括业务分析与设计(要求、流程、目标和主要性能指标)及 IT 分析与设计(服务标识和规范)。
- 组装包括服务实现和组合应用程序的构建。
- 部署包括应用程序和运行时(如企业服务总线——Enterprise Service Buses,ESB)的部署。
- 管理包括操作环境维护、服务性能监视和服务策略执行。
正如上面定义的,SOA 治理和流程为这四个阶段提供支持。此情况如图 3 中所示。