SOA和云計算:擁抱前行
SOA云計算 全國信息技術(shù)標準化技術(shù)委員會SOA標準工作組基于近百家成員單位的信息化和標準化工作經(jīng)驗,在2011年組織工作組成員編撰了《中國SOA***應(yīng)用及云計算融合實踐》一書,近日將正式出版。值得關(guān)注的是,此書對比分析了SOA與云計算各自的特點,針對業(yè)界對于SOA和云計算關(guān)系的不同觀點進行了分析,提出了工作組的觀點,并重點介紹了“智慧城市:佛山智能卡云服務(wù)平臺解決方案”、“電子政務(wù):上海浦東軟件園‘浦軟匯智’IT服務(wù)云解決方案”兩個SOA和云計算融合的案例。
關(guān)于SOA和云計算的關(guān)系,自從云計算概念提出至今,始終是產(chǎn)業(yè)界、學(xué)術(shù)界和用戶界關(guān)注的一個焦點問題。業(yè)界觀點大致歸為三種:1.SOA和云計算融合發(fā)展、2.云計算將取代SOA、3.SOA“包含”云計算。
SOA工作組支持***種觀點。工作組專家認為,SOA是云計算的關(guān)鍵支撐技術(shù)、云計算是SOA的重要應(yīng)用場景。云計算的兩大支撐技術(shù)一是虛擬化、二是SOA。虛擬化是IaaS層應(yīng)用的基石;SOA是云計算SaaS和PaaS層應(yīng)用的主要開發(fā)方法。基于SOA的云計算更能發(fā)揮出其價值,未來SOA和云計算會進一步融合應(yīng)用和發(fā)展。
2011年出版的《云計算與SOA》的美國作者David S. Linthicum認為,“云計算與SOA合作時會帶來巨大的價值,可以把云計算當作SOA向云平臺中的資源的擴展;云計算提供了SOA可以按需使用的IT資源;SOA可被用作利用云計算的關(guān)鍵技術(shù)實現(xiàn)手段。”
開源軟件SOA軟件廠商WSO2的***執(zhí)行官Sanjiva Weerawarana指出,云計算和SOA是互補的,云計算是在SOA環(huán)境中部署服務(wù)的一個好方法。他指出,SOA和云計算相互支持,但是,他們的思想基礎(chǔ)不一樣。云計算是一種部署體系結(jié)構(gòu),不是設(shè)計企業(yè)IT的體系結(jié)構(gòu)方法,而SOA是這種方法。
IBM在2012年2月召開的“SOA新進化論”會議上,分析了SOA和云計算、物聯(lián)網(wǎng)、智慧城市的密切關(guān)系,強調(diào)SOA是當前新興技術(shù)和熱點應(yīng)用中極為重要的支撐技術(shù)。
用友軟件的專家認為,SOA是一種根據(jù)業(yè)務(wù)流程(Business Process)來組織功能、并將功能封裝成為可互操作的服務(wù)的軟件架構(gòu)。云計算是一個面向服務(wù)的基礎(chǔ)設(shè)施,它采用了SOA的架構(gòu)原則并且把這個原則應(yīng)用在基礎(chǔ)設(shè)施上。SOA是業(yè)務(wù)驅(qū)動的,而非僅僅技術(shù)驅(qū)動的。SOA的核心價值在于組織能力服務(wù)化,通過服務(wù)編排實現(xiàn)靈活的業(yè)務(wù)過程。SOA將為企業(yè)帶來巨大的進步:SOA實現(xiàn)企業(yè)和企業(yè)之間的連接、業(yè)務(wù)和業(yè)務(wù)之間的連接;企業(yè)應(yīng)用系統(tǒng)從面向功能,轉(zhuǎn)變到面向流程;系統(tǒng)之間從緊密耦合,發(fā)展為松散耦合;從重新構(gòu)造的IT系統(tǒng),到IT可以根據(jù)變化來構(gòu)造;從全面部署IT和業(yè)務(wù)系統(tǒng)模式,到靈活的增量部署模式;從企業(yè)應(yīng)用孤島,到過程、人員和信息的實質(zhì)集成、高度協(xié)調(diào)。SOA解決業(yè)務(wù)需求到技術(shù)實現(xiàn)的分離,而云更多解決技術(shù)實現(xiàn)到IT基礎(chǔ)設(shè)施單元的分離。SOA使業(yè)務(wù)系統(tǒng)靈活應(yīng)對業(yè)務(wù)需求的變化,而云計算使軟硬件環(huán)境靈活響應(yīng)業(yè)務(wù)系統(tǒng)。作為一套架構(gòu)理念和方法論,SOA幫助企業(yè)實現(xiàn)了IT服務(wù)的高內(nèi)聚和低耦合;進入云時代之后,云計算可以借助于SOA的方法, 將本地原生應(yīng)用, 私有云和公有云中的應(yīng)用"粘合"起來,形成靈活的混合云方案。理想情況下,資源還可以在這三者之間遷移,從而應(yīng)對不同時期的負載,或者進行故障恢復(fù)。
東方通技術(shù)專家認為,云計算關(guān)注的是計算和服務(wù)模式,而SOA關(guān)注的是總體軟件架構(gòu),但二者并非互相割裂,它們都關(guān)注基于IT技術(shù)的服務(wù)能力和水平,二者的底層支撐技術(shù)是互相補充,需要彼此融合,才能促進彼此發(fā)展和能力完善。
金蝶中間件專家認為,云計算是SOA的進一步演化:SOA打破了軟件系統(tǒng)間固有的邊界,使得具備無邊界信息整合能力的IT架構(gòu)成為可能;云計算進一步打破軟硬件間的邊界,實現(xiàn)IT資源的動態(tài)分配、彈性調(diào)整、智能監(jiān)控等;未來的云計算將包含支持SOA的IT基礎(chǔ)設(shè)施,包括中間件等,實現(xiàn)云環(huán)境下的應(yīng)用服務(wù)化、服務(wù)構(gòu)件化、構(gòu)件平臺化、平臺虛擬化、虛擬泛在化。
大唐軟件技術(shù)專家認為, SOA作為一種面向服務(wù)的架構(gòu),是一種軟件架構(gòu)設(shè)計的模型和方法論。云計算涵蓋的范圍很廣泛,通常分為三個層次: IaaS、PaaS、SaaS。其中SaaS是按照使用者的需求提供軟件應(yīng)用服務(wù)的業(yè)務(wù)模式,SOA可發(fā)揮其在系統(tǒng)界面和接口標準化等方面的優(yōu)勢,為SaaS提供一個較好的技術(shù)平臺。SOA在應(yīng)用層面進行資源整合,云計算補充了底層硬件層面資源虛擬化和整合,兩者的理念是相似的。已經(jīng)有電信廠商提出了“SOA+云計算”模式,上層基于SOA進行應(yīng)用和服務(wù)開發(fā),底層基于云計算進行資源整合,包括數(shù)據(jù)庫,服務(wù)器,存儲,網(wǎng)絡(luò)等。
啟明軟件專家認為,SOA解決業(yè)務(wù)需求到技術(shù)實現(xiàn)的分離,使業(yè)務(wù)系統(tǒng)靈活應(yīng)對業(yè)務(wù)需求的變化。而云計算更多解決技術(shù)實現(xiàn)到IT基礎(chǔ)設(shè)施單元的分離,使軟硬件環(huán)境靈活響應(yīng)業(yè)務(wù)系統(tǒng)。SOA是構(gòu)建企業(yè)IT應(yīng)用的架構(gòu),而云計算是一種面向服務(wù)的基礎(chǔ)設(shè)置的部署架構(gòu),它采用了SOA的架構(gòu)原則,云計算是在SOA環(huán)境中部署服務(wù)的一個好方法。SOA和云計算思想基礎(chǔ)不一樣,但可以相互支持。通過SOA的ESB總線可以實現(xiàn)云計算中IaaS,PaaS和SaaS層之間的總線式集成,其次,對于云計算的PaaS它既是一個在線開發(fā)環(huán)境,也是一個在線執(zhí)行環(huán)境,而不管是對于開發(fā)和執(zhí)行,在SOA中的數(shù)據(jù)服務(wù),業(yè)務(wù)服務(wù),流程服務(wù),展現(xiàn)服務(wù)等都可以作為PaaS層在線開發(fā)時的能力單元。而這些能力單元在線進行服務(wù)編排和組裝時又可以借助SOA本身已有的流程引擎和規(guī)則引擎來完成。只是SOA中間件本身的很多能力都云化了,而不再是為單個應(yīng)用提供服務(wù)。另一方面, 于SOA平臺也需要IT硬件基礎(chǔ)設(shè)施,這些基礎(chǔ)設(shè)施可以直接使用云計算平臺IaaS層的計算能力單元和存儲能力單元,這些單元也可以服務(wù)的方式接入到ESB總線上,包括我們說的云存儲,分布式計算等能力都可以集成到ESB總線。
銳易特專家認為,云計算關(guān)注云內(nèi)的服務(wù)部署及管理,服務(wù)以托管的方式進行集中管理和維護;SOA關(guān)注的服務(wù)的標準化以及服務(wù)的松耦合,它定義了服務(wù)間交互的契約,并通過該契約來實現(xiàn)服務(wù)間的交互訪問。云計算在其發(fā)展過程中與SOA必然會產(chǎn)生交集,因為云內(nèi)的應(yīng)用需要標準化和規(guī)范化,它們需要一套完整的架構(gòu)將其整合在一起形成一個完整的服務(wù)或服務(wù)流程,同時SOA也實現(xiàn)了對已有服務(wù)粒度的重定義,這在技術(shù)上使得云內(nèi)的應(yīng)用演變成了標準的云服務(wù),并通過統(tǒng)一的服務(wù)治理策略來進行統(tǒng)一管理和維護。SOA理論技術(shù)發(fā)展到今天已經(jīng)是一套完整熟的理論,在此基礎(chǔ)上又有了諸多成功的實踐,這些都大大的推動了云計算的發(fā)展,同時云計算也深化了SOA理論的內(nèi)涵,為SOA提供了更廣闊的發(fā)展空間,其二者互為依托共同推動計算機產(chǎn)業(yè)的發(fā)展。
浪潮軟件專家認為,從產(chǎn)生的背景和原因看,SOA產(chǎn)生的原因是為解決企業(yè)存在的信息孤島和遺留系統(tǒng)這兩大問題。云計算產(chǎn)生的原因是企業(yè)的信息系統(tǒng)數(shù)據(jù)量的高速增長與數(shù)據(jù)處理能力的相對不足,還有計算資源的利用率處于不平衡的狀態(tài)。從關(guān)鍵的技術(shù)和屬性看,通過產(chǎn)生背景和原因的分析,SOA和云計算是不同的概念,但是它們卻互相聯(lián)系,又有一定的相似性。從服務(wù)角度來看,SOA實現(xiàn)了可以從多個服務(wù)提供商得到多個服務(wù)(一個服務(wù)便是一個功能模塊),并通過不同的組合機制形成自己所需的一個服務(wù);云計算實現(xiàn)了所有的資源都是服務(wù),可以從云計算提供商購買硬件服務(wù)、平臺服務(wù)、軟件服務(wù)等,把購買的資源作為云計算提供商提供的一種服務(wù)。從關(guān)鍵技術(shù)來看,SOA需要實現(xiàn)業(yè)務(wù)組件的可重用性、敏捷性、適應(yīng)改變、松耦合、基于標準;云計算則需要虛擬化技術(shù)、按需動態(tài)擴展、資源即服務(wù)的支撐。從應(yīng)用場景來看,當企業(yè)的業(yè)務(wù)需求經(jīng)常改變的時候可以考慮使用SOA;當企業(yè)對IT設(shè)施的需求經(jīng)常改變或者無法提前預(yù)知的時候可以考慮使用云計算,當有大量的批處理計算的時候也可以考慮使用云計算。從應(yīng)用的側(cè)重點來看,SOA側(cè)重于采用服務(wù)的架構(gòu)進行系統(tǒng)的設(shè)計,關(guān)注如何處理服務(wù);云計算側(cè)重于服務(wù)的提供和使用,關(guān)注如何提供服務(wù)。從商業(yè)模式來看,SOA可能會降低軟件的開發(fā)及維護的成本,商業(yè)模式是間接的,需要落地;云計算根據(jù)使用的時間(硬件)或流量(帶寬)進行收費,具有明確的商業(yè)模式。
關(guān)于云計算和SOA融合的討論目前已得到了越來越多的共識,一些融合SOA和云計算的解決方案開始出現(xiàn),為我國相關(guān)行業(yè)的信息化建設(shè)提供了更有效的支撐,也為我國云計算和SOA標準的制定提出了進一步需求。
SOA工作組分析和梳理的SOA和云計算各自的特點見下。
|
云計算 |
SOA |
提出時間 |
2001年亞馬遜提出 |
1996年Gartner提出 |
成為熱點時間(國際) |
2008年至今 |
2003年至今 |
成為熱點時間 (我國) |
2009年至今 |
自2000年左右開始,2005年之后成為熱點,2007年后進入應(yīng)用落地階段 |
產(chǎn)生原因 |
數(shù)據(jù)量的高速增長與數(shù)據(jù)處理能力的相對不足;同時計算資源的利用率處于一種不平衡的狀態(tài) |
伴隨信息化的建設(shè)深入,信息孤島問題、數(shù)據(jù)共享和業(yè)務(wù)協(xié)同需求、業(yè)務(wù)發(fā)展需要IT快速反應(yīng)等需求和問題凸顯,亟需解決 |
定位 |
IT資源共享使用的技術(shù)和應(yīng)用模式 |
IT規(guī)劃建設(shè)的重要方法和支撐技術(shù) |
關(guān)鍵點 |
所有的資源(基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)、軟件即服務(wù)(SaaS))都是服務(wù),由云計算提供商提供,可以從云計算提供商處購買IaaS、PaaS、SaaS等,把購買的資源作為云計算提供商提供的一種服務(wù) |
以“服務(wù)”作為IT系統(tǒng)建設(shè)的基本元素,可以從多個服務(wù)提供商處得到多個服務(wù),并通過不同的組合機制形成自己所需的服務(wù)。 |
特點 |
按需自服務(wù) 廣泛的網(wǎng)絡(luò)可訪問性 資源池化 快速彈性 可計量的服務(wù) |
可重用性 敏捷性 適應(yīng)改變 松耦合 自治 基于標準 |
目前階段 |
從概念炒作向應(yīng)用落地的過渡階段 |
進入了應(yīng)用落地階段 |
支持廠商 |
軟件廠商,包括獨立軟件提供商(中間件和應(yīng)用軟件)、系統(tǒng)集成商; 電信運營商; 互聯(lián)網(wǎng)廠商; 硬件提供廠商; |
主要是軟件廠商,包括獨立軟件提供商(中間件和應(yīng)用軟件)、系統(tǒng)集成商 |
作為負責SOA和云計算技術(shù)標準研制的組織,SOA標準工作組正在積極根據(jù)當前技術(shù)和應(yīng)用的發(fā)展趨勢,組織“產(chǎn)學(xué)研用”單位開展相關(guān)SOA和云計算標準的研制和推廣,協(xié)助業(yè)界來澄清SOA和云計算的各自適用范圍、相互關(guān)系,當前正在編制的SOA標準中也考慮了對云計算技術(shù)和應(yīng)用需求的支撐,引導(dǎo)和規(guī)范SOA和云計算技術(shù)在實際應(yīng)用中的實施。