WebService是“良藥”還是“毒藥”

 時下,IT界最流行的話題莫過於SOA,而SOA領域裏我們用到的最廣泛的技術就是webservice,一方面我們熱衷於使用webserivce來解決企業應用中面臨異構系統的應用集成問題,它的問世,天生爲集成服務,成爲解決異構系統應用集成的首選“良藥”。另一方面,良藥並非“神藥”,當我們把它神化之後,錯誤的以爲構建SOA就必需要使用WebService來構建服務,在過多的使用webservice後,發現“良藥服用過量”,會出現“不良反應”,使企業的應用又面臨嚴重的性能瓶頸。對於它的認識與使用,我們需做何選擇呢?

  SOA的理解

  SOA架構的本質,並不是說把你的應用或者組件包裝成Service就是SOA,而是說,你需要基於一種構架,能夠讓你的產品能夠更適應“業務敏捷性(Business Agility)”。而體現SOA的重要特性在於鬆耦合、可重用、可視化、靈活性,所以只有在這幾個環節做到之後才能使企業應用真正置身於SOA的大環境之中。

  從SOA的面向角度來說分爲:面向企業異構系統和麪向企業內部業務系統兩個方面,前者的角度稱爲Inter-SOA,後者稱之爲Intra-SOA。而企業在構建SOA時,並非單純是從解決企業異構系統的角度來出發,也要考慮到應用的升級、擴展、企業新系統的建設,僅以一種修修補補的方式來適應因傳統技術構建的業務系統,採用intra-SOA來適應企業的快速變化並非長久之策,只能作爲當前不得已而選擇的一種手段。

(圖一)Intra-SOA和Inter-SOA架構



  Webservice的價值觀

  WebService很好的解決了基於不同平臺,基於不同語言開發的應用系統間的集成問題,成爲解決Inter-SOA,最通用最好的技術手段。但是,如果良藥亂用,只要談到SOA,就要用WebService,那麼“良藥”服用過量,也會中毒。在構建企業的應用、或新建系統的建設時,都考慮將業務封裝成webservice的方式以適應業務的變化,這並非合理的選擇。

  在儒家文化的一種理念價值觀就是“中庸之道,過猶不及”。對待Webservice的態度,我們面臨的是同樣的選擇。

  而有沒有一種技術既能適應用外環境的變化,也能適應用內部系統的變化呢?那就需要intra-SOA和inter-SOA內外配合,前者從業務的角度來解決因業務的需求變化,後者從系統層面解決跨系統間業務與數據的整合。intra-SOA和inter-SOA “內外兼修”才能稱之爲完整的SOA解決方案。

  TmaxSoft的SOA之道

  目前TmaxSoft提供了基於intra-SOA的ProFrame用來構建企來內部的SOA,同時也提供了基於inter-SOA的ESB產品ProBus來解決接口層異構系統EAI、workflow和多渠道接入的功能,從而提供由內到外的一整套SOA企業級完整解決方案。

  TmaxSoft把整個SOA框架分爲四個層次:用戶界面層(UI)、接口層(Interface)、業務層(Business)和數據層(Data),其中在接口層提供基於Inter-SOA的解決方案、在業務層提供基於Intra-SOA的解決方案。

(圖二)Tmaxsoft企業級完整SOA解決方案

 

ProFrame是定義生成實現並重用SOA服務的Business Framework的核心解決方案。ProFrame最大化了基於SOA的下一代系統所要求的靈活性,重複性及安全性。 ProFrame的“Enterprise ModuleBus構架”是運用Gartner提出的“Microflows”概念,實現“Intra-SOA”的TmaxSoft的核心技術。通過ESB消除了系統與服務間的相互依賴性,提高了服務的可重用性。類似,通過EMB消除了組件或模塊間的相互依賴性,從而提高了各模塊的重用性。通過組合服務接口、單位模塊,以及通過ESB構建的模塊流程,構建了真正的服務組件。EMB的優點不僅在於可重用性,而且實現了服務的業務邏輯的可視性。因此用戶不懂編程,也可以參與到設計與開發工作當中。其中ProFrame的核心就是EMB (Enterprise Module Bus),它不同於ESB(Enterprise Service Bus),但卻有着異曲同工之妙,它通過把企業的業務邏輯按照Business Module和Service Module的方式,在ProFrame平臺上進行開發與定義,通過EMB來統一管理Service Module,通過組合已有的模塊產生各種新的服務,構建一個內部的SOA環境。構建的這些Business Module和Service Module可以複用和重新組合成新的服務,從而在企業內部形成一個intra-SOA的鬆耦合、可重用、高性能的SOA環境。

(圖三)基於鬆耦合架的企業模塊總線(Enterprise Module Bus)

 

        用EMB創建的服務由鬆耦合模塊組成,保證了每個模塊的獨立性和系統結構的靈活性。鬆耦合組件提高了組件的重用性和系統的可維護性。

  ProBus是TmaxSoft的Inter-SOA中ESB解決方案,是TmaxSoft 對服務、應用、資源以及分散的服務組件進行連接或整合,提供可靠通信的ESB解決方案。它解決系統之間的互聯、消息傳遞、轉換、路由、web服務支持、Flow的控制等。ProBus 以高性能的引擎結構保障穩定的服務,可以與BPM、MCI進行連動,靈活支持多種適配器,是真正實現SOA 2.0的ESB解決方案。

  我們聲稱要構建SOA,於是新建的系統要遵循一系列的標準,要支持Webservice,很多原來可以直接以內部模塊的方式非常高效的構建系統,現在爲了SOA,爲了支持異構系統的調用,把它封裝成了Webservice,居不知,這正是噩夢的開始。Webservice基於SOAP協議來進行通信,它傳輸數據的格式爲XML,而每次調用Webservice時都需要傳輸XML格式的數據,對XML進行解析,這些都是出現性能瓶頸的罪魁禍首。

  總結

  當我們需要構建複雜而高效的SOA環境時,Webservice的通訊方式和笨拙的數據交換格式而引起的性能問題,註定無法讓它在企業佔據核心的地位,而TmaxSoft ProFrame提供了一套高效的基於SOA的Framework,基於Proframe來構建企業的核心應用,而WebService作爲企業SOA解決方案中inter-SOA的首選技術。

  不論是基於inter-SOA還是intra-SOA,實施SOA的目的是一樣的,那就是實現以業務爲核心,提高IT系統擴展的靈活性以及IT資產的複用,達到業務靈活組合的狀態。而WebService則是作爲inter-SOA中首選的技術,而非解決SOA的唯一途徑

 

 

2008-07-11來源:中國IT實驗室

 

 

 

發佈了32 篇原創文章 · 獲贊 6 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章