全国信息技术标准化技术委员会SOA标准工作组基于近百家成员单位的信息化和标准化工作经验,在2011年组织工作组成员编撰了《中国SOA最佳应用及云计算融合实践》一书,近日将正式出版。值得关注的是,此书对比分析了SOA与云计算各自的特点,针对业界对于SOA和云计算关系的不同观点进行了分析,提出了工作组的观点,并重点介绍了“智慧城市:佛山智能卡云服务平台解决方案”、“电子政务:上海浦东软件园‘浦软汇智’IT服务云解决方案”两个SOA和云计算融合的案例。
关于SOA和云计算的关系,自从云计算概念提出至今,始终是产业界、学术界和用户界关注的一个焦点问题。业界观点大致归为三种:1.SOA和云计算融合发展、2.云计算将取代SOA、3.SOA“包含”云计算。
SOA工作组支持第一种观点。工作组专家认为,SOA是云计算的关键支撑技术、云计算是SOA的重要应用场景。云计算的两大支撑技术一是虚拟化、二是SOA。虚拟化是IaaS层应用的基石;SOA是云计算SaaS和PaaS层应用的主要开发方法。基于SOA的云计算更能发挥出其价值,未来SOA和云计算会进一步融合应用和发展。
2011年出版的《云计算与SOA》的美国作者David S. Linthicum认为,“云计算与SOA合作时会带来巨大的价值,可以把云计算当作SOA向云平台中的资源的扩展;云计算提供了SOA可以按需使用的IT资源;SOA可被用作利用云计算的关键技术实现手段。”
开源软件SOA软件厂商WSO2的首席执行官Sanjiva Weerawarana指出,云计算和SOA是互补的,云计算是在SOA环境中部署服务的一个好方法。他指出,SOA和云计算相互支持,但是,他们的思想基础不一样。云计算是一种部署体系结构,不是设计企业IT的体系结构方法,而SOA是这种方法。
IBM在2012年2月召开的“SOA新进化论”会议上,分析了SOA和云计算、物联网、智慧城市的密切关系,强调SOA是当前新兴技术和热点应用中极为重要的支撑技术。
用友软件的专家认为,SOA是一种根据业务流程(Business Process)来组织功能、并将功能封装成为可互操作的服务的软件架构。云计算是一个面向服务的基础设施,它采用了SOA的架构原则并且把这个原则应用在基础设施上。SOA是业务驱动的,而非仅仅技术驱动的。SOA的核心价值在于组织能力服务化,通过服务编排实现灵活的业务过程。SOA将为企业带来巨大的进步:SOA实现企业和企业之间的连接、业务和业务之间的连接;企业应用系统从面向功能,转变到面向流程;系统之间从紧密耦合,发展为松散耦合;从重新构造的IT系统,到IT可以根据变化来构造;从全面部署IT和业务系统模式,到灵活的增量部署模式;从企业应用孤岛,到过程、人员和信息的实质集成、高度协调。SOA解决业务需求到技术实现的分离,而云更多解决技术实现到IT基础设施单元的分离。SOA使业务系统灵活应对业务需求的变化,而云计算使软硬件环境灵活响应业务系统。作为一套架构理念和方法论,SOA帮助企业实现了IT服务的高内聚和低耦合;进入云时代之后,云计算可以借助于SOA的方法, 将本地原生应用, 私有云和公有云中的应用"粘合"起来,形成灵活的混合云方案。理想情况下,资源还可以在这三者之间迁移,从而应对不同时期的负载,或者进行故障恢复。
东方通技术专家认为,云计算关注的是计算和服务模式,而SOA关注的是总体软件架构,但二者并非互相割裂,它们都关注基于IT技术的服务能力和水平,二者的底层支撑技术是互相补充,需要彼此融合,才能促进彼此发展和能力完善。
金蝶中间件专家认为,云计算是SOA的进一步演化:SOA打破了软件系统间固有的边界,使得具备无边界信息整合能力的IT架构成为可能;云计算进一步打破软硬件间的边界,实现IT资源的动态分配、弹性调整、智能监控等;未来的云计算将包含支持SOA的IT基础设施,包括中间件等,实现云环境下的应用服务化、服务构件化、构件平台化、平台虚拟化、虚拟泛在化。
大唐软件技术专家认为, SOA作为一种面向服务的架构,是一种软件架构设计的模型和方法论。云计算涵盖的范围很广泛,通常分为三个层次: IaaS、PaaS、SaaS。其中SaaS是按照使用者的需求提供软件应用服务的业务模式,SOA可发挥其在系统界面和接口标准化等方面的优势,为SaaS提供一个较好的技术平台。SOA在应用层面进行资源整合,云计算补充了底层硬件层面资源虚拟化和整合,两者的理念是相似的。已经有电信厂商提出了“SOA+云计算”模式,上层基于SOA进行应用和服务开发,底层基于云计算进行资源整合,包括数据库,服务器,存储,网络等。
启明软件专家认为,SOA解决业务需求到技术实现的分离,使业务系统灵活应对业务需求的变化。而云计算更多解决技术实现到IT基础设施单元的分离,使软硬件环境灵活响应业务系统。SOA是构建企业IT应用的架构,而云计算是一种面向服务的基础设置的部署架构,它采用了SOA的架构原则,云计算是在SOA环境中部署服务的一个好方法。SOA和云计算思想基础不一样,但可以相互支持。通过SOA的ESB总线可以实现云计算中IaaS,PaaS和SaaS层之间的总线式集成,其次,对于云计算的PaaS它既是一个在线开发环境,也是一个在线执行环境,而不管是对于开发和执行,在SOA中的数据服务,业务服务,流程服务,展现服务等都可以作为PaaS层在线开发时的能力单元。而这些能力单元在线进行服务编排和组装时又可以借助SOA本身已有的流程引擎和规则引擎来完成。只是SOA中间件本身的很多能力都云化了,而不再是为单个应用提供服务。另一方面, 于SOA平台也需要IT硬件基础设施,这些基础设施可以直接使用云计算平台IaaS层的计算能力单元和存储能力单元,这些单元也可以服务的方式接入到ESB总线上,包括我们说的云存储,分布式计算等能力都可以集成到ESB总线。
锐易特专家认为,云计算关注云内的服务部署及管理,服务以托管的方式进行集中管理和维护;SOA关注的服务的标准化以及服务的松耦合,它定义了服务间交互的契约,并通过该契约来实现服务间的交互访问。云计算在其发展过程中与SOA必然会产生交集,因为云内的应用需要标准化和规范化,它们需要一套完整的架构将其整合在一起形成一个完整的服务或服务流程,同时SOA也实现了对已有服务粒度的重定义,这在技术上使得云内的应用演变成了标准的云服务,并通过统一的服务治理策略来进行统一管理和维护。SOA理论技术发展到今天已经是一套完整熟的理论,在此基础上又有了诸多成功的实践,这些都大大的推动了云计算的发展,同时云计算也深化了SOA理论的内涵,为SOA提供了更广阔的发展空间,其二者互为依托共同推动计算机产业的发展。
浪潮软件专家认为,从产生的背景和原因看,SOA产生的原因是为解决企业存在的信息孤岛和遗留系统这两大问题。云计算产生的原因是企业的信息系统数据量的高速增长与数据处理能力的相对不足,还有计算资源的利用率处于不平衡的状态。从关键的技术和属性看,通过产生背景和原因的分析,SOA和云计算是不同的概念,但是它们却互相联系,又有一定的相似性。从服务角度来看,SOA实现了可以从多个服务提供商得到多个服务(一个服务便是一个功能模块),并通过不同的组合机制形成自己所需的一个服务;云计算实现了所有的资源都是服务,可以从云计算提供商购买硬件服务、平台服务、软件服务等,把购买的资源作为云计算提供商提供的一种服务。从关键技术来看,SOA需要实现业务组件的可重用性、敏捷性、适应改变、松耦合、基于标准;云计算则需要虚拟化技术、按需动态扩展、资源即服务的支撑。从应用场景来看,当企业的业务需求经常改变的时候可以考虑使用SOA;当企业对IT设施的需求经常改变或者无法提前预知的时候可以考虑使用云计算,当有大量的批处理计算的时候也可以考虑使用云计算。从应用的侧重点来看,SOA侧重于采用服务的架构进行系统的设计,关注如何处理服务;云计算侧重于服务的提供和使用,关注如何提供服务。从商业模式来看,SOA可能会降低软件的开发及维护的成本,商业模式是间接的,需要落地;云计算根据使用的时间(硬件)或流量(带宽)进行收费,具有明确的商业模式。
关于云计算和SOA融合的讨论目前已得到了越来越多的共识,一些融合SOA和云计算的解决方案开始出现,为我国相关行业的信息化建设提供了更有效的支撑,也为我国云计算和SOA标准的制定提出了进一步需求。
作为负责SOA和云计算技术标准研制的组织,SOA标准工作组正在积极根据当前技术和应用的发展趋势,组织“产学研用”单位开展相关SOA和云计算标准的研制和推广,协助业界来澄清SOA和云计算的各自适用范围、相互关系,当前正在编制的SOA标准中也考虑了对云计算技术和应用需求的支撑,引导和规范SOA和云计算技术在实际应用中的实施。