【IT168 专稿】目前,面向服务的架构(SOA)正在中国掀起一股“全民热潮”。根据埃森哲与《信息周刊》在2006年下半年所做的调查,国内67.8%的企业在研究和了解SOA,并有73.7%的公司表示未来两年内有SOA项目的部署计划。可以预见,SOA将从市场导入转向快速成长期。
然而,在具体部署SOA的时候,不少企业却栽了跟头。IBM软件部Rational中国区技术销售经理傅纯一告诉记者,60%以上的SOA项目输就输在“治理”上。“我们不能只从技术的角度看待SOA,而更应该把它上升到公司治理的层次,只有这样才能保证SOA应用的成功。”
SOA需要技术 更需要治理
众所周知,SOA是将业务流程所需各项操作开发成“服务”的一种IT体系架构。在这种架构支撑下开发和组成的业务流程本身还可以通过流程编排与其它“服务”组合,从而实现松耦合的复杂“服务”。正由于SOA具有较强的技术性,很多企业的IT人员把SOA应用开发看成纯粹的技术问题,而忽略了另一个重要的维度:管理。
甲骨文公司大中华区SOA高级架构师周有衡说:“因为SOA与业务的密切关系,影响SOA项目的因素已超越了传统IT项目管理的范畴。”事实上,决定SOA项目成败的关键因素可以分为技术和管理两大类:前者主要是指技术的采纳和相关标准的遵循,后者则涵盖了企业发展策略、组织架构与IT架构、信息和资源共享模型、IT治理、业务流程等多个方面。
据介绍,由于用户发现他们越来越需要对自己所构建的Web服务进行更高程度的控制, SOA治理(SOAG)正成为管理环节中的重点。在SOA中,服务使用者和服务提供者运行于不同的进程中,由不同的部门开发和管理,多个应用程序需要共享和重用相同的服务。这就意味着必须进行大量的协调工作,也就是“治理”,它比采用独立应用程序时要复杂得多。
傅纯一表示,目前很多企业实施SOA还停留在SOAD(SOA解决方案的设计与开发)阶段,缺乏对SOA应用开发生命周期的管理。例如,在一个SOA项目中,谁应该监视、定义和授权对企业内现有服务的更改?对于许多已经“老化”的服务,究竟是彻底摒弃还是再做优化?这些政策性问题都是治理所要解决的。“治理在SOA中比在普通IT中更重要,企业亟需从SOAD向SOAG过渡。”他说。
SOA治理贯穿应用开发的生命周期
作为IT治理的扩展,SOAG重点关注服务的生命周期,包括服务从规划、设计、实现、部署、维护直到最后“退役”。IBM华东&华南区Rational软件销售经理彭开怀告诉记者,当SOA项目比较小的时候,治理的问题并不突出;而一旦SOA从某个应用点扩展到公司层面,如果缺乏治理,就会导致面向服务的混乱:最后企业的服务各自为政,难以整合,“SOA所要解决的问题成了它自己的问题”。
那么,企业究竟应当如何实施更有效的SOA治理呢?傅纯一认为,治理应贯穿于整个SOA应用开发的生命周期中,它依赖一系列软件工具和技术,围绕着“怎样使SOA项目管理可视化”而展开:
首先是业务流程建模。SOA是流程驱动的,SOA最大的挑战就在于构划和控制企业的业务流程,这点可以用可视化建模软件来实现;第二是搭建应用架构。企业必须基于一定的标准和方法论来构建SOA应用的整体架构(如IBM的SOMA),否则很容易造成混乱;第三是服务的协同开发与设计。用户的SOA项目团队很可能分散在世界各地,在进行系统开发时,必须克服异地开发的复杂性并满足各地的标准规范,这就需要采用模型融化等技术,建立一个开放集成的交付平台;第四是服务的管理。企业有需求就会打包新的服务,但当业务流程发生变化之后,就应对服务模块进行调整和优化,进入新的循环,这些都需要借助治理工具来完成。
值得一提的是,现在很多企业还把SOA看成IT项目或者信息化建设的更高级目标。而事实上,SOA不是目的,只是应用的一种手段;用户也不是要达到SOA,而是无形中用SOA的手段来解决问题。有业内专家曾说:“当没有人再提‘为SOA立项’的时候,SOA才真地成熟了。”