基於CORBA的分佈式程序設計(Advanced CORBA Distributed Programming)(十一)

第八章  附錄
8.1  CORBA 版本
軟件市場中能夠見到的CORBA中間件產品很多,但基於不同公司的產品戰略以及研發方向,各個產品在服務性能、對高級語言的支持和所依賴的系統平臺方面有很大區別。以下是對主要產品在幾方面進行了分析(參見表1),可供參考。

主要中間件產品


8.2目前最新的CORBA產品:
MICO、ORBacus、ORBacus 3、The ACE ORB (TAO)、VisiBroker、JacORB、omniORB 3、omniORB 4.0 preview、Orbix 2000、BusinessWare、OpenORB、OpenFusion、mico/E、TAO 1.2a (beta)、ORBacus/E、SmalltalkBroker、Orbix/E 2.0、orb2、e*ORB C++ Edition、e*ORB Java Edition 

 

8.3 最新標準CORBA3
CORBA3新特性

術語CORBA3是指一整套規範,這些規範總起來增強了CORBA的性能和可用性。所有這些規範已經被採用,並且幾乎所有規範已經由OMG組織作爲正式的已經編號的CORBA版本的一部分發布了。在OMG的一個新程序中,這些規範一開始被分爲“產前”一類,只有結束對它們的第一次維護修訂之後,纔會轉爲“可用”的(也就是,包含在當前已經編號的CORBA版本中的正式的OMG規範)。

CORBA 3 中的規範可以很清析地分爲三大類:

•  Java和Internet集成;

•  服務質量(QoS)控制;

•  CORBA組件體系。

下面將依次介紹這三部分:

1. JAVA和INTERNET集成

下面的規範增強了CORBA與日益流行的JAVA語言及Internet的集成:

可以用值傳遞的對象

CORBA's language-independent equivalent of Java's serializable,(慚愧,我不知道這句該如何翻譯纔好,如有會者,請不吝賜教) 值類型爲CORBA增加了許多特性,包括Java到IDL的反映射(將在後面提到)和能夠把XML文檔表示爲本地CORBA類型的XML/Value映射。現在,作爲CORBA的很好地建立起來的一部分,這個特性已經包含在1999年6月份發佈的CORBA2.3標準中,並作爲第5、6章 仍然保留在覈心CORBA規範中。跟語言相關的方面包含在 各自的語言映射規範中。

Java到IDL的映射

這個映射使得Java RMI對象能夠跟CORBA對象一樣通過網絡進行互操作。它們具有CORBA對象引用,發出IIOP協議。就象CORBA組件模型和企業級JavaBeans 幫助開發人員和公司構建應用組件庫一樣,本規範將使CORBA組件庫和EJBs一起用來構建應用。就象值類型規範一樣,Java到IDL的映射也是CORBA 2.3規範的一部分,它可以在語言映射裏找到.

可共用的命名服務

CORBA對象引用是CORBA體系的基石。因爲計算機可讀的IOR(Interoperable Object Reference可互操作的對象引用)是(直到現在)唯一用來連接一個實例並調用它的方法,沒有方法來連接一個遠程的實例----即使你知道它的位置並且它已經起來並運行着----除非你得到它的對象引用。得到對象引用的最簡單的方法是得到一個它的命名服務的引用,但是,如果你連命名服務的引用也沒有,怎麼辦呢?

可共用的命名服務定義了一種URL形式的對象引用:corbaloc,在一個程序裏,它可以用來連接到一個遠程的地方,包括命名服務。另一種URL形式, corbaname,實際上是通過使用用戶加在URL後面的名字調用名字服務返回所指對象的IOR。

例如,一個corbaloc標識符:

corbaloc::www.omg.org/NameService

將確定一個CORBA命名服務,這個命名服務正運轉在IP地址對應於www.omg.org域名的機器上(如果我們在OMG運轉着一個命名服務的話)。在2000年後期,這個服務被加在了CORBA2.4版本的規範中,在這個規範中,對象的URL定義在第13.6.10節,初始服務引用的配置定義在第4.5.3節。對象複合名字的標準語義的定義在命名CORBA服務的第2.4節。

防火牆規範

CORBA 3規範將定義CORBA用來安全的穿過防火牆的性能。當我們在2001年4月寫本文的時候,最初在1998採用的防火牆規範正在進行一次大的修訂。

你可以從這兒查看有關修訂的過程及下載規範的草案。 修訂工作計劃在2001年年中完成,當我們在7月份更新本文的時候,快要結束了。

