SOA 站在 IT 和业务这个重要的交叉点上,因此,SOA 治理需要明确 IT 与业务部门在 SOA 项目中的职责,确立决策权,策略、度量和控制机制,消除模棱两可、互相推诿和扯皮的情况。
也就是说,SOA 治理要让业务和 IT 之间保持同步的整合、透明化与测试。这种同步意味着业务部门与 IT 部门必须保持高度的沟通与合作,这对挣扎着实现灵活性的 IT 部门与业务部门同样重要。
建立服务水平协议
技术的重点是匹配接口和调用协议。业务的重点是为客户服务的功能。技术和业务都关注的是需求。虽然治理也涉及这些方面,但它更多的是要确保所有部分一起工作,独立的工作彼此并不会冲突。治理并不会确定决策的结果是什么,而是考虑必须进行哪些决策以及谁进行这些决策。
服务的使用者和提供者双方需要就如何一起工作达成一致。这些认识上的统一基本可以通过服务水平协议(SLA)实现。SLA 至少要清楚说明提供者必须进行怎样的工作,以及使用者可以期望得到什么服务。这个协议就像各方之间的契约,而且可以成为事实上的具有法律效力的合同。
成立精英团队
SOA 治理是由精英团队制订的,这支团队负责制定策略并监督它的执行。需要精英团队制定的策略有很多,以用于标识和开发服务、建立 SLA、管理注册中心以及进行其他提供有效治理的工作。精英团队成员随后将这些策略付诸实施,指导和帮助团队开发服务和组合应用程序。
精英团队制订了策略后,就可以使用相关技术来管理这些策略。技术并不会定义 SLA,但可以用于执行和度量遵从情况。例如,技术可以限制哪些使用者可以调用某个服务以及何时可以调用服务。可以向使用者发出警告,告知服务已经弃用。可以对服务的可用性和响应时间进行度量。
确定重用
SOA 治理以现有 IT 治理技术和实践为基础。使用 J2EE 等面向对象的技术时,IT 治理的一个关键方面就是代码重用。重用是有效的 SOA 的必要属性,重用也体现了 IT 治理的难点所在。
每个人都认为可重用资产很好,但实际工作时却非常困难:谁为开发可重用资产付款?开发团队是否会实际尽力进行重用?是否每个人都认同可重用资产的单一行为集,或者每个人都采用自己的自定义版本,实际上完全不能进行重用……
因此,这些问题使 SOA 治理变得更加重要了,通过有效的 SOA 治理,企业统一和定义关键“重用”并实现其共享才成为可能。