SOA治理
SOA治理是什么
安妮·托马斯·梅恩斯(Anne Thomas Manes)将治理定义为“一个企业实施的用以保障事情正确完成的流程,也就是说遵循最佳实践,体系架构原则,治理条例,法律和其他决定因素。SOA治理是指用于管理采用和实现面向架构服务的流程。”
SOA治理的特有的关注点在于开发为业务增加价值的服务,有效的SOA治理必须从业务的视角包含整个SOA生命周期中有关的人,流程和技术,并且从信息技术的视角包含连接性和重用,从而利用信息技术调整业务。
Gartner公司将SOA治理定义为“确保和证实体系结构中的资产和工作成果一如预期地正常运作,并且保持一定的质量水平。”
治理和管理的区别
治理的英文是governance,管理是management,治理规划需要制订什么决策,而管理是制订和实施决策的过程。治理重在建立决策,而管理重在贯彻执行决策。服务治理是包含了管理,增加了对服务管理的策略的制订过程。
SOA治理的分工
SOA 治理是由精英团队(Center of Excellence,COE)(一组知识丰富的 SOA 技术人员)制订的,负责建立策略并监督其执行,从而帮助确保企业和团队的 SOA 项目成功。COE 将建立各种策略,以用于标识和开发服务、建立 SLA、管理注册中心以及进行其他提供有效治理的工作。COE 成员随后将这些策略付诸实施,指导和帮助团队开发服务和组合应用程序。
治理 COE 制订了策略后,就可以使用相关技术来管理这些策略。技术并不会定义 SLA,但可以用于执行和度量遵从情况。例如,技术可以限制哪些使用者可以调用某个服务以及何时可以调用服务。可以向使用者发出警告,告知服务已经弃用。可以对服务的可用性和响应时间进行度量。
技术执行治理策略的一个不错的途径是通过服务治理平台(SOA Governance Platform)和服务注册中心的组合。可以采用特定的方式公开服务,以便只有特定的治理平台才能调用该服务。然后 治理平台和注册中心就可以控制使用者的访问,监控和测定使用情况,确定服务的SLA遵从情况等。通过这种方式,服务可以将重点放在提供业务功能上,而 治理平台和注册中心则主要负责治理方面的工作。
为什么服务治理如此重要?
治理在 SOA 中比在普通 IT 企业中更为重要。在 SOA 中,服务使用者和服务提供者运行于不同的进程中,由不同的部门开发和管理,为了成功地一起工作,需要进行大量的协调工作。为了 SOA 能够正常运转,多个应用程序需要能共享相同的服务,这意味着它们需要进行协调,以便共享和重用这些服务。这些就是治理问题,比采用独立应用程序时(甚至包括使用可重用代码和组件时)要复杂得多。
随着各个公司开始使用 SOA 来更好地保持 IT 与业务间的一致,可以使用 SOA 治理来非常理想地改进总体 IT 治理。如果公司要实现 SOA 的各种好处,采用 SOA 治理是非常关键的。对于 SOA 的成功,SOA 业务和技术治理不是可选的,而是必须使用的手段。
SOA的关键动作
SOA 治理并不设计服务,而是指导将如何设计服务。这可帮助回答很多有关 SOA 的问题:
- 提供了哪些服务?
- 谁可以使用这些服务?
- 它们的可靠性如何?
- 将在多长时间内支持这些服务?
- 是否可以确定这些服务不会更改?
- 如果为了各种目的(如修复错误或添加新功能)而希望进行更改时该怎么办?
- 如果两个使用者希望相同的服务以不同的方式工作时该怎么办?
- 是否因为您决定公开服务就意味着有责任永远为其提供支持?
- 如果您决定使用服务,是否能保证明天不会关闭这个服务?
SOA 治理涉及很多方面,其中包括以下内容:
服务定义(服务的范围、接口和边界)
服务部署生命周期(各个生命周期阶段)
服务版本治理(包括兼容性)
服务迁移(启用和退役)
服务注册中心(依赖关系)
服务消息模型(规范数据模型)
服务监视(进行问题确定)
服务所有权(企业组织)
服务测试(重复测试)
服务安全(包括可接受的保护范围)