版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、CORBA CORBA(Common Object Request Broker Architecture, 公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu))是由OMG(對(duì)象管理組織,Object Management Group)提出的應(yīng)用軟件體系結(jié)構(gòu)和對(duì)象技術(shù)規(guī)范。其核心是一套標(biāo)準(zhǔn)的語言、接口和協(xié)議,以支持異構(gòu)分布應(yīng)用程序間的互操作性及獨(dú)立于平臺(tái)和編程語言的對(duì)象重用。 公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(CORBA) 最新的CORBA規(guī)范主要包含以下內(nèi)容: ORB 核心(ORB CORE) OMG界面定義語言 界面?zhèn)}庫和實(shí)現(xiàn)倉庫 語言映射 存根和框架 動(dòng)態(tài)調(diào)用 對(duì)象適配器(Object Adapter) ORB之間的互操
2、作CORBA 客 戶 服 務(wù) 器 ORB 核 心(GIOP/IIOP) 動(dòng)態(tài)調(diào)用 IDL存根 ORB 界面 靜態(tài)IDL框架 動(dòng)態(tài)框架調(diào)用 對(duì)象 適配 器 所有 ORB 實(shí)現(xiàn)都一致的界面 可能有多個(gè)對(duì)象適配器 依賴 ORB 核心的界面 與每個(gè)對(duì)象對(duì)應(yīng)的存根或框架 向上調(diào)用界面 向下調(diào)用界面 界 面 倉 庫 對(duì)象實(shí) 現(xiàn)倉庫 ORB 核心 功能:把客戶發(fā)出的請(qǐng)求傳遞給目標(biāo)對(duì)象,并把目標(biāo)對(duì)象的執(zhí)行結(jié)果返回給發(fā)出請(qǐng)求的客戶。其重要特征是:提供了客戶和目標(biāo)對(duì)象之間的交互透明性。這主要包括:ORB 核心 對(duì)象位置:客戶不必知道目標(biāo)對(duì)象的物理位置。它可能與客戶一起駐留在同一個(gè)進(jìn)程中或同一機(jī)器的不同進(jìn)程中,也有
3、可能駐留在網(wǎng)絡(luò)上的遠(yuǎn)程機(jī)器中。ORB 核心 對(duì)象實(shí)現(xiàn):客戶不必知道有關(guān)對(duì)象實(shí)現(xiàn)的具體細(xì)節(jié)。例如,設(shè)計(jì)對(duì)象所用的編程語言、對(duì)象所在節(jié)點(diǎn)的操作系統(tǒng)和硬件平臺(tái)等。ORB 核心 對(duì)象的執(zhí)行狀態(tài):當(dāng)客戶向目標(biāo)對(duì)象發(fā)送請(qǐng)求時(shí),它不必知道當(dāng)時(shí)目標(biāo)對(duì)象是否處于活動(dòng)狀態(tài)(即是否處于正在運(yùn)行的進(jìn)程中)。此時(shí),如果目標(biāo)對(duì)象不是活動(dòng)的,在把請(qǐng)求傳給它之際,ORB會(huì)透明地將它激活。ORB 核心 對(duì)象通信機(jī)制:客戶不必知道ORB所用的下層通信機(jī)制,如,TCP/IP、管道、共享內(nèi)存、本地方法調(diào)用等。 數(shù)據(jù)表示:客戶不必知道本地主機(jī)和遠(yuǎn)程主機(jī)對(duì)數(shù)據(jù)表示方式,如高位字節(jié)在前還是在后等,是否有所不同。IDL語言和語言映射 在客戶
4、向目標(biāo)對(duì)象發(fā)送請(qǐng)求之前,它必須知道目標(biāo)對(duì)象所能支持的服務(wù)。對(duì)象是通過界面定義來說明它所能提供的服務(wù)。CORBA對(duì)象的界面是利用OMG IDL來定義。IDL語言和語言映射 OMG IDL 的語法與C+類似(包括C+的預(yù)處理語句),它另外增加了一些支持分布式處理的關(guān)鍵字(in、out和inout等)。OMG IDL 不是編程語言,而是一個(gè)純說明性語言,并且與具體的宿主語言(主機(jī)上的編程語言)無關(guān)。這就很自然地將界面與對(duì)象實(shí)現(xiàn)分離,使得可以用不同的語言來實(shí)現(xiàn)對(duì)象,而它們之間卻又可以進(jìn)行互操作。IDL語言和語言映射module CCS typedef short TempType; interface
5、 Thermometer readonly attribute TempType temperature; ; interface Thermostat: Thermometer void set_temp(in TempType t); ;IDL語言和語言映射 不能用OMG IDL 直接去實(shí)現(xiàn)分布式應(yīng)用,需要把IDL的特性映射為具體語言的實(shí)現(xiàn),這就是語言映射的任務(wù)。到目前為止,OMG已為C、C+、SmallTalk、Ada95、Cobol和Java制定了語言映射標(biāo)準(zhǔn)。存根(stub)和框架(skeleton) 除了把IDL的特性映射為具體語言外,OMG IDL編譯器還根據(jù)界面定義來產(chǎn)生客戶方
6、的存根和服務(wù)方的框架。存根的作用是代表客戶創(chuàng)建并發(fā)出請(qǐng)求;框架的作用則是把請(qǐng)求交給CORBA對(duì)象實(shí)現(xiàn)。存根和框架 由于存根和框架都是從用戶的界面定義編譯而來,所以它們都與具體的界面有關(guān),并且,在請(qǐng)求真實(shí)發(fā)生之前,存根和框架早以分別被直接連接到客戶程序和對(duì)象實(shí)現(xiàn)中去。為此,通過存根和框架的調(diào)用被通稱為靜態(tài)調(diào)用。動(dòng)態(tài)調(diào)用 CORBA還支持兩種用于動(dòng)態(tài)調(diào)用的界面: 動(dòng)態(tài)調(diào)用界面(DII)支持客戶方的動(dòng)態(tài)請(qǐng)求調(diào)用。 動(dòng)態(tài)框架界面(DSI)支持服務(wù)方的動(dòng)態(tài)對(duì)象調(diào)用。接口倉庫和實(shí)現(xiàn)倉庫ORB提供了兩個(gè)用于存儲(chǔ)有關(guān)對(duì)象信息的服務(wù):界面?zhèn)}庫和實(shí)現(xiàn)倉庫。界面?zhèn)}庫存儲(chǔ)各個(gè)界面信息的模塊,如用IDL編寫的界面定義、
7、常量、類型等。實(shí)現(xiàn)倉庫所完成的功能與界面?zhèn)}庫類似,只不過它存儲(chǔ)的是對(duì)象實(shí)現(xiàn)的信息。當(dāng)需要激活某一對(duì)象類型的實(shí)例時(shí),ORB需要訪問這些信息。對(duì)象適配器 對(duì)象適配器是聯(lián)系對(duì)象實(shí)現(xiàn)與ORB本身的紐帶。另外,它的引入還大大減輕了ORB的任務(wù),從而簡化了ORB的設(shè)計(jì)。具體地說,對(duì)象適配器主要完成以下工作: 對(duì)象登記利用對(duì)象適配器所提供的操作,可以將CORBA的實(shí)現(xiàn)倉庫中具有編程語言形式的實(shí)體(servant,伺服器)登記為CORBA的對(duì)象實(shí)現(xiàn)。對(duì)象適配器 對(duì)象引用(OR,Object Reference)的產(chǎn)生對(duì)象適配器為CORBA對(duì)象生成對(duì)象引用??蛻魬?yīng)用程序通過對(duì)象引用來訪問對(duì)象實(shí)例。 服務(wù)器進(jìn)程的
8、激活如果客戶發(fā)出請(qǐng)求時(shí),目標(biāo)對(duì)象所在的服務(wù)器還未運(yùn)行,則對(duì)象適配器自動(dòng)激活該服務(wù)器。對(duì)象適配器對(duì)象的激活。對(duì)象的撤消在預(yù)先規(guī)定的時(shí)間片內(nèi),如果一直沒有發(fā)向某個(gè)目標(biāo)對(duì)象的請(qǐng)求,則對(duì)象適配器撤消這一對(duì)象,以節(jié)省系統(tǒng)資源。對(duì)象向上調(diào)用對(duì)象適配器把請(qǐng)求分配給已登記了的對(duì)象。對(duì)象適配器Root POAPOA1POA2servantservantservantPOA3servantObjectId對(duì)象適配器對(duì)象引用ObjectIdServant對(duì)象引用格式Repository ID host:port Object KeyIDL:CCS/Thermostat:1.0bobo:1799POA路徑:Objec
9、tId對(duì)象引用到伺服器對(duì)象所在的服務(wù)器對(duì)象實(shí)現(xiàn)所處的POA相應(yīng)的伺服器host:portPOA路徑ObjectId對(duì)象引用的獲取 對(duì)象引用是客戶機(jī)獲取目標(biāo)對(duì)象唯一途徑。客戶機(jī)獲取引用的方式: 通過調(diào)用公共操作list_initial_services、resolve_initial_services來獲取標(biāo)準(zhǔn)服務(wù)應(yīng)用,如“RootPOA”、 “NameService”、 “TradingService”等。 以某些已知的服務(wù)程序公告一個(gè)引用,如名字服務(wù)。 通過將對(duì)象引用轉(zhuǎn)換成一個(gè)字符串和將它寫入一個(gè)文件,來公布一個(gè)對(duì)象引用。 返回一個(gè)引用作為一個(gè)操作的結(jié)果(就像返回一個(gè)值,或返回一個(gè)inout
10、或out參數(shù))。 通過其他可以外傳的方式來傳送一個(gè)對(duì)象引用,比如,用電子郵件發(fā)送或者在Web網(wǎng)頁上公布。對(duì)象適配器之請(qǐng)求處理流程ORB coreRoot POAPOA1POA2servant1框架框架操作操作1操作操作nORB 之間的互操作 在發(fā)布CORBA2.0之前,ORB產(chǎn)品的最大缺點(diǎn)是:不同廠商所提供的ORB產(chǎn)品之間并不能互操作。為了達(dá)到異構(gòu)ORB系統(tǒng)之間互操作的目的,CORBA2.0規(guī)范中定義了標(biāo)準(zhǔn)通信協(xié)議GIOP(General inter-ORB Protocol)。ORB 之間的互操作GIOP協(xié)議由3個(gè)部分組成: 公共數(shù)據(jù)表示(Common Data Representation,簡稱CDR); GIOP消息格式,它定義了用于ORB間對(duì)象請(qǐng)求、對(duì)象定位和信道管理的7種消息的格式和語義。ORB 之間的互操作 傳輸層假設(shè),GIOP協(xié)議可運(yùn)行于多種傳輸層協(xié)議之上,只要傳輸層協(xié)議是面向連接的、可靠的,所傳遞的數(shù)據(jù)可以為任意長度的字節(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河南建筑安全員-A證考試題庫附答案
- 貴州大學(xué)《醫(yī)學(xué)統(tǒng)計(jì)學(xué)規(guī)培》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州財(cái)經(jīng)職業(yè)學(xué)院《火災(zāi)動(dòng)力學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025福建建筑安全員考試題庫
- 貴陽學(xué)院《保險(xiǎn)投資學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 硅湖職業(yè)技術(shù)學(xué)院《植物造景技術(shù)(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州幼兒師范高等??茖W(xué)?!稛o人機(jī)結(jié)構(gòu)與系統(tǒng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年貴州省安全員B證考試題庫及答案
- 2025江蘇建筑安全員《B證》考試題庫及答案
- 2025年河南省安全員《C證》考試題庫及答案
- 工程機(jī)械租賃服務(wù)方案及保障措施范本
- SCI論文寫作課件
- 民間秘術(shù)絕招大全
- 水運(yùn)工程質(zhì)量檢驗(yàn)標(biāo)準(zhǔn)(JTS_257-2008)附表格
- 春節(jié)停工報(bào)告完整版3頁
- (完整版)展廳展館博物館美術(shù)館設(shè)計(jì)標(biāo)招標(biāo)評(píng)分細(xì)則及打分表
- [宋小寶小品甄嬛后傳臺(tái)詞]甄嬛歪傳小品劇本臺(tái)詞范本
- 扭扭棒手工PPT課件
- 曲式分析演唱技巧情感運(yùn)用
- 古建筑白蟻危害及防控現(xiàn)狀
- 建筑裝飾裝修施工組織設(shè)計(jì)方案(完整版)
評(píng)論
0/150
提交評(píng)論