實時SOA到底是什麼(下)

如何在兩端同時發現信息
那麼,我們如何才能完成這些功能呢?路由服務必須能夠在網絡中找到正確的信息並將其發佈到另一端。我們的路由服務必須具有自動發現並控制信息的功能,同時也必須能夠識別並處理所有的主題和類型。由於DDS對內容預知,這些功能是可實現的。轉換功能爲每一個需要處理的模式提供簡單的腳本或插件,監護提供配置腳本,明確需要傳輸的主題。除此之外,DDS對內容的可讀性還意味着路由服務在運行時檢查所有類型,因此該系統可以在模式發生變化的環境下安全工作。 RTI公司已經開發了這樣的路由服務,它是通過XML腳本來配置的。
 
圖6:RTI公司的路由服務連接兩個域
RTI的路由服務連接兩個DDS域。它兼有監護和轉換的功能。監護將選擇哪些數據可以從域輸出,轉換在域之間匹配主題和模式。它可以通過DDS的發現功能找到所需的數據。
擴展性
現在,假設我們要集成多個DDS域。 類似ESB的做法就是擴大我們的路由服務來處理多個數據流。但是,由於有DDS總線,沒有必要使用統一的ESB。我們可以部署多個路由服務,並根據需要將他們分佈在系統中,這使得系統更快、更穩定。我們甚至可以在單對域中建立多個路由服務進行冗餘處理。
用DDS構建實時ESB
路由服務還爲更大的解決方案提供可能。通過DDS協議的路由服務(Routing Service)不僅可以連接各個系統,還可以通過插件協議來擴展它的功能。例如,它可以通過TCP連接DDS域,這可使DDS能便捷穿越防火牆,同時還可以通過插件對信息進行加密,使得信息可以安全跨越廣域網。
我們還可以做得更多。路由服務還可以將DDS連接到非DDS系統,利用插件,路由服務成爲一個可編程的通向任何協議的橋樑,例如Link16 、STANAG 4586、JMS、C37.118、壓縮的DDS流等諸多協議。通過這些插件, 路由服務還可以將另一個協議集成到系統中。所有這些,DDS都可以輕鬆做到。每一個系統都可以在一個單獨的應用上運行。就這樣,一個高效的分佈式系統就構建成功了。
除了協議,DDS還可以用於集成其它技術。例如,RTI公司擁有的DDS服務可以整合數據庫、Web Services以及Excel這樣的工具。在中間件上安裝JMS API可以便捷地與企業級技術集成。有監護功能的JMS API可以輕鬆地與類似Camel這樣的企業級ESB連接, 而不必通過中間的“標準化”步驟。
以上可通稱爲一個“實時服務總線”,它能實現企業級服務總線的相同功能和用途,而且具有快速、實時的特性,模塊可以在任何應用上集成任何技術。實時服務總線提供了分佈式構架中DDS所缺少的集成多個應用的功能。
 
圖7:實時服務總線
通過增加協議插件和企業級技術,DDS成爲構建類似“分佈式ESB”的實時服務總線的基礎構架,使得構建的實時SOA彌補了企業級Web Services的不足。
究竟什麼是實時SOA?
本文所描述的體系構架無疑是一個名副其實的面向服務的架構(SOA)。有了RTI公司強大的路由服務,設計師可以從許多獨立的服務中建立實時系統。
更重要的是,這樣的體系構架具有鬆耦合的特點。各種服務,甚至整個DDS或其它應用都可以由不同團隊在不同時間獨立設計完成,還可以使用轉換功能在後期對各應用進行集成。如果要對其中一個應用進行更新,也只需要調整轉換插件即可,這對系統的升級和維護至關重要。
讓我們再次重申,我們的創新與許多企業級軟件銷售商所稱的 “實時SOA”截然不同,後者實際上只是提供更快的網絡服務,而以DDS爲基礎的“實時服務總線”是一個真正集成實時系統的SOA。而且它還能滿足對性能、可靠性和時間控制等各種苛刻性要求。有了協議插件和其它技術的參與,它還有了更強大的功能。它能幫助開發包括實時和企業級應用的複雜系統,還能集成大型的實時系統,並將實時系統和企業級系統集成。
躺在太平洋底的宙斯盾巡洋艦還在提醒軟件設計師們,這是一個慘痛的教訓,它說明了系統集成的重要性。合理的系統架構爲系統的進一步更新和集成帶來可能,實時系統需依賴於實時技術。
新興的實時技術可以提高系統集成的能力以避免將來可能的浪費。從系統開發第一天起就使用正確的集成設計也許是構建和維護實時分佈式系統最重要的考慮。

○1Admiral Frick, PEO IWS, at the 2006 ASNE Combat Systems Symposium
○2Figure modified from Raytheon talk at OMG DDS Day seminar
○3本文中的所有性能請參考RTI公司網站 www.rti.com
○4 DDS 還允許多個操作系統、不同編程語言之間進行互通。並不是所有的中間件都能做到這一點,但本文不再展開。



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