技术开发 频道

从城市建设看SOA


2.服务生命周期
    SOA中各个服务所经历的生命周期,与传统用来开发应用系统的软件开发生命周期(SDLC)概念有很大的区别。如图2所示,服务的生命周期,实际上更接近于产品生命周期管理(PLM)。一个服务可能历经多个世代,多次“轮回”,最后进入退休、除役状态。在多次迭代的过程中,可能因为业务需求的改变,而被调整、与其他服务进行重组、功能合并。此外,如服务契约的调整,以适应不同的安全和服务水平协议(SLA)要求等,都可能催生新版本的服务。而通过服务基础设施中ESB所提供的路由服务,我们可以有效地让多个不同版本的服务,同时运行,服务不同时期所建立的服务消费者,让消费者和供应者之间的耦合更为降低,而不需要强迫所有消费者配合某个供应者,同时进行升级。



图2 服务生命周期和其中的主要阶段

3.项目实施与服务工程框架
    为什么SOA需要一套新的工程框架?首先,如上所述,服务生命周期的涵盖范围,远比传统以项目为单位的应用系统开发周期来得长。传统的软件交付方法,如waterfall及UP,当放到SOA的上下文中的时候,则显得有些不足。因为传统的软件交付,往往局限在个别项目的范畴,而交付的对象,则以应用为目标,没有一套过程能将功能拆分成适合在企业级别重用的服务模块。在SOA项目的过程中,我们除了和以往一样,需要开发出某个应用/解决方案之外,在此同时,还需要识别并搭建出若干个在未来能重用的服务模块,也可能利用既有系统中现成的功能进行重构,把他们封装成服务。这些都需要对传统以个别项目为基础、面向应用的工程方法过程,加以补强,来配合SOA中服务生命周期的特性,和前面提到的渐进式、迭代式的策略规划和项目实施。
    一套适合SOA的项目工程框架,应将高度从个别项目及应用的层级,上升至整个企业的视野,在多个项目之间掌握关键的共性。同等重要的是,它应该不需要推翻、颠覆企业现有的开发过程,而是能在原有的基础标准之上,建立、增加服务交付所需增加的关键步骤,来进行SOA需求管理、服务选定、识别、服务契约(合同)的定义、接口设计,和项目发布计划等,并且能支持渐进式、一个接一个项目的执行方式,来逐步实现SOA参考架构中所制定的目标和远景。

4.公共服务和基础设施
    继续城市规划的比喻,城市规划必须包括提供公共服务的原则,使所有建筑、房产能顺利地连接到这些服务:
    供水、供电、供暖等
    排污和垃圾系统
    电话、有线电视、互联网等
    服务的建立是公共投资,而服务的使用则需要得到控制、管理和监督。在此同时,这些公共服务必须能以合理的价格,提供给房产的业主和居民。
    就像城市需要这些基础设施,SOA的建设的过程当中,同时需要建立横跨各级服务和系统间的基础服务,包括遗留系统整合服务、数据整合服务、服务消息路由、服务流程编排、用户界面展现服务和服务注册等。我们将这些SOA的基础服务集合统称为服务基础设施(service infrastructure)。广义的服务基础设施,可定义为SOA架构下,支持所有业务服务运行的基础,因此除了上述的SOA中间件外,举凡应用服务器、数据库、虚拟机、硬件、存储、网络等,皆可视为基础设施中的各个环节,即所谓的SOI——Service-Oriented Infrastructure。随着虚拟化(virtualization)和网格计算技术的快速发展,在部署方式上也将更为敏捷、灵活,从而更进一步强化SOA快速响应业务变化的能力。

5.SOA治理
    除了规划参考架构和服务工程框架之外,企业在规划实施SOA时,还必须全盘考虑治理/监管(governance)的问题。
    SOA的实施需要从文化上转变人们在一起工作的方式,在IT和业务职能部门之间建立更加密切的协调关系,将注意力更加集中在为整个企业提供价值,而不仅是竖井式地集中在单个职能部门。
    尽管许多实施SOA的公司可能已经参考某些标准(如 ITIL、COBIT)在进行某种IT治理计划,但是SOA不管对服务生命周期、技术标准、团队组织角色和技能等方面,都有许多新的要求。换句话说,SOA带来了很多传统IT治理范围外的新课题。从这个意义上讲,为了确保SOA的成功实施,应该将SOA治理,当作一个专门的学科来对待。
    SOA治理框架的建立,能够帮助机构深入、通盘地了解自身的组织结构、运营流程、工具、标准,和指导原则。


图3 IT治理、SOA治理和企业架构(EA)各自的涵盖范畴

0
相关文章