版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章Corba初步2.1對(duì)象管理體系結(jié)構(gòu)(OMA)對(duì)象管理組織(OMG)OMA對(duì)象模型參考模型2.1.1對(duì)象管理組織——OMG成立于1989年的非盈利性聯(lián)盟。目標(biāo):促進(jìn)在分布式系統(tǒng)開發(fā)中面向?qū)ο蠹夹g(shù)的理論與實(shí)踐的發(fā)展?,F(xiàn)有成員800多個(gè),負(fù)責(zé)制定協(xié)議、實(shí)現(xiàn)基于協(xié)議的軟件產(chǎn)品、應(yīng)用軟件產(chǎn)品。OMG為使該組織所采納的技術(shù)具有開放性,OMG所采用的方法是,針對(duì)某一領(lǐng)域發(fā)出RFP(RequestForProposal),然后以各方提交的建議為基礎(chǔ),經(jīng)過一系列的討論和協(xié)商,產(chǎn)生最終的規(guī)范。對(duì)象管理組織——OMG負(fù)責(zé)制訂并維護(hù)一套規(guī)范(notsoftware):支持分布式、異類(heterogeneous)環(huán)境的軟件開發(fā)項(xiàng)目。覆蓋了從分析、設(shè)計(jì)到編碼、部署、運(yùn)行和管理的整個(gè)軟件開發(fā)過程。這些規(guī)范是一種工業(yè)或行業(yè)標(biāo)準(zhǔn)OMG主要規(guī)范UML:UnifiedModelingLanguageCORBA:CommonObjectRequestBrokerArchitecture。MDA:ModelDrivenArchitectureOMA(對(duì)象管理體系結(jié)構(gòu)) 記住CorbaC-ORB-A:“Common”+“ORB”+“Architecture”通用“orb”體系結(jié)構(gòu)Orb:Objectrequestbroker對(duì)象請(qǐng)求代理:通過智能代理的方式處理對(duì)象請(qǐng)求CORBA規(guī)范主要基于以下幾個(gè)公司所提交的建議:DEC、HyperDesk、HP、SunSoft、NCR和ObjectDesign。是OMA(ObjectModelArchitecture)的核心部分OMA由OMG制定的最關(guān)鍵的規(guī)范——對(duì)象管理結(jié)構(gòu)(ObjectManagementArchitecture,OMA)和它的核心(也就是CORBA規(guī)范),提供了一個(gè)完整的體系結(jié)構(gòu)。這個(gè)結(jié)構(gòu)以足夠的靈活性、豐富的形式適用了各類分布式系統(tǒng)。對(duì)象管理體系結(jié)構(gòu)OMA描述了面向?qū)ο蠹夹g(shù)在分布式處理中的運(yùn)用。它包括兩部分:對(duì)象模型(ObjectModel)和參考模型(ReferenceModel)。對(duì)象模型定義如何描述分布式異質(zhì)環(huán)境中的對(duì)象參考模型描述對(duì)象之間的交互(組件,接口,協(xié)議)OMA對(duì)象模型在OMA對(duì)象模型中,對(duì)象是一個(gè)被封裝的實(shí)體,它具有一個(gè)不可改變的標(biāo)識(shí),并能給客戶用戶提供一個(gè)或多個(gè)服務(wù)。interfaceprinter{ attributemodel; voidprint(instringbuffer);};OMA對(duì)象模型對(duì)象的訪問方式是通過向?qū)ο蟀l(fā)出請(qǐng)求來完成的。請(qǐng)求信息包括目標(biāo)對(duì)象、所請(qǐng)求的操作、0個(gè)或多個(gè)實(shí)際參數(shù)和可選的請(qǐng)求上下文(描述環(huán)境信息)。每個(gè)對(duì)象的實(shí)現(xiàn)和位置,對(duì)客戶都是透明的。OMA參考模型對(duì)象請(qǐng)求代理對(duì)象服務(wù)公共設(shè)施領(lǐng)域接口應(yīng)用接口OMA參考模型在OMA參考模型中,OMG定義了一條為對(duì)象所公用的通信總線,即ORB(ObjectRequestBroker)。同時(shí),OMG又定義了對(duì)象進(jìn)出這一總線的接口。這包括:對(duì)象服務(wù)(ObjectServices)、公共設(shè)施(commonfacilities)、應(yīng)用接口(ApplicationInterface)和域接口(DomainInterface)。OMA參考模型公共設(shè)施領(lǐng)域接口對(duì)象請(qǐng)求代理(ORB)應(yīng)用程序接口對(duì)象服務(wù)通用服務(wù)的接口與應(yīng)用有關(guān)的非標(biāo)準(zhǔn)化接口與應(yīng)用領(lǐng)域有關(guān)的接口通用設(shè)施的接口1對(duì)象請(qǐng)求代理——ORBORB是OMA參考模型的核心,提供了最基本的通信樞紐設(shè)施(分布式對(duì)象之間透明的地發(fā)送請(qǐng)求或接收響應(yīng)的基本機(jī)制),獨(dú)立于實(shí)現(xiàn)對(duì)象的特定平臺(tái)與技術(shù)。是基于分布式對(duì)象構(gòu)建應(yīng)用程序的基礎(chǔ)設(shè)施,保證了在異構(gòu)平臺(tái)上對(duì)象的互操作性與可移植性O(shè)RBORB(ObjectRequestBroker)是對(duì)象總線。1通過ORB,一個(gè)client可以透明的調(diào)用同一臺(tái)機(jī)器上或網(wǎng)絡(luò)上的一個(gè)server對(duì)象的方法。2ORB解釋該調(diào)用并負(fù)責(zé)查找一個(gè)實(shí)現(xiàn)該請(qǐng)求的對(duì)象,3找到后,把參數(shù)傳給該對(duì)象,調(diào)用它的方法,最后返回結(jié)果。4客戶方不需要了解服務(wù)對(duì)象的位置、通信方式、實(shí)現(xiàn)、激活或存儲(chǔ)機(jī)制。ORB基本原理2對(duì)象服務(wù)作用:提供所有應(yīng)用程序都可能用到的通用服務(wù)的接口(基本服務(wù),與具體的應(yīng)用領(lǐng)域無關(guān)的接口)。支持的服務(wù)有:名字服務(wù)、持久性服務(wù)、生命周期服務(wù)、事務(wù)處理服務(wù)、對(duì)象事件服務(wù)和安全服務(wù)等。實(shí)質(zhì):通用的服務(wù)集合,將覆蓋對(duì)象整個(gè)生存期的對(duì)象管理任務(wù)標(biāo)準(zhǔn)化,可保證各種應(yīng)用程序均采用一致的風(fēng)格管理對(duì)象支持的服務(wù)命名服務(wù)(NamingService):允許通過名字查找對(duì)象。持久性服務(wù)(PersistenceService):提供在各種存儲(chǔ)服務(wù)器(包括對(duì)象數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫和簡(jiǎn)單文件)上永久性存儲(chǔ)對(duì)象的統(tǒng)一接口。生存周期服務(wù)(LifeCycleService):定義了在對(duì)象總線上創(chuàng)建、拷貝、移動(dòng)和刪除對(duì)象的操作。支持的服務(wù)事務(wù)處理服務(wù)(TransactionService):提供兩階段提交協(xié)議,用于確保ORB上的一些分布式對(duì)象協(xié)同地完成事務(wù)處理。事件服務(wù)(EventService):允許對(duì)象動(dòng)態(tài)注冊(cè)或撤消指定的事件。
安全服務(wù)(SecurityService):提供一個(gè)分布式對(duì)象安全的完整框架。
3公共設(shè)施與對(duì)象服務(wù)不同的是,公共設(shè)施面向最終用戶的應(yīng)用,它是各種應(yīng)用可以共享的一系列服務(wù)集合。復(fù)合文檔的管理工具,數(shù)據(jù)庫存取工具、文件打印工具、電子郵件服務(wù)都等屬于公共設(shè)施。其標(biāo)準(zhǔn)化使得通用操作具有統(tǒng)一性,4域接口針對(duì)著某一特殊的應(yīng)用領(lǐng)域。可以按不同的應(yīng)用領(lǐng)域來組織領(lǐng)域接口按不同應(yīng)用領(lǐng)域制訂與發(fā)布一系列領(lǐng)域接口規(guī)范目前:財(cái)務(wù)金融,電信,運(yùn)輸,電子商務(wù),仿真等5應(yīng)用接口應(yīng)用程序中的對(duì)象為終端用戶執(zhí)行特定的任務(wù),不是OMG標(biāo)準(zhǔn)化的內(nèi)容總結(jié):對(duì)象管理體系結(jié)構(gòu)——OMAOMA的層次結(jié)構(gòu)支持客戶程序與對(duì)象實(shí)現(xiàn)在一個(gè)分布式環(huán)境中通信。獨(dú)立于實(shí)現(xiàn)對(duì)象的特定平臺(tái)與技術(shù)。客戶程序無需知道如何與對(duì)象通訊、如何激活對(duì)象、對(duì)象如何實(shí)現(xiàn)、如何查找對(duì)象等。并保證了在異類網(wǎng)絡(luò)中對(duì)象的可移植性與可互操作性。
應(yīng)用程序接口公共設(shè)施對(duì)象服務(wù)對(duì)象請(qǐng)求代理CORBAManufacturingCORBAMedCORBAFinanceCORBATelecoms
CORBAServices: 對(duì)象命名、事件、生存期、 持久對(duì)象、事務(wù)、并發(fā)控制 、關(guān)系、外表化、許可機(jī)制 、查詢、屬性、安全性、時(shí) 間、對(duì)象收集、交易對(duì)象等 服務(wù)。應(yīng)用程序接口領(lǐng)域接口CORBAFacilities: 分布式文檔設(shè)施 打印設(shè)施 數(shù)據(jù)庫設(shè)施 電子郵件設(shè)施等與具體應(yīng)用相關(guān)的接口為終端用戶執(zhí)行特定的任務(wù)不是OMG標(biāo)準(zhǔn)化的內(nèi)容對(duì)不同分布對(duì)象的共性依據(jù)基礎(chǔ)性分別抽象并標(biāo)準(zhǔn)化為對(duì)象服務(wù),公共設(shè)施與領(lǐng)域接口標(biāo)準(zhǔn)化工作主要針對(duì)對(duì)象接口而非對(duì)象實(shí)現(xiàn)為提高平臺(tái)無關(guān)性和可互操作性,OMA分離了對(duì)象接口與對(duì)象實(shí)現(xiàn)對(duì)象接口是對(duì)象結(jié)構(gòu)與行為的外部可見的規(guī)格說明,用IDL描述對(duì)象實(shí)現(xiàn)提供對(duì)象內(nèi)部的具體數(shù)據(jù)表示與可執(zhí)行代碼,同一接口的實(shí)現(xiàn)可采用不同語言編寫所有接口均未規(guī)定組件的具體實(shí)現(xiàn),為開發(fā)的實(shí)現(xiàn)活動(dòng)留下自由2.2CORBA體系結(jié)構(gòu)建立在OMG的對(duì)象模型基礎(chǔ)之上,主要由三個(gè)關(guān)鍵部分組成作為分布式對(duì)象通信基礎(chǔ)設(shè)施的對(duì)象請(qǐng)求代理ORB的體系結(jié)構(gòu)接口定義語言IDL的語法和語義以及到各種程序設(shè)計(jì)語言的映射保證可互操作性的標(biāo)準(zhǔn)ORB間的通信協(xié)議GIOP/IIOP2.2.1ORB體系結(jié)構(gòu)ORB接口,動(dòng)態(tài)調(diào)用接口,動(dòng)態(tài)框架接口等標(biāo)準(zhǔn)化接口在CORBA規(guī)范中均以IDL定義ORB是OMA的核心基礎(chǔ)設(shè)施由ORB提供的通信機(jī)制負(fù)責(zé)完成查找請(qǐng)求的對(duì)象實(shí)現(xiàn),讓對(duì)象實(shí)現(xiàn)準(zhǔn)備好接收請(qǐng)求,傳遞構(gòu)成請(qǐng)求的數(shù)據(jù)功能:把客戶發(fā)出的請(qǐng)求傳遞給目標(biāo)對(duì)象,并把目標(biāo)對(duì)象的執(zhí)行結(jié)果返回給發(fā)出請(qǐng)求的客戶。ORB內(nèi)核是ORB最關(guān)鍵的部分,是真正負(fù)責(zé)傳輸請(qǐng)求的通信設(shè)施,每個(gè)產(chǎn)品供應(yīng)商都可以有一個(gè)自己專用的ORB內(nèi)核其重要特征是:提供了客戶和目標(biāo)對(duì)象之間的交互透明性O(shè)RB內(nèi)核的作用對(duì)象的定位編組(marshlling)與解組啟動(dòng)初始服務(wù)屏蔽底層網(wǎng)絡(luò)協(xié)議提供接口庫和其他API客戶執(zhí)行一個(gè)遠(yuǎn)程對(duì)象調(diào)用,對(duì)象引用經(jīng)stub傳給orb。Orb尋找對(duì)應(yīng)的服務(wù)器,確保該服務(wù)器做好接收請(qǐng)求的工作客戶端對(duì)調(diào)用進(jìn)行編組,成為網(wǎng)絡(luò)可傳輸?shù)?,服?wù)器端進(jìn)行解組,送給服務(wù)器啟動(dòng)所調(diào)用的操作。如果有返回參數(shù),按2的逆過程處理透明性對(duì)象位置:客戶不必知道目標(biāo)對(duì)象的物理位置。它可能與客戶一起駐留在同一個(gè)進(jìn)程中或同一機(jī)器的不同進(jìn)程中,也有可能駐留在網(wǎng)絡(luò)上的遠(yuǎn)程機(jī)器中。對(duì)象實(shí)現(xiàn):客戶不必知道有關(guān)對(duì)象實(shí)現(xiàn)的具體細(xì)節(jié)。例如,設(shè)計(jì)對(duì)象所用的編程語言、對(duì)象所在節(jié)點(diǎn)的操作系統(tǒng)和硬件平臺(tái)等。對(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ì)透明地將它激活。對(duì)象通信機(jī)制:客戶不必知道ORB所用的下層通信機(jī)制,如,TCP/IP、管道、共享內(nèi)存、本地方法調(diào)用等。數(shù)據(jù)表示:客戶不必知道本地主機(jī)和遠(yuǎn)程主機(jī)對(duì)數(shù)據(jù)表示方式,如高位字節(jié)在前還是在后等,是否有所不同。透明性2.2.2對(duì)象接口定義客戶程序與對(duì)象實(shí)現(xiàn)之間的界面是對(duì)象的接口定義,對(duì)象接口是服務(wù)雙方共同訂立的合約對(duì)象接口采用OMG的接口定義語言IDL描述,IDL根據(jù)對(duì)象可執(zhí)行的操作定義對(duì)象的類型,并可映射到特定的編程語言或?qū)ο笙到y(tǒng)為在運(yùn)行時(shí)充分利用對(duì)象接口定義的有關(guān)信息,還可將對(duì)象接口定義添加到接口庫服務(wù)中接口庫服務(wù)將對(duì)象接口定義中的內(nèi)容表達(dá)為不同類型對(duì)象的層次結(jié)構(gòu),為應(yīng)用程序運(yùn)行時(shí)動(dòng)態(tài)訪問對(duì)象接口定義提供服務(wù)IDL定義與接口庫表達(dá)相同信息,只是兩者組織方式不同客戶程序只能通過對(duì)象的接口定義了解對(duì)象的邏輯結(jié)構(gòu)對(duì)象實(shí)現(xiàn)可以采用多種方式實(shí)現(xiàn):獨(dú)立服務(wù)程序,一個(gè)程序庫,被包裝的非面向?qū)ο髴?yīng)用程序等通過使用附加的對(duì)象適配器,ORB可支持所有風(fēng)格的對(duì)象實(shí)現(xiàn)2.2.3客戶端機(jī)制靜態(tài)調(diào)用:借助于客戶程序樁自動(dòng)完成動(dòng)態(tài)調(diào)用:利用動(dòng)態(tài)調(diào)用接口手工編碼完成樁,框架是在編譯時(shí)創(chuàng)建并在運(yùn)行時(shí)不再改變,其接口稱靜態(tài)調(diào)用接口,與RMI類似動(dòng)態(tài)調(diào)用接口允許客戶程序調(diào)用在編譯時(shí)尚未確定對(duì)象接口的那些對(duì)象實(shí)現(xiàn)2.2.4服務(wù)端機(jī)制ORB將請(qǐng)求分派給對(duì)象實(shí)現(xiàn)有兩種方式:靜態(tài)通過由IDL生成的框架動(dòng)態(tài)利用動(dòng)態(tài)框架接口對(duì)象實(shí)現(xiàn)與ORB內(nèi)核間的通信由對(duì)象適配器完成,POA負(fù)責(zé)遠(yuǎn)程對(duì)象引用的創(chuàng)建與解釋,對(duì)象方法的調(diào)用,對(duì)象實(shí)現(xiàn)的激活與凍結(jié),將對(duì)象引用映射到相應(yīng)的對(duì)象實(shí)現(xiàn)實(shí)例,對(duì)象實(shí)現(xiàn)的注冊(cè)2.2.5靜態(tài)方式對(duì)象實(shí)現(xiàn)接收請(qǐng)求:靜態(tài)方式通過由IDL生成的框架完成。ORB通過IDL框架查找合適的實(shí)現(xiàn)代碼、傳送參數(shù),并將控制傳給對(duì)象實(shí)現(xiàn),對(duì)象實(shí)現(xiàn)執(zhí)行請(qǐng)求時(shí)可通過對(duì)象適配器OA獲取ORB的某些服務(wù),請(qǐng)求完成后控制與結(jié)果返回給客戶程序??蛻舳税l(fā)送請(qǐng)求靜態(tài)調(diào)用(SII)靜態(tài)調(diào)用借助于客戶程序樁完成。樁與框架在編譯時(shí)創(chuàng)建并且在運(yùn)行時(shí)不再改變,所以這些接口稱為SII。IDL樁負(fù)責(zé)客戶程序的實(shí)現(xiàn)語言與ORB內(nèi)核之間的映射??蛻舫绦蜷_發(fā)者必須在程序編譯之前就知道操作的名字和所有參數(shù)與返回值的類型,實(shí)際的操作名字、參數(shù)值和返回值是編寫在應(yīng)用程序的源代碼中。
靜態(tài)方式的優(yōu)缺點(diǎn)編程更容易-根據(jù)名字調(diào)用遠(yuǎn)程方法,將參數(shù)傳遞給方法,和本地方法調(diào)用相同。更強(qiáng)的類型校驗(yàn)-編譯程序時(shí)加強(qiáng)了類型校驗(yàn)。執(zhí)行良好-比動(dòng)態(tài)方式快40倍左右自編文檔-通過閱讀代碼可以了解正在進(jìn)行的東西。不夠靈活,用戶在系統(tǒng)中添加新的對(duì)象服務(wù)時(shí),客戶程序必須改動(dòng)源程序,重新編譯,才能使用。2.2.6動(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)用。動(dòng)態(tài)調(diào)用1利用DII,客戶方應(yīng)用可以在運(yùn)行時(shí)動(dòng)態(tài)地向任何對(duì)象發(fā)出請(qǐng)求,而不象靜態(tài)調(diào)用那樣,必須在編譯時(shí)就知道特定的目標(biāo)對(duì)象的界面信息。2使用DII時(shí),用戶必須手工構(gòu)造請(qǐng)求信息,包括相應(yīng)的操作及有關(guān)參數(shù)等。3類似地,DSI允許用戶在沒有靜態(tài)框架信息的條件下來獲得對(duì)象實(shí)現(xiàn)。4過程:客戶在運(yùn)行時(shí)發(fā)現(xiàn)服務(wù),獲取接口,動(dòng)態(tài)構(gòu)造請(qǐng)求,從而使客戶方調(diào)用該對(duì)象實(shí)現(xiàn)提供服務(wù)客戶對(duì)象實(shí)現(xiàn)DIIDSIORB內(nèi)核對(duì)象適配器OAORB內(nèi)核接口庫IRDII:DynamicInvocationInterface客戶端程序在編譯的時(shí)候無法得知對(duì)象的詳細(xì)信息,通過DII向遠(yuǎn)端對(duì)象發(fā)起調(diào)用客戶端可以通過DII中所含的標(biāo)準(zhǔn)的API動(dòng)態(tài)的決定:調(diào)用哪個(gè)對(duì)象,調(diào)用對(duì)象中的哪個(gè)操作,操作的參數(shù)是什么可以在運(yùn)行時(shí)動(dòng)態(tài)向任何對(duì)象請(qǐng)求用戶必須手工構(gòu)造請(qǐng)求信息,包括相應(yīng)操作及有關(guān)參數(shù)DIIDII為客戶端程序提供了“構(gòu)建”和“發(fā)起”遠(yuǎn)端對(duì)象調(diào)用的能力接口庫提供了在運(yùn)行時(shí)刻發(fā)現(xiàn)對(duì)象的能力。沒有接口庫,就不會(huì)有真正的CORBA動(dòng)態(tài)特性動(dòng)態(tài)框架接口-DSI一組標(biāo)準(zhǔn)的API服務(wù)器端通過這組標(biāo)準(zhǔn)的API動(dòng)態(tài)的決定調(diào)用的對(duì)象、操作,以及參數(shù)接口倉庫和實(shí)現(xiàn)倉庫ORB提供了兩個(gè)用于存儲(chǔ)有關(guān)對(duì)象信息的服務(wù):接口倉庫和實(shí)現(xiàn)倉庫。接口倉庫1接口倉庫存儲(chǔ)各個(gè)接口信息的模塊,如用IDL編寫的接口定義、常量、類型等。2它本身作為一個(gè)對(duì)象而存在。3應(yīng)用程序可以象調(diào)用其它CORBA對(duì)象所提供的操作一樣,來調(diào)用接口倉庫的操作。4接口倉庫允許應(yīng)用程序在運(yùn)行時(shí)訪問OMGIDL類型系統(tǒng)。例如,當(dāng)應(yīng)用程序在運(yùn)行時(shí)遇到一個(gè)不知道其類型的對(duì)象時(shí),可以通過接口倉庫的操作來遍歷系統(tǒng)中的所有接口信息。5由此可見,接口倉庫的引入很好地支持了CORBA的動(dòng)態(tài)調(diào)用。實(shí)現(xiàn)倉庫1實(shí)現(xiàn)倉庫所完成的功能與接口倉庫類似,只不過它存儲(chǔ)的是對(duì)象實(shí)現(xiàn)的信息。2實(shí)現(xiàn)庫包括的信息讓ORB可以定位并激活對(duì)象的實(shí)現(xiàn)。實(shí)現(xiàn)庫中的信息是特定于ORB或?qū)崿F(xiàn)環(huán)境的,3實(shí)現(xiàn)的安裝和控制策略是通過實(shí)現(xiàn)庫實(shí)現(xiàn)的。除了它可以充當(dāng)ORB功能外,實(shí)現(xiàn)庫通常還保存與ORB對(duì)象實(shí)現(xiàn)相關(guān)的信息。對(duì)象適配器ORB內(nèi)核無法為所有的對(duì)象提供一個(gè)統(tǒng)一、方便有效的界面??梢詫⒛康膶?duì)象分成若干組,由特定的對(duì)象適配器來為各組對(duì)象服務(wù)CORBA給出了對(duì)象適配器(POA),以滿足大多數(shù)對(duì)象的需要POA提供了產(chǎn)生和解釋對(duì)象引用、對(duì)請(qǐng)求進(jìn)行認(rèn)證、激活/去活實(shí)現(xiàn)、激活/去活單個(gè)對(duì)象、通過框架調(diào)用方法等功能.在提供這些功能時(shí),POA要用到一些與操作系統(tǒng)有關(guān)的知識(shí),這些知識(shí)由實(shí)現(xiàn)倉庫提供,實(shí)現(xiàn)倉庫還存放對(duì)象實(shí)現(xiàn)的有關(guān)信息。ORB將服務(wù)請(qǐng)求的參數(shù)及操作控制權(quán)傳遞給POA,由POA將執(zhí)行結(jié)果返回給ORB對(duì)象適配器類似于容器的概念,提供了若干服務(wù):對(duì)象引用的生成與解釋根據(jù)對(duì)象引用找到它對(duì)應(yīng)的對(duì)象實(shí)現(xiàn)方法調(diào)用交互的安全性對(duì)象的激活與終止對(duì)象實(shí)現(xiàn)的注冊(cè)同5個(gè)組件打交道:ORB核心,框架,動(dòng)態(tài)框架,實(shí)現(xiàn)庫,對(duì)象實(shí)現(xiàn)對(duì)象適配器對(duì)象適配器是聯(lián)系對(duì)象實(shí)現(xiàn)與ORB本身的紐帶。另外,它的引入還大大減輕了ORB的任務(wù),從而簡(jiǎn)化了ORB的設(shè)計(jì)。具體地說,對(duì)象適配器主要完成以下工作:對(duì)象登記——利用對(duì)象適配器所提供的操作,可以將CORBA的實(shí)現(xiàn)倉庫中具有編程語言形式的實(shí)體(servant,伺服器)登記為CORBA的對(duì)象實(shí)現(xiàn)。對(duì)象適配器
對(duì)象引用(OR,ObjectReference)的產(chǎn)生——對(duì)象適配器為CORBA對(duì)象生成對(duì)象引用??蛻魬?yīng)用程序通過對(duì)象引用來訪問對(duì)象實(shí)例。服務(wù)器進(jìn)程的激活——如果客戶發(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ì)象。2.3ORB之間的互操作在發(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(Generalinter-ORBProtocol)。2.3.1域指這樣一個(gè)范圍,在其中的對(duì)象具有公共的特征,服從相同的規(guī)則。ORB間的互操作機(jī)制就是為不同實(shí)現(xiàn)的ORB能共存于同一環(huán)境下,而提供的相互識(shí)別和轉(zhuǎn)換的機(jī)制。當(dāng)需要的信息離開它的域時(shí),就必須使用橋接來傳遞信息。橋接的作用是確保信息能完整的從一個(gè)ORB映射到另一個(gè)ORB??刹捎胕nter-ORB實(shí)現(xiàn)間接橋接:不同域中多個(gè)ORB通信直接橋接:同域,即能理解相同的對(duì)象引用和相同的IDLCORBA中的域分為以下幾個(gè)部分
Referencingdomain–對(duì)象引用范圍
Representationdomain–信息傳輸語法和協(xié)議范圍
Networkaddressingdomain–網(wǎng)絡(luò)地址范圍
Networkconnectivitydomain–可能的網(wǎng)絡(luò)信息范圍
Securitydomain–特殊安全策略
Typedomain–特殊標(biāo)識(shí)符范圍
Transactiondomain–特定事物服務(wù)范圍
2.3.2互操作性的實(shí)現(xiàn)從策略上,它分為間接和直接兩種橋接機(jī)制,從實(shí)現(xiàn)層次上線內(nèi)橋接是指在ORB內(nèi)部執(zhí)行必要的轉(zhuǎn)折和代碼映射;請(qǐng)求層橋接是指在ORB之外執(zhí)行請(qǐng)求轉(zhuǎn)換和代碼映射。為了實(shí)現(xiàn)ORB間的互操作,CORBA規(guī)范還定義了GIOP協(xié)議和IIOP協(xié)議。線內(nèi)橋接嵌入橋接的代碼位于ORB中,它完成必要的翻譯和映射功能要求1ORB提供某種附加的服務(wù)(插入新的內(nèi)部處理通訊模式)2引入額外的樁和框架代碼請(qǐng)求層橋接1客戶端ORB收到請(qǐng)求,將橋看作對(duì)象實(shí)現(xiàn),通過DSI將請(qǐng)求發(fā)給橋2橋?qū)⒄?qǐng)求轉(zhuǎn)換為服務(wù)端ORB可理解的形式,通過服務(wù)端ORB的DII發(fā)送轉(zhuǎn)換后的請(qǐng)求給服務(wù)端ORB3若處理請(qǐng)求有返回結(jié)果,則可沿同一路由逆向返回2.3.3協(xié)議GIOP協(xié)議(GeneralInter-ORBProtocol):
溫馨提示
- 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高考數(shù)學(xué)考二輪專題過關(guān)檢測(cè)5 統(tǒng)計(jì)與概率數(shù)-專項(xiàng)訓(xùn)練【含答案】
- 機(jī)械工程中的機(jī)械表面處理規(guī)范要求
- 民主生活會(huì)征求意見表
- 關(guān)于質(zhì)量、工期、服務(wù)等方面的承諾及合理化建議
- 二零二五年度高鐵站燈箱廣告經(jīng)營權(quán)競(jìng)拍合同3篇
- 二零二五年度股權(quán)眾籌項(xiàng)目分配協(xié)議書范本3篇
- 2024年清遠(yuǎn)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫含答案解析
- 2024年海南軟件職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫含答案解析
- 語文S版六下《鯀禹治水》課件知識(shí)分享
- 資產(chǎn)監(jiān)督檢查研究報(bào)告
- 2024 smart汽車品牌用戶社區(qū)運(yùn)營全案
- 第1-6課測(cè)試 初中日語人教版第一冊(cè)
- 《生物質(zhì)熱電聯(lián)產(chǎn)工程設(shè)計(jì)規(guī)范》
- qt軟件設(shè)計(jì)報(bào)告
- 羊肉銷售人員工作匯報(bào)
- 律所標(biāo)書模板
- 法院開展保密教育培訓(xùn)課件
- 2024年九省聯(lián)考甘肅新高考政治卷答案詳解講評(píng)課件(精編)
- 危險(xiǎn)化學(xué)品安全監(jiān)管執(zhí)法培訓(xùn)課件
- 小學(xué)英語小升初專題訓(xùn)練-時(shí)態(tài)專項(xiàng)練習(xí):一般過去時(shí)-50題(含答案)
- 基于深度學(xué)習(xí)的醫(yī)學(xué)圖像增強(qiáng)與生成
評(píng)論
0/150
提交評(píng)論