建设企业软件生态的治理环境和平台
摘自:SOA中国路线图
不以规矩,不能成方圆 —— 《孟子 · 离娄上》
治理(governance)是一个比较广泛的概念,是业务和技术的桥梁。在面向服务的体系结构中,只有通过 SOA 的可管理性才能保证 IT 与业务的一致性。
在传统的企业IT架构里, 当系统仅仅是部门级“竖井”系统时,软件模块之间的关系简单, 治理不是一个很突出的问题。而在实施SOA的时候,把传统的“竖井”系统打散成为一个个可复用的服务,治理的问题就突出了。SOA的自身特点和应用模式决定了需要一种高层的规划和管控,即进行SOA治理。
SOA治理就是在SOA生命周期内,通过定义策略标准,验证和保证架构内SOA资产按照一定的服务质量正常运作。
企业治理包括IT治理和业务治理。IT治理是管理企业的IT资源、IT流程和IT需求,以提供指导,使这些资产支持业务需求。IT治理是一个决策和责任框架,用于鼓励IT中所希望的行为。SOA治理是IT治理的一种特殊化,其将关键IT治理决策置于服务构件、服务和业务流程的生命周期上下文中。SOA治理对生命周期进行有效管理,生命周期是其关键目标。SOA治理包括对IT方面的治理,也包括对业务方面的治理,还包括对架构的治理。
目前国际上通行的IT治理标注主要有4个:ITIL、COBIT、ISO/IEC17799和PRINCE2。COBIT重点在于IT控制和IT度量;ITIL重点在于IT过程管理,强调IT支持和IT交付;ISO/IEC17799重点在于IT安全控制。PRINCE2重点在于项目管理。
SOA治理的价值主要包括:1、保证自治域(不同企业或者企业内不同系统)间的业务协作;2、整合IT与业务,灵活应对业务的动态变化;3、确保构建合适的SOA应用和基础设施;4、确保整个SOA生命周期的规范性。
SOA治理通过一个治理的框架、制度和计划,保证构建SOA应用和SOA基础设施的过程透明和有序。其主要内容包括:企业战略治理、SOA运营模式治理、SOA和服务生命周期治理、SOA治理的关键技术、SOA治理平台等几个层次。
SOA生命周期治理
SOA的生命周期包括开发期、运行期和变更期3个阶段,相应地,SOA的治理包括开发期治理、运行期治理和变更期治理。
开发时期SOA治理集中在治理服务构建和支持工件的策略应用上,从需求管理开始,包括架构设计、实现、测试、质量控制、文档,直到服务正式运行。在这个过程中,SOA治理要保生成可用的架构、实现、文档和UML模型及服务合约, 并能够快速查找同时方便重用。
运行时期SOA治理包括所有与服务执行和运营相关的工作。治理需要全程不间断地监控服务和流程执行,关注如调用的服务、调用者、调用参数、调用时间等信息,并且要能预先侦测性能瓶颈,关注服务提供者和消费者双方都认可的服务质量等级,观测日志和异常情况。
变更期SOA治理的工作是确保服务及相关系统,在合约、策略或者Schema发生变化时不会中断。
SOA治理的关键技术
1、注册中心和存储库
注册中心的功能主要有服务发现、服务发布和企业策略的符合性检查、辅助元数据管理、策略管理等。
存储库用来在服务开发生命周期中存储工件的元数据,自动化服务生命周期管理的过程,提供集中管理任何类型软件资产元数据的方法,治理服务生命周期中非常复杂的工作流程。
2、测试和验证
测试和验证有利于预防SOA中策略和流程可能发生的冲突。
3、策略管理和执行
策略有利于保证治理的可执行性、可理解性、 业务主导、可操作性和可预测性。策略从整个企业范围一般可分为企业策略、业务策略、流程策略、 技术标准依从性策略、安全策略等。
4、监控和管理
监控和管理需要策略依从性和QoS标准的可视化,有效的可视化代表着有效的可控性,推动SOA的演化和成熟。服务监控实现一般是由服务定期向监控接口发送可被监控设备捕获的信息,对接口做功能性的内部验证和响应。监控接口也能支持问题确定的跟踪模式,状态消息提供了更多的详情。
SOA治理框架
企业SOA治理的过程和平台
任何治理实现都应该以企业体系结构的4个支柱即人员、流程、技术和服务为中心。一般SOA治理会经历3个级别5个阶段。
SOA治理的步骤
SOA治理应该有条理、按计划、分步骤地实施。首先从一些小项目或原型项目开始建立最初的SOA过程,再启动SOA治理工具链的选购进程,努力使治理平滑地集成到特定的SOA生命周期,以获得大多数人的认可和支持。进行有效SOA治理,大致分为以下几个步骤。
(1)定义组织级与业务密切相关的SOA目标和战略。
(2)建立与SOA成熟度适合的SOA目标、标准、策略和过程。
(3)具体实施最佳实践,使治理策略发生作用。
(4)分析和改进SOA治理过程。
SOA管控与治理平台
作为一个有效的SOA治理实施工具,SOA的管控与治理平台完成基于域管理的多应用跨平台管理,包含IT与业务策略管理、管理仪表盘、元数据管理、服务仿真、服务网络发现和服务虚拟化。