SOA和SaaS,必須區(qū)分開(kāi)。SOA和SaaS的結(jié)合,可能會(huì)成為一種趨勢(shì)。SOA在中國(guó),還未SaaS化。說(shuō)到SOA,不能不說(shuō)ESB。ESB是在SOA體系結(jié)構(gòu)的框架中加入的一個(gè)新的軟件對(duì)象。
現(xiàn)在已經(jīng)出現(xiàn)了一些通過(guò)互聯(lián)網(wǎng)提供SOA服務(wù)的需求。美國(guó)一家ESB供應(yīng)商Cape Clear的老板Dana Gardner曾對(duì)媒體談過(guò)將SOA、ESB作為一個(gè)集成的服務(wù)提供的可能性。之后不久,他的公司就通過(guò)云計(jì)算為用戶提供ESB服務(wù)。
Dana Gardner說(shuō),通過(guò)云計(jì)算提供的SOA工具和平臺(tái)對(duì)于中小企業(yè)來(lái)說(shuō)應(yīng)該有很大的吸引力,因?yàn)椴渴餝OA的工程對(duì)中小企業(yè)來(lái)說(shuō),需要太多的時(shí)間和專(zhuān)業(yè)技能,而且還需要后期的維護(hù),讓中小企業(yè)感覺(jué)負(fù)擔(dān)太重。所以,通過(guò)“云”提供SOA的服務(wù),應(yīng)該是不錯(cuò)的解決辦法。
國(guó)外媒體把這一趨勢(shì)稱(chēng)為“SOA gets SaaSy”,我們姑且翻譯成“SOA的SaaS化”,即通過(guò)SaaS的模式提供SOA服務(wù)。
SOA和SaaS,一度被喻為軟件圈內(nèi)的大、小S。她們有時(shí)被稱(chēng)作姐妹,有時(shí)被看作歡喜冤家,有時(shí)看似貌合神離,有時(shí)又不得不走到一起。
SOA和SaaS的概念,必須區(qū)分開(kāi)來(lái)。SOA和SaaS的結(jié)合,可能會(huì)成為一種趨勢(shì)。SOA在中國(guó),好像還未“SaaS化”。
不要混淆SOA和SaaS 相關(guān)概念解析
SOA,Service Oriented ArchITecture,面向服務(wù)的架構(gòu);SaaS,Software as a Service,軟件即服務(wù)。如果把SOA和SaaS稱(chēng)作一對(duì)姐妹,其中的血緣恐怕就是Service,服務(wù)。雖然都和服務(wù)有關(guān),但內(nèi)涵大相徑庭。
從業(yè)務(wù)角度理解SOA,它是針對(duì)企業(yè)的一些舊的軟件體系重新利用,進(jìn)行整合,構(gòu)建一套松散耦合的軟件系統(tǒng),同時(shí)也能方便的結(jié)合新的軟件共同服務(wù)于企業(yè)的一個(gè)體系。使系統(tǒng)能夠隨著業(yè)務(wù)的變化更加靈活適用。
從技術(shù)角度理解SOA,SOA實(shí)際上是系統(tǒng)分析設(shè)計(jì)思想的進(jìn)一步發(fā)展,它的思想超出了對(duì)象的概念,一切都以服務(wù)為核心,而服務(wù)由組件構(gòu)成,組件是若干操作的集合,操作對(duì)應(yīng)具體實(shí)現(xiàn)的程序函數(shù)。服務(wù)是通過(guò)對(duì)業(yè)務(wù)過(guò)程模型的分析而識(shí)別出來(lái)的。每個(gè)服務(wù)能夠?qū)崿F(xiàn)若干功能,這些功能由組件而不是操作來(lái)實(shí)現(xiàn)。組件是操作的調(diào)用集合,是服務(wù)功能實(shí)現(xiàn)的最小單位,而不是程序?qū)崿F(xiàn)的最小單位。
在具體實(shí)現(xiàn)上,只要能提供服務(wù)的技術(shù)都可以實(shí)現(xiàn)SOA思想,如Web Service、RMI、Remoting、CORBA、JMS、MQ、甚至JSP、SERVLET等,另外還可以通過(guò)分布式事務(wù)處理和分布式軟件狀態(tài)管理來(lái)進(jìn)一步地改善它。但是如果想讓這些服務(wù)能夠更廣泛的被使用,或被大家認(rèn)可,在互聯(lián)網(wǎng)上發(fā)布,那么就要遵循一定的規(guī)則標(biāo)準(zhǔn)了。這一類(lèi)的標(biāo)準(zhǔn)有SOAP、Java API for XML-based RPC (JAX-RPC)、WSDL 和 WS-* 規(guī)范等等。另外它的實(shí)現(xiàn)還需要安全性、策略管理、可靠消息傳遞以及會(huì)計(jì)系統(tǒng)的支持。
直觀地理解,可以把SOA看做是模塊化地組件,每個(gè)模塊實(shí)現(xiàn)獨(dú)立功能,不同的拼合提供不同的服務(wù)。利用SOA,把一團(tuán)亂麻龐大無(wú)章的系統(tǒng)規(guī)整成一個(gè)一個(gè)的模塊,方便地實(shí)現(xiàn)IT的最大利用率,并提高重用度。普元軟件曾拿靈活變換而能夠千變?nèi)f化地拼接的樂(lè)高玩具做比喻,可見(jiàn)一斑。
說(shuō)到SOA,不能不說(shuō)說(shuō)ESB。ESB是在SOA體系結(jié)構(gòu)的框架中加入的一個(gè)新的軟件對(duì)象。這個(gè)對(duì)象就是企業(yè)服務(wù)總線(EntERPrise Service Bus,ESB),它使用許多可能的消息傳遞協(xié)議來(lái)負(fù)責(zé)適當(dāng)?shù)目刂屏魃踔吝可能是服務(wù)之間所有消息的傳輸。雖然ESB并不是絕對(duì)必需的,但它卻是在SOA中正確管理業(yè)務(wù)流程至關(guān)重要的組件。ESB本身可以是單個(gè)引擎,甚至還可以是由許多同級(jí)和下級(jí)ESB組成的分布式系統(tǒng),這些 ESB一起工作,以保持SOA系統(tǒng)的運(yùn)行。在概念上,它是從早期比如消息隊(duì)列和分布式事務(wù)計(jì)算這些計(jì)算機(jī)科學(xué)概念所建立的存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制發(fā)展而來(lái)的。
與SOA相關(guān)的,還有SCA與SOD。隨著面向服務(wù)的體系結(jié)構(gòu)不斷發(fā)展和成熟,開(kāi)發(fā)人員和架構(gòu)師將面臨不斷增多的編程接口、傳輸協(xié)議、數(shù)據(jù)源和其他細(xì)節(jié)內(nèi)容。服務(wù)組件體系結(jié)構(gòu)(SCA)和服務(wù)數(shù)據(jù)對(duì)象(SDO)可以為各種服務(wù)和數(shù)據(jù)源提供單一編程接口。
SaaS是一種軟件服務(wù)提供的模式,是一種將軟件部署為托管服務(wù)并通過(guò) Internet 進(jìn)行訪問(wèn)的模式。SaaS作為一種有效的軟件交付機(jī)制,其出現(xiàn)為 IT 部門(mén)創(chuàng)造了機(jī)會(huì),使他們可以將工作重心從部署和支持應(yīng)用程序轉(zhuǎn)移到管理這些應(yīng)用程序所提供的服務(wù)上來(lái)。不僅可以通過(guò)Portal為用戶提供服務(wù),還可以通過(guò)其它方式,如API、WSDL等提供服務(wù)。
SaaS方便、節(jié)省成本,受到很多企業(yè),尤其是中小企業(yè)的青睞,但SaaS的權(quán)限控制、安全問(wèn)題可能讓用戶有所顧忌。
SOA和SaaS的區(qū)別,大概可以概括為以下幾點(diǎn)。
1. SOA包括了關(guān)于軟件是如何被架構(gòu)起來(lái)的東西,而SaaS是關(guān)于軟件是如何被應(yīng)用的。
2. 在SaaS當(dāng)中,應(yīng)用程序可以像任何服務(wù)一樣被傳遞,就像你家中電話的語(yǔ)音一樣,看起來(lái)似乎就是為你的需求量體裁衣得到的。而SOA的定義和這個(gè)無(wú)絲毫的聯(lián)系。SOA支持的服務(wù),都是些離散的可以再使用的事務(wù)處理,這些事務(wù)處理合起來(lái)就組成了一個(gè)業(yè)務(wù)流程,是從基本的系統(tǒng)中提取出來(lái)的抽象代碼。
3. SOA是一個(gè)框架的方法,而SaaS是一種傳遞模型。
4. 通過(guò)SaaS傳遞Web服務(wù)并不需要SOA。
5. SaaS主要是指一個(gè)軟件企業(yè)向其它企業(yè)提供軟件服務(wù)。而SOA一般是企業(yè)內(nèi)部搭建系統(tǒng)的基礎(chǔ)。SaaS注重的是提供服務(wù)的思維。而SOA注重的是實(shí)現(xiàn)服務(wù)的思維。
SOA和SaaS會(huì)結(jié)合嗎?
談到SaaS,就不能不提馬克·貝尼奧夫。貝尼奧夫曾是甲骨文公司最年輕得志的副總裁,在一次甲骨文內(nèi)部討論中,貝尼奧夫了解到網(wǎng)絡(luò)服務(wù)取代軟件包的可能性,憑著對(duì)軟件產(chǎn)業(yè)的深入了解,貝尼奧夫覺(jué)得,這個(gè)模式擁有足夠的威力,足以變革整個(gè)軟件產(chǎn)業(yè)。在1999年3月,貝尼奧夫創(chuàng)立了為客戶提供按需供應(yīng)和SaaS的Salesforce公司,并提出了“終結(jié)軟件”的思想。
SaaS的核心是在線提供軟件服務(wù),能夠省去用戶配置服務(wù)器、購(gòu)買(mǎi)軟件產(chǎn)品等所要支付的高額IT費(fèi)用,而且不用再像應(yīng)用套裝軟件那樣進(jìn)行軟件升級(jí)和后續(xù)投入。SaaS支付模式的這些優(yōu)勢(shì),給全球軟件供應(yīng)商帶來(lái)無(wú)限的想象空間。當(dāng)SAP、微軟和甲骨文等IT巨頭都把按需軟件作為未來(lái)發(fā)展方向時(shí),SaaS市場(chǎng)變得異;钴S。盡管貝尼奧夫期望的“終結(jié)軟件”這一局面還沒(méi)有真正到來(lái),但整個(gè)軟件產(chǎn)業(yè)的風(fēng)向已發(fā)生改變。
說(shuō)到SOA和SaaS的結(jié)合,微軟的“S+S”戰(zhàn)略應(yīng)該是最好的例證。幾年以來(lái),微軟一直在針對(duì)“S+S”進(jìn)行研究和思索,發(fā)現(xiàn)在實(shí)際當(dāng)中,用戶并不是只需要軟件或者只需要服務(wù),而往往是對(duì)兩者都有欲罷不能的需求,因此“S+S”的核心要義在于,并不是“軟件”或“服務(wù)”,而是“軟件”和“服務(wù)”——你不必在軟件和服務(wù)當(dāng)中選擇,你可以也應(yīng)該兩者兼?zhèn)。軟件與服務(wù)在“S+S”中扮演了互補(bǔ)的角色。
通過(guò)SaaS的模式提供SOA的服務(wù),看起來(lái)是一個(gè)不錯(cuò)的想法,SaaS最受到中小企業(yè)的歡迎,節(jié)省人力成本、知識(shí)成本、設(shè)施成本,何樂(lè)而不為。但大型企業(yè),大多持觀望態(tài)度。大型企業(yè)有實(shí)力在IT方面做出投資,他們更加在乎業(yè)務(wù)的安全性、可控性,他們不放心將自己的核心業(yè)務(wù)放在他人的承載上。中石化相關(guān)人士就曾經(jīng)表示,把核心業(yè)務(wù)運(yùn)營(yíng)系統(tǒng)放到托管商那里,簡(jiǎn)直可以用“瘋狂和可怕”來(lái)形容。作為關(guān)系到國(guó)計(jì)民生的重點(diǎn)企業(yè),在安全、技術(shù)標(biāo)準(zhǔn)、法規(guī)遵從等方面沒(méi)有完善之前,根本不會(huì)考慮采用SaaS模式。但他們也承認(rèn)SaaS的發(fā)展趨勢(shì),認(rèn)為在未來(lái)10年,這個(gè)應(yīng)用應(yīng)該會(huì)發(fā)生。
SOA+SaaS在中國(guó)生存現(xiàn)狀
目前中國(guó)的IT現(xiàn)狀,是否會(huì)出現(xiàn)SOA的SaaS化?
面向構(gòu)件的中間件廠商普元軟件的副總裁程朝暉先生認(rèn)為,目前,在中國(guó),SOA的SaaS化還沒(méi)有見(jiàn)到明確的客戶需求和支撐的商業(yè)模式,只在一些特殊的公司有此類(lèi)需求和可能,大家更多處于該技術(shù)的早期試驗(yàn)階段。Amazon推出的EC2就在于推進(jìn)這方面的應(yīng)用,對(duì)于昂貴的機(jī)器資源可以通過(guò)租賃計(jì)算能力和基礎(chǔ)架構(gòu)設(shè)施來(lái)降低企業(yè)的服務(wù)部署代價(jià)。應(yīng)該說(shuō)SaaS是繼2000年初的ASP模式的一次提升,部署的單元由應(yīng)用系統(tǒng)降到了更為小顆粒、更高復(fù)用度和靈活度的服務(wù)上。這項(xiàng)技術(shù)、商業(yè)模式和客戶需求在中國(guó)目前還有待進(jìn)一步的探索,不宜輕易跟風(fēng)。普元目前還沒(méi)有考慮提供這樣的模式和平臺(tái)供社會(huì)租用,不過(guò)普元已經(jīng)和一些有SaaS考慮的大企業(yè)在進(jìn)行相應(yīng)的技術(shù)交流。
SaaS應(yīng)該是中小企業(yè)非常歡迎的一種模式,但是前幾年的ASP模式在中國(guó)沒(méi)有很好的應(yīng)用和廣泛推廣,現(xiàn)在很熱門(mén)的SaaS確實(shí)還需要在技術(shù)方案、業(yè)務(wù)需求和商業(yè)模式上有更多的嘗試和驗(yàn)證。對(duì)于中小企業(yè)的信息化,程先生認(rèn)為,同樣需要一個(gè)能夠幫助他們屏蔽底層的技術(shù)細(xì)節(jié)卻又能跟上技術(shù)發(fā)展的步伐,并且能夠用更為低成本的方式,更快速和更高質(zhì)量地開(kāi)發(fā)、部署和管理這些中小企業(yè)所需的應(yīng)用服務(wù)。普元的EOS同樣是他們的最好的平臺(tái)選擇。另外,普元的EOS社區(qū)版和EOS專(zhuān)業(yè)版產(chǎn)品本來(lái)就是專(zhuān)為中小企業(yè)特定打造的商業(yè)平臺(tái)。
東方通首席軟件設(shè)計(jì)師朱律瑋先生特別向筆者強(qiáng)調(diào),用戶首先必須能夠區(qū)分,SOA和SaaS中的服務(wù)是兩個(gè)概念,SOA中的服務(wù)是指業(yè)務(wù)服務(wù),由IT技術(shù)來(lái)實(shí)現(xiàn);SaaS中的服務(wù)是指運(yùn)營(yíng)服務(wù),是一種盈利模式。SaaS需要一個(gè)技術(shù)平臺(tái),SOA相關(guān)技術(shù)可以成為這個(gè)技術(shù)平臺(tái)的一個(gè)重要組成部分,提供服務(wù)管理、調(diào)度和運(yùn)維管理,可以更靈活構(gòu)建SaaS應(yīng)用?梢圆捎肧OA思想和技術(shù)構(gòu)建應(yīng)用系統(tǒng),這些系統(tǒng)可以實(shí)現(xiàn)成為SaaS模式。東方通目前著重提供中間件技術(shù)產(chǎn)品,其中很重要的方面是提供SOA的基礎(chǔ)設(shè)施產(chǎn)品,支持SOA系統(tǒng)的開(kāi)發(fā),運(yùn)行,和運(yùn)維管理。東方通提供的SOA產(chǎn)品可以成為SaaS技術(shù)平臺(tái)的一個(gè)部分,通過(guò)間接方式支持SOA和SaaS。
東方通已經(jīng)認(rèn)識(shí)和感受到了中小企業(yè)對(duì)SaaS的需求和對(duì)SOA的需求,朱先生認(rèn)為,中小企業(yè)需要產(chǎn)品功能穩(wěn)定、簡(jiǎn)單易用,大部分中小企業(yè)用戶不需要過(guò)于復(fù)雜的系統(tǒng),東方通的產(chǎn)品充分考慮到中小企業(yè)用戶的需求,盡量為用戶提供更加適用的產(chǎn)品,滿足用戶實(shí)際應(yīng)用需求。
小結(jié)
無(wú)論是SOA還是SaaS,最終的和最大的驅(qū)動(dòng)力還是市場(chǎng)的需求。雖然中小企業(yè)占到99%以上,但多數(shù)SOA廠商的收入來(lái)源主要還是來(lái)自大型企業(yè)、行業(yè)用戶。很多技術(shù)趨勢(shì)的發(fā)展,很多時(shí)候都可以用經(jīng)濟(jì)學(xué)的原理加以解釋和預(yù)測(cè)。雖然在中國(guó),通過(guò)SaaS的模式提供SOA服務(wù)還不成氣候,但已經(jīng)冒出了星星之火。SOA在逐漸地、悄悄地,gets SaaSy,也許會(huì)成燎原之勢(shì)。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:SOA和SaaS中國(guó)生存現(xiàn)狀解析