分布式SOA漸成大氣 中間件將被終結?
2007-8-21 11:27:00 來源:物流天下 編輯:56885 關注度:摘要:... ...
在SOA(面向服務的架構)的浪潮中,廠商們都積極地重新調整自身已有的產品組合。也都會借此機會大張旗鼓地宣傳他們的技術和產品是最適合用戶的。
在IBM喊出“軟件即中間件”的口號時,幾乎所有中間件廠商都在借助SOA實現了發展和跨越,并被業內用戶廣泛認識,不過就在這個時候,一些意外出現了……
分布式SOA姿態強硬
在SOA被炒得火熱的時候,大家對SOA提出的問題卻越來越多,例如SOA如何保證服務質量?SOA如何保證服務安全性?SOA如何進行綜合治理?在這個時候,IONA公司開始推廣一種分布式SOA的概念。
但目前最常見的SOA方法是基于平臺的集成方法。這個平臺類似于SOA集成服務器,它采用多種集成技術,為其他有需要的應用和服務提供可重用的業務服務。大多數廠商提供的這個平臺以企業服務總線的形式出現,也有一些廠商采用其他形式,比如圍繞BPM進行業務流程集成。
IONA公司大中國區總裁薛志勇先生表示,當前企業和供應商之間的邊界變得越來越模糊,企業和業務的價值鏈將越來越呈現出分布式的特點,以分布式狀態存在的信息將成為企業的核心資產。
從概念上來講,SOA與生俱來就應該是分布式的。在部署和使用可共享和可重復使用的功能和服務方面,分布式SOA架構是一種簡單易行的途徑。SOA的目的就是要變革IT系統的構建方式,由原來建立專有的單一應用變為建立更為高級和整合的應用,從而充分利用已有的、可以共享和重復使用的功能和服務。
互聯網就是迄今為止規模最大的分布式應用,分布式SOA架構具備互聯網的這種分布式特性。當用戶使用瀏覽器點擊URL鏈接時,其請求并不是通過安裝在服務器或Hub的中央控制程序來路由,而是由瀏覽器直接傳遞到請求頁面所在的網絡服務器。
這種方法非常適合互聯網,同樣也非常適合企業的SOA架構。由于請求不需要通過Hub或中央服務器,因此互聯網的每個端點可以自由更新而不致影響客戶端,也不會影響其他站點,更不用更新Hub或中央服務器。
薛志勇認為,目前大家所了解的SOA大都是一種緊耦合的SOA,也就是說SOA與企業的數據庫、操作系統、服務器綁在一起,但是這種緊耦合方式的SOA缺乏與其他系統的互操作性,很難在技術上保持中立性和兼容性。
因為企業的機房不是集中的,這些機房分布在不同的地點,采用不同的應用、不同的中間件、不同的平臺,系統建立在不同的時期,甚至選擇的開發商也不同。這樣看來,實際上企業的信息化基礎架構就是分布式的,很難制定一個標準來實現統一。
另外,這種模式的中間件要占用資源,數據轉換要占用資源,業務流程的編制要占用資源,導致對硬件平臺提出了比較高的要求,本來用PC就可以實現的功能,現在則要用服務器才能實現。
IONA公司為此發布的分布式SOA架構及產品套件,除了擁有SOA所具備的編排、治理、安全、數據轉換、交易處理等功能外,它還通過封裝現有系統實現異構應用環境的整合。不過,最讓人意外的,莫過于薛志勇強調了這樣一句話:“分布式SOA屬于SOA2.0,到了SOA3.0時代將終結中間件。”
真能終結中間件?
對于SOA3.0時代將終結中間件的說法,中間件廠商卻不這樣認為。東方通科技首席軟件設計師朱律瑋認為, SOA本身就需要基礎軟件來支撐SOA解決方案,這樣才能去實現SOA應用,無論把這種基礎性的軟件叫哪種SOA或者中間件也好。最終都要去解決用戶的問題,不同的廠家根據自己定位有不同的說法而已。
從IONA的分布式SOA實現方式去理解,不管用戶想要實現什么樣的服務,分布式SOA都會提供這個服務通用的中間層服務。用戶需要增加哪一項服務,就把哪一項服務對應地進行封裝,只要在用戶的端點上加入程序、納入SOA網絡就可以了。未來SOA繼續發展,當Web Service繼續延伸,各種應用都符合標準的時候,用戶就可以不需要再用中間件。
不過,這其中卻存在一個疑惑,無論是基于.COM的還是基于Java的產品,都采用IONA的Artix(可擴展的企業服務總線產品)進行封裝。這顯然已經把SOA產品化。
業內一直把SOA與中間件比喻為魚與水的關系。這種關系包括兩層意思:一是說采用中間件產品可以很好地構建SOA的應用;再就是采用中間件產品開發出來的應用,將很容易被整合進SOA架構。
賽迪顧問公布的2006~2007年中國中間件軟件市場研究年度報告顯示,第一陣營排名前三的仍然是傳統三強:IBM、BEA和東方通科技。三強所占的市場份額有所上升,總體水平達到了58.8%。
第一陣營在中間件市場的業績整體回暖,而這首先便與SOA有著十分微妙的聯系。中間件廠商“搭車”SOA可以說是近幾年一個大勢所趨的選擇。從技術上來看,如果中間件產品沒有考慮SOA是短視的,在技術跟隨上也會顯得行動緩慢。
不過朱律瑋承認,SOA系統大而全、繁而重,令它對中小企業有些水土不適,并不能包治百病,因為中小企業需要的綜合協同管理平臺是功能簡捷、目標明確、投資小、見效快的信息化解決方案,而不是SOA之類龐然大物。
為此,東方通和SUN展開了技術合作,在Java基礎上推出了面向業務的體系架構BOA,顧名思義,就是Business +SOA。BOA可理解為在SOA技術的基礎之上融入行業經驗,利用傳統技術和SOA技術來實現對業務系統通用構件的對接、部署,使得SOA與行業個性化應用得以融合。
BOA的架構可以分為基礎中間件、集成中間件和VSP(垂直行業解決方案包)三個層面,每個層面應對用戶不同的需求層次,如基礎中間件滿足用戶基礎信息系統的建設,集成中間件滿足信息的整合需求,VSP滿足行業的深層次應用需求。
其實,BOA對SOA的實現的作用是顯而易見的,也是相輔相成的。BOA可以用傳統的EAI方式去實現,但用SOA架構去實現則更好,通過整合大量的滿足本土用戶需求的應用經驗,SOA方式能更好地滿足日益膨脹的“行業支撐平臺”的需求,最終確保SOA落地。
SOA在技術的實現上還沒有一個公認一致的架構,存在著大量的標準,不同廠家圍繞自己已有的產品提供不同的技術實現,這些實現對SOA特性的支持程度也不一樣,當前還沒有一個廠家可以宣稱自己的產品可以完全滿足SOA的各種特性。
雖然像交易中間件、消息中間件等基礎中間件可以較好地滿足系統的需求,但是有限度的,一旦用戶有信息整合方面的需求,基礎中間件則難以應付,因此需要應用到集成中間件。
不過在幾個月前,SOA兩個重要標準SCA和SDO正式推出,并由國際開放標準組織OASIS進行推廣,它們其實也是實現SOA的方法,對實現方式進行了規范,使基于該標準開發的產品可以更好地實現互聯互通,用戶也可以有更多的選擇余地。
這個標準可以更好地體現SOA的價值:松耦合、敏捷性、服務重用、基于標準、不綁定在某一廠家的產品上。在標準的指導下,各廠商都可以根據自身的實際情況和能力,開發相應的產品,以支持SOA應用。在這樣的條件下,大公司仍然可以開發全套產品。對于其它企業可以根據自身強項開發特定的產品。
每個廠商都有對自己產品的宣傳策略,但SOA需要基礎軟件支撐是個不爭的事實,至于怎么去稱呼這個軟件也大可不必去爭論。惟一確定的是廠商是否遵從標準,是否還在擴展自己的獨有特性,這都將影響SOA的發展和用戶最終對產品的選擇。