SOA和SaaS的區別

據國外媒體報道,現在已經出現了一些通過互聯網提供SOA服務的需求。美國一家ESB供應商Cape Clear的老闆Dana Gardner曾對媒體談過將SOA、ESB作爲一個集成的服務提供的可能性。之後不久,他的公司就通過雲計算爲用戶提供ESB服務。

  Dana Gardner說,通過雲計算提供的SOA工具和平臺對於中小企業來說應該有很大的吸引力,因爲部署SOA的工程對中小企業來說,需要太多的時間和專業技能,而且還需要後期的維護,讓中小企業感覺負擔太重。所以,通過“雲”提供SOA的服務,應該是不錯的解決辦法。

  國外媒體把這一趨勢稱爲“SOA gets SaaSy”,我們姑且翻譯成“SOA的SaaS化”,即通過SaaS的模式提供SOA服務。

  SOA和SaaS,一度被喻爲軟件圈內的大、小S。她們有時被稱作姐妹,有時被看作歡喜冤家,有時看似貌合神離,有時又不得不走到一起。

  SOA和SaaS的概念,必須區分開來。SOA和SaaS的結合,可能會成爲一種趨勢。SOA在中國,好像還未“SaaS化”。

  不要混淆SOA和SaaS

  SOA,Service Oriented Architecture,面向服務的架構; SaaS,Software as a Service,軟件即服務。如果把SOA和SaaS稱作一對姐妹,其中的血緣恐怕就是Service,服務。雖然都和服務有關,但內涵大相徑庭。

  從業務角度理解SOA,它是針對企業的一些舊的軟件體系重新利用,進行整合,構建一套鬆散耦合的軟件系統,同時也能方便的結合新的軟件共同服務於企業的一個體系。使系統能夠隨着業務的變化更加靈活適用。

  從技術角度理解SOA,SOA實際上是系統分析設計思想的進一步發展,它的思想超出了對象的概念,一切都以服務爲核心,而服務由組件構成,組件是若干操作的集合,操作對應具體實現的程序函數。服務是通過對業務過程模型的分析而識別出來的。每個服務能夠實現若干功能,這些功能由組件而不是操作來實現。組件是操作的調用集合,是服務功能實現的最小單位,而不是程序實現的最小單位。

  在具體實現上,只要能提供服務的技術都可以實現SOA思想,如Web Service、RMI、Remoting、CORBA、JMS、MQ、甚至JSP、SERVLET等,另外還可以通過分佈式事務處理和分佈式軟件狀態管理來進一步地改善它。但是如果想讓這些服務能夠更廣泛的被使用,或被大家認可,在互聯網上發佈,那麼就要遵循一定的規則標準了。這一類的標準有SOAP、 Java API for XML-based RPC (JAX-RPC)、WSDL 和 WS-* 規範等等。另外它的實現還需要安全性、策略管理、可靠消息傳遞以及會計系統的支持。

  直觀地理解,可以把SOA看做是模塊化地組件,每個模塊實現獨立功能,不同的拼合提供不同的服務。利用SOA,把一團亂麻龐大無章的系統規整成一個一個的模塊,方便地實現IT的最大利用率,並提高重用度。普元軟件曾拿靈活變換而能夠千變萬化地拼接的樂高玩具做比喻,可見一斑。

  說到SOA,不能不說說ESB。ESB是在SOA體系結構的框架中加入的一個新的軟件對象。這個對象就是企業服務總線(Enterprise Service Bus,ESB),它使用許多可能的消息傳遞協議來負責適當的控制流甚至還可能是服務之間所有消息的傳輸。雖然ESB並不是絕對必需的,但它卻是在SOA 中正確管理業務流程至關重要的組件。ESB本身可以是單個引擎,甚至還可以是由許多同級和下級ESB組成的分佈式系統,這些 ESB一起工作,以保持SOA系統的運行。在概念上,它是從早期比如消息隊列和分佈式事務計算這些計算機科學概念所建立的存儲轉發機制發展而來的。

  與SOA相關的,還有SCA與SOD。隨着面向服務的體系結構不斷髮展和成熟,開發人員和架構師將面臨不斷增多的編程接口、傳輸協議、數據源和其他細節內容。服務組件體系結構(SCA)和服務數據對象(SDO)可以爲各種服務和數據源提供單一編程接口。

  SaaS是一種軟件服務提供的模式,是一種將軟件部署爲託管服務並通過 Internet 進行訪問的模式。SaaS作爲一種有效的軟件交付機制,其出現爲 IT 部門創造了機會,使他們可以將工作重心從部署和支持應用程序轉移到管理這些應用程序所提供的服務上來。不僅可以通過Portal爲用戶提供服務,還可以通過其它方式,如API、WSDL等提供服務。

  SaaS方便、節省成本,受到很多企業,尤其是中小企業的青睞,但SaaS的權限控制、安全問題可能讓用戶有所顧忌。

  SOA和SaaS的區別,大概可以概括爲以下幾點:

  1. SOA包括了關於軟件是如何被架構起來的東西,而SaaS是關於軟件是如何被應用的。

  2. 在SaaS當中,應用程序可以像任何服務一樣被傳遞,就像你家中電話的語音一樣,看起來似乎就是爲你的需求量體裁衣得到的。而SOA的定義和這個無絲毫的聯繫。SOA支持的服務,都是些離散的可以再使用的事務處理,這些事務處理合起來就組成了一個業務流程,是從基本的系統中提取出來的抽象代碼。

  3. SOA是一個框架的方法,而SaaS是一種傳遞模型。

  4. 通過SaaS傳遞Web服務並不需要SOA。

  5. SaaS主要是指一個軟件企業向其它企業提供軟件服務。而SOA一般是企業內部搭建系統的基礎。SaaS注重的是提供服務的思維。而SOA注重的是實現服務的思維。

  SOA和SaaS會結合嗎?

  談到SaaS,就不能不提馬克·貝尼奧夫。貝尼奧夫曾是甲骨文公司最年輕得志的副總裁,在一次甲骨文內部討論中,貝尼奧夫瞭解到網絡服務取代軟件包的可能性,憑着對軟件產業的深入瞭解,貝尼奧夫覺得,這個模式擁有足夠的威力,足以變革整個軟件產業。在1999年3月,貝尼奧夫創立了爲客戶提供按需供應和 SaaS的Salesforce公司,並提出了“終結軟件”的思想。

  SaaS的核心是在線提供軟件服務,能夠省去用戶配置服務器、購買軟件產品等所要支付的高額IT費用,而且不用再像應用套裝軟件那樣進行軟件升級和後續投入。SaaS支付模式的這些優勢,給全球軟件供應商帶來無限的想象空間。當SAP、微軟和甲骨文等IT巨頭都把按需軟件作爲未來發展方向時,SaaS市場變得異常活躍。儘管貝尼奧夫期望的“終結軟件”這一局面還沒有真正到來,但整個軟件產業的風向已發生改變。

  在最新發布的《軟件業的下一個十年——中國軟件運營服務(SaaS)市場發展趨勢研究報告》中指出, 2006 年中國SaaS產業的規模爲68億元,2011年將突破400億元,達到406億元,5年的複合增長率將達到43%。SaaS是未來10年軟件產業發展的新方向。

  說到SOA和SaaS的結合,微軟的“S+S”戰略應該是最好的例證。幾年以來,微軟一直在針對“S+S”進行研究和思索,發現在實際當中,用戶並不是只需要軟件或者只需要服務,而往往是對兩者都有欲罷不能的需求,因此“S+S”的核心要義在於,並不是“軟件”或“服務”,而是“軟件”和“服務”——你不必在軟件和服務當中選擇,你可以也應該兩者兼備。軟件與服務在“S+S”中扮演了互補的角色。

  通過 SaaS的模式提供SOA的服務,看起來是一個不錯的想法,SaaS最受到中小企業的歡迎,節省人力成本、知識成本、設施成本,何樂而不爲。但大型企業,大多持觀望態度。大型企業有實力在IT方面做出投資,他們更加在乎業務的安全性、可控性,他們不放心將自己的核心業務放在他人的承載上。中石化相關人士就曾經表示,把核心業務運營系統放到託管商那裏,簡直可以用“瘋狂和可怕”來形容。作爲關係到國計民生的重點企業,在安全、技術標準、法規遵從等方面沒有完善之前,根本不會考慮採用SaaS模式。但他們也承認SaaS的發展趨勢,認爲在未來10年,這個應用應該會發生。

  SOA+SaaS在中國生存現狀

  目前中國的IT現狀,是否會出現SOA的SaaS化?

  面向構件的中間件廠商普元軟件的副總裁程朝暉先生認爲,目前,在中國,SOA的SaaS化還沒有見到明確的客戶需求和支撐的商業模式,只在一些特殊的公司有此類需求和可能,大家更多處於該技術的早期試驗階段。Amazon推出的EC2就在於推進這方面的應用,對於昂貴的機器資源可以通過租賃計算能力和基礎架構設施來降低企業的服務部署代價。應該說SaaS是繼2000年初的ASP模式的一次提升,部署的單元由應用系統降到了更爲小顆粒、更高複用度和靈活度的服務上。這項技術、商業模式和客戶需求在中國目前還有待進一步的探索,不宜輕易跟風。普元目前還沒有考慮提供這樣的模式和平臺供社會租用,不過普元已經和一些有SaaS考慮的大企業在進行相應的技術交流。

  SaaS應該是中小企業非常歡迎的一種模式,但是前幾年的ASP模式在中國沒有很好的應用和廣泛推廣,現在很熱門的SaaS確實還需要在技術方案、業務需求和商業模式上有更多的嘗試和驗證。對於中小企業的信息化,程先生認爲,同樣需要一個能夠幫助他們屏蔽底層的技術細節卻又能跟上技術發展的步伐,並且能夠用更爲低成本的方式,更快速和更高質量地開發、部署和管理這些中小企業所需的應用服務。普元的EOS同樣是他們的最好的平臺選擇。另外,普元的EOS社區版和EOS專業版產品本來就是專爲中小企業特定打造的商業平臺。

  東方通首席軟件設計師朱律瑋先生特別向筆者強調,用戶首先必須能夠區分,SOA和SaaS中的服務是兩個概念,SOA中的服務是指業務服務,由IT技術來實現; SaaS中的服務是指運營服務,是一種盈利模式。SaaS需要一個技術平臺,SOA相關技術可以成爲這個技術平臺的一個重要組成部分,提供服務管理、調度和運維管理,可以更靈活構建SaaS應用。可以採用SOA思想和技術構建應用系統,這些系統可以實現成爲SaaS模式。東方通目前着重提供中間件技術產品,其中很重要的方面是提供SOA的基礎設施產品,支持SOA系統的開發,運行,和運維管理。東方通提供的SOA產品可以成爲SaaS技術平臺的一個部分,通過間接方式支持SOA和SaaS。

  東方通已經認識和感受到了中小企業對SaaS的需求和對SOA的需求,朱先生認爲,中小企業需要產品功能穩定、簡單易用,大部分中小企業用戶不需要過於複雜的系統,東方通的產品充分考慮到中小企業用戶的需求,儘量爲用戶提供更加適用的產品,滿足用戶實際應用需求。

  小結

  無論是SOA還是SaaS,最終的和最大的驅動力還是市場的需求。雖然中小企業佔到99%以上,但多數SOA廠商的收入來源主要還是來自大型企業、行業用戶。很多技術趨勢的發展,很多時候都可以用經濟學的原理加以解釋和預測。雖然在中國,通過SaaS的模式提供SOA服務還不成氣候,但已經冒出了星星之火。SOA在逐漸地、悄悄地,gets SaaSy,也許會成燎原之勢。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/andycpp/archive/2008/08/29/2847077.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章