现在的业务和技术环境比较复杂,很难对IT项目的投资总成本作出精确的预算。许多公司都需要一种技术途径,来降低风险,提升自身优势。Web Service就是这样的一种方法。通过构建集中管理的松耦合的基于Web Services的SOA(Service Oriented Architecture,面向服务的体系结构),能够在每次改变业务流程时,节省投资总成本,提高商务敏捷度。
1降低投资总成本
当客户准备实施Web Services的时候,投资总成本的问题就不可避免的产生了。投资总成本包括花在人身上的、实施过程以及技术上的费用,项目目前和将来费用的总和——尽管将来的费用很难预计,甚至不可能被预计。然而,往往都是这种难以预估的将来费用,降低了投资总成本。
实际情况中,变更是必然的,因此不可预测性也是必然存在的,我们需要一种技术方式,使不可预见性最小化,处理突发事情是降低投资总成本的关键任务。在一个动态的环境中,降低投资总成本的秘密在于主动的、超前的做出改变,而不是简单的对改变的环境做出相应。公司需要构建一个基本的框架来适应变化的需求,构建一个这样的框架并不容易。
企业可以采用Web Services来构建面向服务的体系结构,提升商务敏捷度,降低项目实际投资总成本。
2商务敏捷度
商务敏捷度是一种业务的能力,这种能力,能够主动管理变化,利用变化的商务环境作为他们的优势。变化有多种形式。市场,技术整体大环境的变化。能够有效利用变化的环境的公司,与其他商务伙伴相比,更具有竞争力和生命力。
敏捷度的获取通常从解决瓶颈问题开始,很多公司机构内部的瓶颈,就在于技术方面,技术局限性通常制约着业务决策。然而,SO(Service Orientation,面向服务),将改变这一状态,使得业务决策最终将引导技术。另一方面,构建面向服务的框架并不是一件简单的事情,它需要企业对其进行投资,承担一部分的义务。面向服务的长期的业务利益,最终能够证明这项投资是正确的。
面向服务,包含了三方面的内容:SOI(Service Oriented Integration,面向服务的集成),SOA和SOM,如图1所示。在构建灵活的技术框架中,这三个方面,充当了十分重要的角色,从而降低了项目的投资总成本。
2.1商务敏捷度,需要可管理的SOI
WebServices技术使得SOI能够建立一种松耦合的SOA。构建和集成这样的SOA的费用在于系统的重构上。业务方面需要花时间分析业务流程,构建多粒度级别的业务服务,甚至需要涉及到多层的Web Services才能完成一个简单任务。这种对多粒度级别的支持,使得SOA能够支持底层系统的变动,业务流程的变动,底层业务结构的变动,而不必修改接口,从而不会破坏服务的松耦合。SOI的真正优势,在于维护阶段和变更阶段中动态变化时,能够节省的费用。
费用的节省,有很多种形式。对于软件开发商来说,采用SOA的最大的优势在于程序开发和测试阶段,在传统的控件开发中,企业应用开发的项目规模越来越大,费用越来越高,风险也越来越高。基本原因在于:传统的由不同控件和系统所组成的体系结构,相互之间是紧耦合的。这就使得一部分环境的变化,要求其它部分跟着变化,应用变化最终将使得整个环境随之变化。SOI利用SOA中的松耦合的作用,减轻了这些费用以及相关的风险。
2.2商务敏捷度,需要与应用开发独立的集中化的策略管理
在SOI项目的维护和变更阶段,策略管理是节省大量费用的第二个方面原因。策略描述和限制了人们和其它系统与基础部件交互的业务规则。在传统的体系结构中,这些业务规则通常被直接写入每个应用的业务逻辑中,策略的变更需要修改应用程序的代码,这就使得维护的费用很高,而且风险很大。在其他实例中,应用程序已经将策略抽象到管理层,这样适当的人员就能够管理这些策略,无需对应用程序作任何修改,就能应用这些策略。
即使当一个应用的策略管理抽象地分为应用自身的接口,管理这些策略的费用仍然很高,因为,企业通常有很多这样的程序。因此,在一个现实世界中,管理人员必须记住不同应用程序和系统的不同的接口。变更一个简单的策略(如删除一个用户),将导致许多不同系统的变化。这个过程就造成了时间的浪费,由于存在人为错误,同样也有风险。
在SOA中,策略管理被抽相成一个粗粒度(Coarsegrained)的业务服务。策略管理不但与应用分离了,而且还集中化了,省略了对分散的程序的管理。SOA提供了集中的策略管理,与传统的策略管理相比,大大降低了费用和风险。
2.3企业级SOA,需要SOM
松耦合的基于标准化的SOA是一种分布式计算的方法,他将软件资源看成网络上可获取的服务。理想情况下,网络上可得到的服务,只暴露了潜在的软件功能和业务概念。公司需要采取SOA来重构框架,以利用SOI的优势,摆脱集成瓶颈,从而以灵活、有效的方式来联接不同的系统。摆脱了集成瓶颈后,这些公司就能提升商务敏捷度。
重构不是封闭进行的;公司必须采取一种合适的方式,在不影响正在进行的必需的技术功能的前提下,把系统从现有的体系结构转到SOA上。此外,重构的动作自身不能充分保证最终的业务服务能够满足业务需要。企业同样需要一个管理框架,一旦系统正式投入使用,能够对服务性能进行监控。
最后,为了减少底层软件部件和Web Services接口系统,为了将自动Web Services调整成粗粒度的业务服务,公司必须有一套能够用来建立和维护软件和服务之间连接的管理工具集。
3采用SOM,降低投资总成本
SOM提供了以下几个方面的功能,采用SOM能够降低投资总成本:
①将策略管理与应用逻辑相分离。策略管理不仅与应用逻辑分离,而且被集中管理,企业可以做出经常性的策略变动,而不需要在改变应用方面付出太多的代价。策略管理从应用中分离的时间越晚,投资总成本越大。
②集中化安全管理和监控。管理安全性在企业减轻风险中占重要部分。当采用集中化方式进行管理和监控时,最能有效的减少费用。在SOA中,每项服务在物理上是独立的,不再与操作系统绑定在一起。一个WebServices管理平台应该在满足访问相关系统的前提下,提供一个集中化的方式进行安全管理。
③提供面向服务的监控和管理工具,使管理可视化。要想进行敏捷管理,人们必须对作十分清楚。面向服务的监控和管理,为IT和业务管理提供了可视化操作。通过SOA对业务管理和IT管理提供可视化操作,WebServices管理程序就有可能提供可视化的业务流程的配置。
④采用多消息和多路由模式,部署一个可扩展的集成框架和松耦合的系统。为了面向服务,企业必须将多个不同接口的系统与粗粒度的业务流程相结合。Web Services管理程序必须提供可扩展的集成框架。此外,企业采用能够提供多消息和多路由的样式的Web Services管理程序,能够减少集成的投资总成本。一些系统可以提供同步响应,其他一些可以提供异步的接口。在许多案例中,SOA基本上采用“发布和分发”的方式提供服务,而提供服务的后台程序通常为同步方式。在其他案例中,服务消费者使用不同的传输协议。Web Services管理程序必须对这些进行松耦合,为降低构建和支持不同种类的产品的费用,提供灵活性和敏捷度。
4总结
当今的市场既充满激烈的竞争又存在着不确定性。针对市场变化做出预测和反应变得空前困难。计算一个项目的投资总成本由两种因素:一、它包含了对将来的预测,特别是当涉及到技术问题时,这是十分困难的;二、投资的全部费用除了硬件、软件和专业服务费用外,还包括了许多难以预测的“软”的费用。在所有影响投资总成本的所有的基础力量中,最重要的是变化。业务环境变化,需求变化,人们与生俱来的对变化的抵制心理,都将是之前精心制定的预算方案失效。
然而,最重要的不是使投资总成本更易于计算,而是如何真正降低投资总成本。降低投资总成本,意味着敏捷的处理变化——不只是更有效地对变化做出反应,而是利用变化构建我们自己的优势。(e-works)