如何执行一个SOA治理计划
 

2009-01-09 来源:网络

 

在过去的几年中,无数的SOA倡导者不遗余力地宣传SOA的好处以及SOA给企业带来的切实利益,业界也被这些SOA的炒作弄得有些晕头转向。不过,就像任何与IT有关的解决方案一样,SOA不是具备神奇魔力的魔术子弹或包治百病的灵丹妙药,它并不适用于所有的IT整合。事实上,SOA不能解决业务流程问题,而只是能确定好的或坏的企业流程。在大多数情况下,在一系列可重用的关键服务被开发出来之前,企业还需要不断投入额外的前载费用(front-loaded costs)。这将需要组织变化甚至过程变化,而这些变化必然需要高层次的培训、资助和组织治理。即便面对这么多的挑战,业界IT专家和顾问们仍然建议企业用户部署SOA解决方案。

建设一个成功的SOA治理(SOA Governance)机构需要特别关注所有服务领域和高层次服务类别所涉及的资产和功能。领域关注通常可以专注于一个主要实体,比如客户或员工,也可以是两个实体的交际或者某一规模较小的分区,比如产品定价。SOA治理(SOAG)是IT治理(IT Governance)的延伸,它主要侧重于决策权和问责制框架,以促进并鼓励合理的IT行为。

SOAG还可以平衡企业需要和部门目标,从而以建立一个框架并提供合理的面向服务的商业解决方案。SOA治理定义了个人和集体的责任、职责以及确定、修订和执行治理策略的结构。相反,如果企业部署了一个SOA解决方案,但是却没有一个明确的SOA治理模型,那么SOA架构就很有可能达不到之前所期望的结果。在项目试验和部署阶段,随着资源、硬件和软件的使用,隐没成本(sunk cost)是非常明显的,但它超出了财政上的损失。

执行SOA治理计划其中一个最有效的手段就建立一个SOA共享服务中心SSSC(SOA Shared Service Center)。一般来说,共享服务中心提供了一种集中的形式来有效协调各个团队成员的所有与SOA有关的活动。SSSC还提供了一种执行治理过程的方法,该方法非常类似于警察执行国家法律的方式。

SOA共享服务中心基本原理

你可以举出很多关于建立一个独立的组织来支持SOA治理计划的例子,这样的例子实在是太多了。那些支持SOA共享服务中心的专家都认为,将资源分散在现有的各个企业组织中是一种比较有效的方式。这种观点其实并不总是成立的,只有在某些情况下是正确的,这在很大程度上取决于SOA计划的范围和目标。这种做法仍然需要强有力的中央协调点,同时还要具备对各种资源的管理权以及不同级别的责任、优先权和时间。人们发现,大多数企业都有非常充分的理由建立一个SSSC。

满足客户的需求

客户的定义很广泛,任何个人、团体或组织都可以是客户。依赖于SOA环境的单元,要么是客户要么就是供应商。对于客户来说,如果只需通过与一个单一的实力或单位交流,就能咨询、发展、引导和支持自己的SOA需要,那么这种方式相当的便利和高效。而无须与多个实体进行沟通,尤其是当这些实体没有既定的指导方针或集中一致的沟通方式时。随着SOA计划的逐渐成熟,单一的联络点简化了交流的过程。

为了更好的理解这个问题,我以呼叫中心做一个简单的比喻。大家都知道,呼叫中心通常有一个统一的特服号,一旦电话打进来,用户就可以根据自己的不同需要继续按不同的小号。这种方式显然要比为每个不同的问题设立一个独立的特服号要方便和高效得多。

始终要牢记的一件事就是成功。SOA成功来自密切留意客户的需求和动向,确保他们所关注问题都被解决了,最后限期得到了满足,原有期望值超额完成了。为了将结果准确无误地反馈到企业,在SOA实施过程中的详细记录项目成功点、所克服的问题、以及预期的回报是非常重要的。与客户和潜在客户的沟通能够使他们认识到企业建设SOA项目的重要性,并且有利于促进用户对于SOA的接受度。

一个权力分散的机构不太容易能做到这一点,因为他们并不是集中在同一组目标和价值观上。因此,客户服务将蒙受损失,阻碍了SOA的普及。

推动灵活性、连贯性并调整优先次序

坚持相同的目标、方法和标准以创建一种标准、策略、流程和交流的一致性。这种一致性也导致客户能收到同等程度的支持。如果没有一致性,单位和团体将开始在采用SOA方法上有所保留。单一的组织结构目标一致,并且组织内部的沟通方向也是一致的,所以可能会比其它类型的组织结构更有积极作用。它有助于确保SOA信息不会丢失。在SOA推广的早期阶段,SOA治理可能会受益于一个高层次的结构,以确保企业能够接受相同的并且连贯一致的信息。

此外,要有一个专门的团队负责消除各种优先次序的冲突,否则就会导致客户服务质量水平下降、团队成员之间缺乏交流、增加项目管理的工作量并降低生产力。一个集中的团队还有可能带来更高的生产力,减少SOA实施过程中可能的多余活动。

当决定部署一个SOA架构时,除了技术可行性验证外,许多公司还要验证业务。SSSC使得评估实施一个SOA计划的总成本变得更加容易。集中SOA资产和资源使得确定总成本非常容易。它也有利于能力规划、资源分配、鉴定培训和教育所需。

