產品>> InforBus 分布式對象中間件

企業級InforBus——網絡分布異構問題的解決之道

 

一、產品概述

InforBus是遵循CORBA標準的分布對象中間件產品,是國家863科研成果與多年豐富行業經驗相結合而產生的新一代對象中間件產品,是國防科技大學技術專家和中創中間件開發人員的智慧結晶。

二、體系結構

InforBus采用基于代理的分布計算行為模型和"軟總線+軟構件"的體系結構,如圖:“圖1 InforBus體系結構”所示。

 

 1 InforBus體系結構

InforBus的軟總線以分布對象技術為基礎,不僅能夠支持應用集成框架的建立,滿足協同工作的需求,而且建立了多層次的軟構件框架,更加便于應用領域框架及領域構件的開發。它也支持以構件形式實現集成平臺的系統管理和公共服務,使系統具有良好的開放性和擴展性。基于CORBA標準的對分布對象的透明訪問,允許應用對遠程對象和本地對象使用相同的訪問模式,從而屏蔽了操作系統平臺和通信機制,使應用開發者更加關注于應用邏輯的開發。

InforBus基于代理的分布交互模型使其突破了傳統的基于需求/服務交互模式的Client/Server模型,將交互角色從傳統的“客戶”和“服務器”兩種固定角色的限制中解放出來,改變了“客戶”和“服務器”之間不對等的交互關系,對服務器的開發和多層應用開發結構提供強有力的支持。

InforBus的組成包含括:對象請求代理(ORB)、公用對象服務(Common Object Service)、公共設施(Common Facility)、IDL編譯器。

三、產品特點

 ◆CORBA標準,國際同步

 • 國家863計劃重點項目,產學研相結合成果

 • 遵循國際OMG組織CORBA技術標準

 • 跨平臺、跨語言、徹底解決平臺異構問題

 • 支持各種通用CORBA標準、實時CORBA標準、miniCORBA標準

 ◆CORBA產品,特點鮮明

 • 分布式計算和對象模型的完美結合   

 • 提供高穩定的系統應用

 ◆CORBA應用,案例廣泛

 • 在政府、金融、電信、航空等領域廣泛應用

 • 為國防、安全領域提供基礎軟件平臺

四、典型案例

InforBus中間件采用成熟的分布對象技術,為金融、電信、企業應用集成、交通管理、軍事等領域的應用問題提供解決方案,廣泛地應用在強異構的分布計算環境中。

基于InforBus系列中間件產品的山東省高速公路信息管理系統采用開放的標準,智能化管理,很好地與山東交通信息化網絡互聯互通,并可實現與金融、電信系統的協調和銜接

五、InforBus運行的平臺

 • Win98/2000/XP;VC6.0/VC7.0

 • SUN Solaris 2.6, 7 and 8; SUN Forte 6 update 2 C++ 5.3/GCC 2.95.3

 • Sun Solaris Intel SUN Forte 6 update 2 C++ 5.3/GCC 2.95.3

 • Red Linux 7.2/7.3/8.0; GCC 2.95.3

 • HP-UX B.11.00; HP aC++ A.03.27

 • AIX Version 4.3.x; AIX VisualAge C++ 5.0

 • SCO Unix 7.4;

 • VxWorks Tornado 2.0

 •  Windows CE 3.0

 

 

嵌入式InforBus——智能設備通信專家

 

一、產品概述

目前類似CORBAJ2EE的中間件雖然提高了分布式應用的靈活性、可擴展性、可維護性以及可重用性等特點,但是這些中間件產品的體系結構并不能夠很好的滿足實時任務的應用需求。因此OMG組織針對CORBA進行了實時特性的擴展,提出了Real-Time CORBA規范。

多數的實時應用都運行在嵌入式設備上,眾所周知,嵌入式設備是一個資源受限的計算環境。對于嵌入式設備來說,CORBA所占用的內存和CPU資源都顯得過于龐大。因此,OMG組織對傳統CORBA的功能進行了裁減,并提出了MinimumCORBA規范。InforBus(Emb)實現了OMG組織的Real-Time CORBA規范和Minimum CORBA規范,同時力爭使用最小的系統開銷,帶來最佳的系統性能。

二、產品組成

InforBus(Emb)的核心部件是ORB,即所謂的“軟總線”。它包括了確定和定位對象,進行連接管理和收發數據所必須的所有通訊設施。ORB的基本任務是把請求從客戶方傳送到被激活的對象實現中。

下面是ORB的基本結構框架:

 

