毫无疑问,SOA部署是困难的。如果说,定义一个软件项目的成功与否是按照不超过既定成本与完成日期10%为目标,同时能提供所有预期的回报,那么可以说,软件项目的成功率只有30%左右。
历来在IT上的变革与创新都是一种高风险系数的活动,对于那些迫于企业压力,要求进行商业革新,增加企业灵活性的CIO而言,SOA并不是一件“简单任务”。
SOA与ITIL
如今,有越来越多的企业开始实施ITIL来应对在优化流程,提供IT服务上的压力。ITIL活动是由上至下而驱动的。它需要得到企业管理高层的支持与推动,结合评估、战略和规划多方面的角色,以最合理的成本来满足商业部门的需求。
SOA与ITIL在这方面相类似,成功的SOA也同样需要得到管理层的支持,梳理商业目标和资源,而不只是专注于部门层面的服务部署战略。鉴于这一原因,CIO则成为了SOA部署的关键,他们对最佳实践的判断和投资决策可以改善企业过渡到服务导向型架构的成功几率。
IT将他们所提供的服务视为一系列技术的组合,而商业部门将服务视为一种表现形式。填补两者间的断层,以及拓展商业服务的范围,要求与企业管理层密切联合。
SOA是一种战略
SOA并非简单的技术部署方式,而是一种IT与商业部门之间关联方式的转变。SOA深深改变了企业IT投资和支持的方式,并要求企业内各部门间实现更畅通的沟通。
大多数在早期成功部署SOA的企业都在治理方面经历过巨大的压力。譬如,大部分的SOA价值都源自于服务重用。一旦有多达五至六个部门在同时使用某种服务,而导致绩效下降,那么由谁来添加额外的服务器?谁来追踪服务的使用情况?谁来控制安全访问?何时需要变更服务?诸如此类的治理问题还有很多。
一旦企业认识到SOA不只是光谈技术,那么投资ITIL及其它最佳实践也就不再有障碍。ITIL可考虑为成功实施SOA的基础。如果在IT里没有明确的流程,那么随着时间的发展,跨商业部门之间的协作就变成了一种负担,而SOA成功所必须的商业战略变更也无法有效执行。
降低风险
对于那些成功使用SOA来部署应用的企业而言,降低风险是最主要的回报。如果你的大部分软件项目都失败,那么风险就会随着项目的发展而逐步放大。专家发现,在成功的软件项目中,小型项目通常都占多数,而大型项目所占的比例却很少,而SOA恰恰可以弥补这一点。
SOA本身是一种模块性质的架构。当一款应用以模块的方式来开发,那么它就等于是由一系列的小型项目所组成。这种灵活的开发方式在过去几年中发展很快,当它与某种基于服务的架构合而为一时,就能改善应用部署的质量和成功率。
战略CIO
IT管理人员有多种方式来改善企业SOA活动的成功机会,例如:
由点到面 – 大部分成功的SOA实施都是从管理层开始入手,进行研究来发现重用、松耦合和模块化的目标,这是SOA增加商业价值的三种主要方式。
然后他们逐步推广SOA到各个商业部门的管理人员,结合商业部门的实际情况来设定预期,解决潜在问题,展现回报。这些活动帮助IT与商业部门之间搭建了互通的桥梁,同时也让非IT管理人员参与到整个流程中,体验到SOA对他们的影响,并对企业贡献价值。
发挥机动性 – SOA的一大特征是机动性。这也是金融服务行业成为SOA主力军的原因所在,SOA活动能让他们的商业灵活性提升到一个新的等级。
这些公司中的管理人员充分了解商业部门的要求,能够引导IT去找出合适的方法来解决持续的变革问题。就降低软件部署上的成本和风险来说,SOA是一种绝佳的选择。
设定预期 – 我们常听到,在SOA部署的初始阶段是一种“烧钱”的活动。它需要大量的成本来更改软件基础架构,将现有应用平滑过渡到一个模块化的环境中,并培训开发人员来编写代码。不管是重新规划,还是拟定治理流程,都要求IT与非IT人员投入额外的时间与精力。
而当服务重用走上正常轨道,随着软件开发可预测性的提高,以及治理流程所创造的新秩序,商业部门就可以看到预期的回报开始逐步展现。
切合实际 – SOA要求强大的技术能力,优秀的项目管理,管理层的支持,以及完善的商业流程。缺乏其中任何一环,都会抑制SOA的成功。
SOA的成熟也需要良好的服务开发、可重复使用的流程,畅通的跨部门沟通,以及高于平均水平技术管理自动化能力。在其中,CIO负责判断在某个指定部门中,SOA回报是否大于风险。SOA当然不是万能药,但如果战略合理,部署切合实际环境,那么它就能发挥将IT与商业部门连结到一起的优势,并提高IT的能力,提供更具成本效益的服务,延伸可持续性。