CORBA
公用對象請求代理(調度)程序體系結構(Common Object Request Broker Architecture),縮寫為 CORBA,是對象管理組織(Object Management Group)對應當今快速增長的軟硬件的協同工作能力的要求而提出的方案。簡而言之,CORBA 允許應用程序和其他的應用程序通訊,而不論他們在什么地方或者由誰來設計。
CORBA曾經是分布式計算的主流技術,在電信等領域使用廣泛。開發和部署成本較高,目前屬于已經基本被遺棄的技術,被輕量級的Web服務、RESTful服務等代替了。
IOR
可互操作對象引用。
ORB
(Object Request Broker)
對象請求代理。ORB 是一個中間件,他在對象間建立客戶-服務器的關系。通過 ORB,一個客戶可以很簡單地使用服務器對象的方法而不論服務器是在同一機器上還是通過一個網絡訪問。ORB 截獲調用然后負責找到一個對象實現這個請求,傳遞參數和方法,最后返回結果。客戶不用知道對象在哪里,是什么語言實現的,他的操作系統以及其他和對象接口無關的東西。
ORB 守護程序
負責查找 IOR 指定的對象實現,以及建立客戶機和服務器之間的連接。一旦建立了連接,GIOP 將定義一組由客戶機用于請求或服務器用于響應的消息。
GIOP
(General Inter-ORB Protocol)
GIOP(通用對象請求代理間通信協議)元件提供了一個標準傳輸語法(低層數據表示方法)和ORB之間通信的信息格式集。GIOP只能用在ORB與ORB之間,而且,只能在符合理想條件的面向連接傳輸協議中使用。它不需要使用更高一層的RPC機制。這個協議是簡單的(盡可能簡單,但不是簡單化),可升級的,使用方便。它被設計為可移動的、高效能的表現、較少依靠其它的低層傳輸協議。當然,由于不同傳輸使用不同版本的GIOP,它們可能不能直接協作工作,但它能很容易的連接網絡域。
IIOP
(Internet Inter-ORB Protocol)
IIOP(Internet對象代理間通信協議) 元件指出如何通過TCP/IP連接交換GIOP信息。IIOP為Internet提供了一個標準的協作工作協議,它使兼容的ORB能基于現在流行的協議和產品進行“out of the box”方式的協作工作。它也能被用于兩個半橋(half-bridges )之間的協議。該協議能用于任何ORB與IP(Internet Protocol)域之間的協作工作,除非ORB選擇了特殊的協議。這時,它是TCP/IP環境下基本的inter-ORB 協議,最普遍的傳輸層。
GIOP 不基于任何特別的網絡協議,OMG 在最廣泛使用的通信傳輸平臺 -- TCP/IP 上標準化 GIOP,GIOP 加 TCP/IP 等于 IIOP
IDL
?IDL全稱接口定義語言,是用來描述軟件組件接口的一種規范語言。用戶可以定義模塊、接口、屬性、方法、輸入輸出參數,甚至異常等等。IDL在不同的語言下都有相應的實現,可以把IDL描述的接口編譯為目標語言,包括客戶端代理和服務器端框架,以及相應的幫助類等等。比如Java中提供過了idlj命令用來編譯。
CORBA與ORB的關系
CORBA的分布式對象調用能力依賴于ORB,而ORB之間進行通信是通過GIOP協議完成的。GIOP定義了ORB之間互操作的傳輸語法和標準消息格式,比如請求頭、請求體所包含的字段和長度。
IIOP與GIOP的關系
IIOP與GIOP的關系就象特特殊語言與OMG IDL之間的關系;GIOP能被映射到不同層,它能指定協議。就象IDL不能見招完整的程序一樣,GIOP 本身也不能提供完整的協作工作。IIOP和不同傳輸層上的其它相似映射,實現抽象的GIOP定義。
GIOP是一個抽象的協議,而IIOP是其一個具體的實現,定義了,如何通過TCP/IP協議交換GIOP消息。 所以通常我們說CORBA是基于IIOP協議的。
OSI模型和GIOP模型
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