圖2 ORB體系結構

當客戶應用要將請求通過ORB發給對象實現時,運行過程如下:

1.客戶通過某種方式找到對象實現的對象引用(IOR)。

2.如果該對象實現有相應的stub,則客戶可以通過該stub向對象實現發送請求。否則,在接口池的協助下,客戶可以使用動態調用接口來向對象實現發出請求。

3.當對象調用請求通過stub或動態調用接口到達ORB核心以后,ORB核心負責請求的傳送,將其送給相應的對象適配器。

4.對象適配器接到請求后,判斷一下所請求的對象實現是否有skeleton存在,如果有,則對象適配器通過skeleton調用執行對象實現中的操作,否則,對象適配器將通過DSI中的動態實現例程來調用對象實現中的操作。

5.對象實現的特定操作方法執行完成后,結果將按照對象請求傳遞和執行路徑逆向返回給客戶對象。

如上所述,客戶方向服務方發送請求時首先要獲得服務方的對象引用。獲得對象引用的方式有三種:1.固定位置信息。2.通過文件傳輸。3.利用名字服務。

由于InforBus(Emb)是專為嵌入式開發而設計的CORBA產品,所以受嵌入式平臺的資源有限性的約束并沒有實現自己的名字服務組件,但是能夠使用遵循COSS標準的其他名字服務的實現,例如InforBus的名字服務。

三、產品特點

InforBus(Emb)在操作系統上使用共享庫的形式,實現了微內核體系結構的ORBInforBus(Emb)ORB被分為幾個相對獨立的組件,這些組件能夠在編碼時動態的進行加載。只有需要的組件才被加載到內存中。這保證了內存使用的低消耗。所以InforBus(Emb)是專為嵌入式開發所設計的實時CORBA產品。

InforBus將系統中的線程分為通訊線程與處理線程,通訊線程負責讀寫網絡,向緩沖隊列中寫請求,讀應答;處理線程負責從緩沖隊列中讀請求,寫應答。這兩部分可以分別進行配置,服務方可以根據網絡壓力靈活配置通訊線程的數量,還可以預先啟動一定數量的處理線程,這些線程同數據庫服務器建立相應的連接,然后從緩沖隊列中讀取客戶請求進行處理。這種方式避免了傳統的每請求一進程方式中進程數和數據庫連接數難以控制的問題,從而降低了資源消耗,提高了系統的穩定性。

InforBus(Emb)具有良好的互操作特性,CORBA標準中定義了ORB之間進行通信的的協議----GIOP協議,所以不同廠家之間的ORB可以直接進行互操作。例如:A應用系統是基于Iona Orbix開發的,B應用系統是基于中創InforBus(Emb)開發的,由于這兩個產品都遵循CORBA標準,所以它們之間可以無縫結合,譬如A系統的客戶方可以直接訪問B系統中的服務方而不需橋接轉換。InforBus(Emb)能夠對跨平臺異構系統進行良好的支持。

InforBus(Emb)支持目前絕大多數的主流嵌入式操作系統,并自動屏蔽這些系統間的數據表示差異。已支持的操作系統有:VxWorksWindows XPWindows CESolaris 7/8, Linux, Real-Time Linux, RTEMS and LynxOS等,并且能夠方便的移植到其他的嵌入式操作系統上。

InforBus(Emb)支持同步通訊與異步通訊。當采用同步方式時,客戶端發出請求,阻塞等待服務器返回應答;當采用異步方式時,客戶端發出請求后可以繼續運行,不必等待服務器應答。

InforBus(Emb)支持對話通訊。基于InforBus的應用系統中,客戶端與服務端都是作為一個個的對象插在ORB總線上,二者的身份可以互換,沒有嚴格的區分。任何對象都可以作為客戶端發送請求,也可以作為服務方接收處理請求,因而可以支持復雜應用系統的構建。InforBus(Emb)支持多種網絡協議。

除了以太網協議外,InforBus(Emb)還支持Scalable Coherent Interface (SCI) and the Controller Area Network (CAN)InforBus(Emb)具備超時重發機制,在通訊線路質量較差的系統中,可以有效地屏蔽網絡抖動。InforBus(Emb)具備良好的實時特性,支持基于優先級的完全搶先調度。能夠有效的防止優先級翻轉。InforBus(Emb)的安全服務組件支持國際流行的SSL協議。

四、操作系統

Windows 95/98/NT/2000

IBM AIX

HP-UX

SGI IRIX

SUN Solaris

DEC OSF/1

Linux

VxWorks

WinCE