2. 服務質量控制

異步消息和服務質量控制

新的消息規範爲CORBA定義了一些異步的、時間無關的調用模式,允許用任何模式來進行靜態或動態調用。異步調用的結果可以由輪徇檢測或回調取得,這由客戶端在原始調用中所用的模式決定。策略可以用來控制調用的服務質量。客戶端和對象可以控制排序(按照時間、優先級或期限);設置優先級、期限和生存時間;可以爲一個時間敏感的調用設置開始和結束時間;可以控制路由策略和網絡路由的躍距計數。消息規範包含在2000年後期發佈的CORBA 2.4版本規範的第22章。

最小CORBA,容錯CORBA,和實時CORBA

最小CORBA是主要是爲了嵌入式和卡片式的系統。這些系統一旦被定下來,燒製到產品的蕊片裏,就固定了,它們跟外部網絡的交互作用是可預見的——它們不需要CORBA的動態特性,如動態調用接口或者支持它的接口倉庫,所以這些沒有包含在最小CORBA裏。最小CORBA成爲2000年後期發佈的 CORBA2.4規範的一部分,在第23章中。

實時CORBA標準化了資源控制——線程、協議、鏈接等等——利用優先級模型來爲硬的和統計的實時環境實現可預測的行爲。動態調度,還不是當前規範的一部分,已經通過一個單獨的RFP的形式加了進來,在我們2001年7月更新此文的時候已經完成工作,進入到最後的投票階段。 實時CORBA成爲2000年後期發佈的 CORBA2.4規範的一部分,在第24章中。

容錯CORBA標準化冗餘軟件配置和系統,當它們運轉在冗餘硬件設備上時,給了CORBA企業應用所依賴的可靠的及健壯的性能。比實時CORBA和最小CORBA更新,這個規範還沒有作爲一個編號的版本發佈。這個規範已經被正式採納,現在已經完成了它的第一輪修訂,你可以從這兒找到這個規範。

3. CORBA組件包

CORBA組件和CORBA腳本

這是OMG自從在CORBA2中定義IIOP協議以來最令人興奮的事情之一,CORBA組件在開發人員、用戶及組件消費者的好處上有了多方面的提高。CORBA組件三個最主要的部分是:

l         一個容器環境,它打包了事務、安全、持久性,並提供接口和事件處理;

l         跟企業級JavaBeans集成;

l         一個能夠促使形成CORBA組件軟件市場的軟件分發形式。

CORBA組件容器環境是持久的、支持事務的和安全的。對編程人員來說,這些功能是在一個比CORBA服務所提供的功能更高的抽象層次上被預打包和提供的。這相當於大大提高了商業程序員的技能:他們不再需要構建事務和安全應用的技能,他們現在可以用他們的才能來生產商業應用,而這些應用自然就具有這些必要的特性。

容器知道組件產生的和消費的事件類型,並提供傳送事件的通道。容器也知道它所包含的組件所提供的和需要的接口,並把互相適合的連在一起。CORBA組件支持多接口,該體系支持在它們中間進行引導(navigation)。

企業級JavaBeans (EJBs)將作爲CORBA組件發生作用,並能安裝在CORBA組件容器中。當然,跟EBJs不同, CORBA組件可以用多種語言來編寫並支持多接口。

本規範定義了一個多平臺的軟件分發形式,包括安裝器及基於XML的配置工具,還定義了一個單獨的腳本規範,用來把CORBA和組件裝配映射到一些已經可用的腳本語言。

CORBA組件模型現在正處於維護階段,在結束之前,你可以下載已經採納的規範。

腳本語言

腳本語言最初是爲了從CORBA組件(和企業級JavaBeans)中動態地裝配應用,現在用來訪問CORBA客戶端和對象。對組件裝配的擴展將跟隨CORBA3.0中的CCM。CORBA支持到兩種腳本語言的映射:一個到Python,另一個定義了一種 針對CORBA的腳本語言。它們已經正式發佈,但是因爲它們在OMG的語言映射的書裏,而不是在CORBA的書裏,所以沒有CORBA的發佈版本。

結論…

經過OMG組織成員十年的共同努力,基本的CORBA架構已經完成,並且在成千上萬的地方一直應用着。CORBA3的最初綁定的擴展爲OMG組織建立的體系帶來了易用性和精確地控制。這些擴展保證了CORBA在將來的計算機世界中的作用。

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/helloworlder/archive/2003/07/03/20374.aspx

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