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

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