【IT168 专稿】
即使机构内的业务单位和部门急于从面向服务的架构(SOA)获益,如果没有对建立SOA进行合理的控制或治理,最终会使SOA环境无法管理,导致混乱以至失败的局面。SOA的成功很大程度上依赖于健全的治理体系。作为第一步,企业必须围绕如何解决SOA各方面的难题定义治理模式。在这篇文章里,我们将讨论SOA治理的主要目标,以及建立健全的SOA治理模式所需考虑的各种因素。良好的治理模式将是保证SOA成功的坚实基础。
SOA治理的目标
大多数企业都使用编排引擎(BPEL)、企业服务总线和Web服务等技术实现SOA应用。虽然这些技术和标准有助于认准目标,但并不是SOA成功的保障。SOA的成功与投资回报率并不是由技术平台或供应商决定,而是由诸多复杂的问题共同决定的。这牵涉到程序规范、协作、企业文化和决策制定。
下面是一些主要问题:
- 准确地鉴定商业服务的粒度与可重用性;
- 通过标准化服务接口的标准数据模型(canonical data models)实现语义上的互操作性;
- 通过执行最好的实践、标准与准则保证实现SOA过程中各项目小组之间的一致性;
- 消除服务提供者与使用者之间的猜疑与犹豫;
- 建立常用词库,方便不同单位或部门之间分享服务信息;
- 打破传统企业文化和行为的障碍,保障服务提供者与使用者的正常参与;
- 为决策系统引入需要遵循的准则。
要成功实现SOA,必须首先解决这些问题。这些问题也表明了对SOA治理的需求。SOA治理的一些主要目标包括(见图1):
- 在进行各种业务周期(业务识别-业务运营)有关的程序时通过适当的策略引入准则;
- 通过奖金、奖励、表扬等方式鼓励参与,建立公开协作的企业文化;
- 逐渐确立信任与信心,保证有效率地协作;
- 建立适当的责任与义务体制,并以此控制决策制定。

图1 SOA治理的目标
SOA治理
到目前为止,仍有许多人认为治理是一种资源浪费。他们低估SOA治理,认为这不过是依靠配置工具来发布和发现业务服务的机制。随着SOA从试行阶段进入回报阶段,重新考虑SOA治理的重要性已是势在必行。采用SOA的第一天就应该建立SOA治理,否则在后期建立SOA治理的成本要高很多。
任何治理的核心都是确保在一定规则下获得理想的结果,这原则同样适用于SOA。业务服务是SOA中的首要因素,因此需要通过治理来确保所开发的资产(企业服务)是高质量的、企业范围内可重用或可共享的,并能满足业务能力的需求。
有效的SOA治理将分辨出谁是公司里的领导人和闲人。治理对全面的SOA策略来说是必须的,并且是有序地建立SOA架构的基础。建立有效治理的第一步是确定治理模式。这需要验证并确定各种与目标、方针、策略、过程、模型、指标和角色责任有关的因素。第二步才是为实现这个治理模式挑选合适的技术与工具。
图2描述了治理模式的主要内容。

图2 SOA治理模式概要