SOA治理:小处着手 递增建设

如果治理是建一幢房子,那么你的选择就是要么从底层开始搭建,要么直接从一辆巨型卡车上吊下一个完整的房子来。虽然后者不是不可能的,但实现起来非常困难。房子本身就不是适合运输的。它可能在搬运的过程中受到损坏。它可能跟你的地基或者各种生活设施不合,需要立即进行整修。前一个选择,即在特定的地方把整个房子建起来,当然也会有遇到一些挑战(合适的设计图纸、准确的施工、质量保证),但是相比而言这些风险要小得多,并且可以在搭建的过程中进行调整(比如改建一面墙壁、换窗户和门等等)。通常来讲,企业都应该选择这种方法。他们应该选择从小做起,然后逐渐增建。

递增的治理过程

虽然目前还没有任何企业团体给出一个实现治理的统一步骤,不过许多企业都经历了与以下阶段类似的转变过程:

阶段1:由专家组成专题小组(SME)进行非正式勘察

阶段2:整理工作流程、文档编制标准和执行标准的建立等方面的勘察意见

阶段3:建立最佳实践,围绕架构与服务层选择并改善常用的设计模式

阶段4:增强企业的业务与技术团队在端对端的业务过程上的一致性

这些递增式的治理阶段的具体实现方式会因企业的不同而略有差异。某些企业可能会注重基础设施的投资。某些治理策略更注重技术与方法论,其它的则牵涉到更多的委员会与组织上的变化。不管采用什么方式,关键就是从小做起,逐渐构建。

一个简单实用的方法

治理的采用应该遵循一个简单实用的方法。采用治理的过程中,首要目标是风险缓和,以及提高可预测性以减少风险。建议遵循以下简单步骤:

* 建立客观、可度量的里程碑式治理路线图
* 确定每个阶段技术与组织上所需做出的变动
* 清楚地描述并确定各阶段所能实现的业务价值

最后一条建议是最容易被忽视的。企业经常在完全不清楚各个阶段能带来多少业务价值的情况下将计划付诸实施。这对于实现适用的SOA、充分的治理、并且最终从面向服务的投资中获得回报是非常关键的。

积少成多

在逐渐实现治理的过程中,一定要避免过激的治理部署。另外,与此相应,你也要避免把治理的实现变成仅仅是例行公事或盖几个批准章。治理既不是一个或几个毫无实权的委员会,也不是权位过重的复杂的官僚机构。我把这个平衡点称为——“精益治理”(lean governance)。

精准治理代表一种按需治理的态度。仅仅根据所需进行治理,并不断地根据环境调整治理的指导与监督作用。治理应该是清晰的、精益的、并且时刻存在的。在SOA早期,治理规模应该是最小的。它的作用应该只是支持某些标准和维护各服务的服务合约。然后,可以随着面向服务的企业成长逐渐增建这些治理策略、过程和流程、以及相应的基础设施。最后,治理应该在整个项目生命周期中得以实现。通过最佳实践可以确定三个治理阶段:设计时间、修改时间和运行时间。这三个阶段可以用来当作检验点,保证服务设计、开发和运行时的行为与企业目标和既定最佳实践一致。

根据我的经验,治理对于任何组织形式的明显改变都是非常关键的,面向服务也不例外。我认为治理不能走向极端(毫无实权的委员会或权位过重的官僚机构),而应该是清晰、精益、并且时刻存在的。开始的时候你不需要太多的治理,它可以只是侧重基础设施或技术和方法论方面的东西。但不管采用哪一种实现方式,治理都应该从一开始就启动,逐渐发展成熟,并能够在整个项目生命周期中起到指导与监督的作用。