反过来说,如果资源是共享的,或者没有100%的受控于SOA活动,这将成本结构的适用性变得复杂。除非事先配备严格的时间报告方法,否则SOA进一步成熟所需要的资产和资源将会变得模糊不清。同时,交叉培训资源也会变得很难,这将导致支持和一致性的问题。最终,在SOA成熟时,要想获得额外的拨款就变得很困难,降低了SOA的效力。

经验推动专业知识

随着时间的推移,联合的SSSC将建立起来一定层次的专业知识。这是通过共享SOA信息、概念和理解实现的。同时还要进行交叉培训以减少突然变化带来到的影响。商业和SOA的成功肯定避免不了巨变,这就需要简单并且合乎逻辑的过程和专业知识以确保技术和企业治理处于正确的水平上。

此外,经验丰富的团队将适合于处理新的挑战和任务。一个有经验的和联合服务中心可以找到实现目标的新手段和途径,从而更迅速地朝着目标迈进。

最后,集中团队将能够更迅速地探究和消化新的技术、平台和方法,给企业治理机构提供宝贵的研究和发展信息。这方面的资料可能会影响企业长远的规划和决定。

一个权力分散的团队最终将会对别人的知识产生怀疑,因为他们没有定期进行沟通。没有强而有力的领导层,团队将开始质疑其它人的权威。这可能导致更大的变动,甚至影响整个团队的绩效。

数据可靠性

对于任何共享服务中心来说,数据收集和报告都是主要任务之一。一个SSSC应该能够标准化和更新所收集到的条目(比如服务合约)的类型和数据。这对于保证所收集、维护和分发的数据的正确性非常重要。这些正确的数据由于在SOA环境中建立信任,这也许多SOA计划需要克服的障碍之一。准确的数据报告和元数据建模也将会支持策略和过程决策,它们能够找出基础设施、安全以及其它领域的差距。

质量

坚持在服务和性能方面运用治理标准,共享服务中心在确保正确维护功能、性能和整体测试管理上面发挥了关键作用。服务必须坚持要简直最高标准的互操作性和一致性,这也才能确保可重用性,并且建立恰当的服务质量和粒度,存进服务的广泛采用。

一个权力分散的机构将需要更多的治理团队间的事务处理过程,创造过程中的瓶颈和误传问题将会降低正在开发的服务质量。一个权力分散的组织也将需要遵守很多组织缺少的同一份报告系统和过程工具。

所有权

随着服务数目和对于SOA的依赖程度的增加,共享服务中心需要接管某些或所有被广泛共享的服务,这点是非常重要的。通过完全接管服务,服务的生命周期、支持、升级和管理将大大简化。所有权模式和成本也将集中,这将大大缩短产品的上市时间,减少组织的复杂性以及简化成本结构。 字串1

权力分散模式有可能变得相当复杂和混乱。首先过程和阻止将会变得复杂,合同审批、升级规划以及机构调整都需要所有权力部门点头同意。由于所有权模式、决策点的不同,企业业务执行的流程也大不相同,这就很可能产生混淆。

风险管理

一直以来,IT资产和服务都被看作垂直应用,包含在它们附属的平台中。而SOA的出现改变了人们的这种观点,它使IT资产和服务具备了一种无处不在的性质。正是由于这种无处不在的性质使得SOA资产的使用和开伴随着一定的风险。一个联合共享服务中心可以主动审查和确定的各种威胁,并制定解决方案克服这些威胁。

一个权力分散的机构实际上是最有可能处于被动的地位。因此,潜在的威胁有可能被错过或忽视,这将可能导致一系列的问题,从数据丢失或损坏到高度机密或私人数据被窃取。

SOA共享服务中心是SOA治理机构的有效工具和武器。此外,SSSC严格地执行SOA管理目标并且有利于指定正确的SOA发展路线。在SOA实施的过程中,SSSC还向SOA治理委员会提供重要的反馈信息。最后,在大多数情况,SSSC需要面对客户,是一个窗口部门。所以确保SSSC是一个多元化机构,并且具备非常有经验的并且致力于实现SOA目标的专家,这是非常重要的。

那么,SOA治理的步骤是怎样的呢?

首先,SOA共享服务中心应该建立在一个通用的SOA成熟模型之上。这将确保SOA计划、SOA治理模式以及SSSC都围绕病遵守相同的目标。

第二,确定组成SSSC的资源,无论是现有的还是新的。这些资源的选择应该基于最适合SOA计划这一原则。这一步对于确定所需要的总预算成本是必不可少的。

第三,确保现有的与SOA相关的项目和开发都得到密切关注,并且从目前SOA的成熟度来看,这些努力并没有经历任何痛苦。在许多情况下,采取一个异常处理过程可能会很有意义,这要依赖于该项目目前是否处于服务开发生命周期中。

最后,为了运用新的策略、过程和标准,开始确定未来SOA开发的努力方向。这也将由于与进一步完善系统和分析差异。当取得一些进展时,开始收集和分析指标和数据,这将有助于建立一个坚实的SOA治理计划、合理的客户服务和治理执行形式。这是一个功能强大的SSSC所需要的。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织