SOA的企业用户认为,如果应用SOA不当,会招致巨大的风险。这种风险不仅仅是IT风险,也包含真正的业务风险。这种风险导致的结果是,即使企业用户在SOA的实施上做足了工作,其结果也只是让您的应用更加脆弱、更加不可用。
SOA的盛行已有时日,即使那些曾经对SOA持有质疑态度的人,也开始感受到SOA带来的好处,但他们仍然对SOA项目给运维团队带来的管理问题感到惊诧。因为端到端的服务交付将会在架构中的许多点上中断,运维团队要耗费相当多的时间去分析引起这些服务中断的根源。
制约SOA项目成功实施的五大因素
体系化地实现IT应用与业务流程之间灵活的互动是SOA(面向服务的体系)的重要特征。而随着SOA在企业中越来越多地得以应用与实施,如何有效降低SOA风险的问题也逐渐得到重视。有专家认为,五大因素制约着企业用户成功实施SOA项目。
巨大的成本
"认为SOA很昂贵"是最主要的一个制约因素。人们持有这种观点是因为SOA项目通常由IT Manager们发起,而他们通常缺乏足够的能力让管理层信服SOA将带来的业务价值。
组织关注点的变更
许多欲实施SOA项目的企业用户通常的做法是浅尝辄止,更有甚者在计划阶段就停止了前进的步伐。究其原因无外乎"不能确认SOA能带来的实质利益"、"高层不买账"、"业务绩效不明显"、"预算删减"等。
不能准确定义SOA带来的利益
如果不能有效地将服务与公司的业务流程对应起来,那么组织就不可能意识到由IT开发的服务具有多高的复用价值。
缺乏有组织的准备
如果一个基于SOA的项目仅停留在应用整合层面,做一些"应用服务(application services)",那么必然认为介入业务可有可无。但"业务服务(Service services)"不仅要求介入业务,还需要与业务流程建立强对应关系。如果一个项目包含了设计与业务服务相对应的IT服务环节,但没有介入业务来定义业务服务,极其可能的情况是IT服务不能满足业务服务的需要,即便可能,复用服务也会变得异常困难。
只考虑IT的主动性
有时一些最初的SOA项目并没有太多地体现复用性,尤其是当只有一个应用需要被部署或重新架构的时候。在这种情况下,复用性可能会随着SOA项目的推进逐步显现出来。当前,SOA项目主要还是由IT Manager来发起,这并不是一个好的苗头。因为SOA的最终目标是实现业务价值,IT部门充其量是在诸如复用性、灵活性这样的技术细节上起指导作用,而非左右整个的业务目标。
SOA项目商业效益与实施效果定量难
虽然SOA的成功实施确实可以提高企业的业务提供能力并给企业带来显著效益,但是,如何定量描述其所能带来的效益就给企业是否采用SOA形成了一大障碍。很多国内企业认为,在确定采用SOA和Web Services的商业理由方面,存在一定的困难,很多企业高管难以获得足够的商业理由来对SOA项目进行投资。
从某种程度上讲,这是因为许多国内企业采用SOA技术或架构体系的主要目的是为了解决内部应用集成方面存在的问题,而不是将其作为创新工具为客户提供新的服务。然而,当企业最高领导们选择SOA时,他们希望知道明确的、可衡量的收益,比如可以灵活的推出新的产品或服务、可以以更快的速度进入市场、更低的成本、更加出色的集成能力和更高的可靠性。
与此同时,国内企业较国外企业的基础设施层的差距,以及对SOA的不同理解也在一定程度上影响国内SOA的实施。对于大多数企业来说,成功的关键将会是以什么样的方法来利用SOA,使其成为全面业务转型的实现手段,而不仅仅是一种新的信息技术工具。
对于SOA的实施情况,业界并没有一个明确又直接的衡量体系标准,但这并不意味着SOA项目实施效果无法得到评估。事实上,SOA实施效果与项目计划达到的预期值有关,SOA规划过程中所设定的阶段性目标是否得到实现就可以从一定程度上衡量SOA实施的情况。最为简单又最有效的方法就是,通过一项业务需求在SOA平台上的实现与响应速度与之前的情况的比较,就能够清晰、直观地确定SOA项目实施的效果。
SOA风险的有效降低在于合理的规划与管控
因此,如何有效降低SOA风险是确保项目能够成功的关键。如果没有合理的规划并明确地界定每个阶段的实施目标,或者没有一个专门的SOA管理部门来对SOA进行管控,统筹SOA的开发、维护以及服务的管理,企业就很难避免SOA的无序状态及其带来的可能风险。
SOA风险的有效控制离不开强有力的业务和信息技术管控。实施管控,首先需要具备明确的指导方针、决策授权和责任分配。没有管控机制,就很难进行项目优先排序以及获取必要的支持和合作,也就难以保证在企业全局范围进行投资的最佳化。
在国内,业务部门和职能部门高度分散的现状结构,使进行优先排序和获取合作和支持变得更为困难,如何对分散在不同地域的业务部门进行统一规范化管理也是SOA实施需要面临的一个挑战。例如,没有明确的指导方针,国内某大型公司将会发现,将一个省市采用SOA的成功经验复制到另一个省市将是非常困难的。这是因为不同省市可能具有不同程度的政策障碍或不同的实际问题,例如资金安排、项目优先排序以及在创新性和标准化之间的选择尺度具有差异。
IT部门需与业务部门有效协同
从IT部门与业务部门对SOA风险态度的现实情况来看,业务部门更加注重业务的灵活性、可靠性、成本、响应速度、差异性和为自身业务带来的价值等。相比于业务部门,IT部门更加注重SOA的实施风险,因为一般情况下,一个SOA项目的实施主要是以IT部门牵头,并与其他业务部门配合完成。
因此,在SOA的具体实施过程中,业务部门与IT部门的共同参与和协同合作至关重要,也是有效降低SOA风险的重要方面。值得指出的是,不能将IT部门视为一个企业的后台职能或是成本中心,而是应该被定位为关键的业务驱动力,否则,跨部门的协调工作将会难以进行,SOA的风险也将难以得到控制。
与此同时,在SOA管控的过程中,也要杜绝单纯地"为了管控而管控",管控的目的是为了更加有效地管理SOA的生命周期,而不能过分地强调所谓的SOA管控,关键是要做到管控的适用性。
总之,在SOA项目实施之前,要制定合理的框架与发展蓝图,并明确演进路线以及阶段性目标。在SOA的整个生命周期内,要进行合理、适当的管控,以降低SOA风险。