天天看點

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,也許會成燎原之勢。

繼續閱讀