CORBA技術(shù)分析
- 期刊名字:沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào)
- 文件大?。?39kb
- 論文作者:林娜,徐全生
- 作者單位:沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,
- 更新時(shí)間:2020-09-25
- 下載次數(shù):次
第23卷第4期沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào)Vol. 23 No. 42001年8月Journal of Shenyang University of TechnologyAug.200 1文章編號(hào):1000 - 1646<2001 )04 -0326 -04.CORBA技術(shù)分析林娜,徐全生(沈陽(yáng)工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,遼中沈陽(yáng)10023)摘要:著重介紹了CORBA技術(shù)規(guī)范及其主要組成部分.探討了基于CORBA應(yīng)用的優(yōu)點(diǎn)。并對(duì)目前流行的三種面向?qū)ο笾虚g件模型CORBA.DCOM和Java做了比較分析,總結(jié)出了三種中間件模型的不同適用范圍關(guān)鍵詞:公共對(duì)象請(qǐng)求代理體 系結(jié)構(gòu);對(duì)象請(qǐng)求代理;分布構(gòu)件對(duì)象模型中圍分類號(hào): TP 393文獻(xiàn)標(biāo)識(shí)碼: A面問對(duì)象的技術(shù)是軟件界努力追求的目標(biāo),傳塊組成.統(tǒng)的對(duì)象技術(shù)通過封裝.繼承及多態(tài)提供了良好的CORBA同時(shí)提供了一系列的公共服務(wù)規(guī)范-代碼重用功能,但是這些對(duì)象只存在于一個(gè)程序CosS,其中包括名字服務(wù)、永久對(duì)象服務(wù)、生命周期中,外面的世界并不知道它們的存在,也無(wú)法訪問服務(wù)、事務(wù)處理服務(wù)、對(duì)象事件服務(wù)和安全服務(wù)等,它們,戮解決這些問題就需要提供一個(gè)標(biāo)準(zhǔn)的構(gòu)它們相當(dāng)于-類用于企業(yè)級(jí)計(jì)算的公共構(gòu)件.此件框架,使不同廠家的軟件通過不同的地址空間、外,許多第三方廠商根據(jù)CORBA規(guī)范還針對(duì)電信、網(wǎng)絡(luò)和操作系統(tǒng)交互訪問,該構(gòu)件的具體實(shí)現(xiàn)、位石油等典型的應(yīng)用行業(yè)提供了-系列的公共平臺(tái).置及所依附的操作系統(tǒng)對(duì)客戶來(lái)說(shuō)都是透明的.1.2 接口描述語(yǔ)言(IDL)因此有關(guān)對(duì)象中間件的標(biāo)準(zhǔn)相繼問世,像OMC組使用接U描述語(yǔ)言編寫的對(duì)象接口,使得與織(Object Management Croup)的公共對(duì)象請(qǐng)求代理語(yǔ)言無(wú)關(guān)的獨(dú)立性成為叮能.IDL 使得所有.體系結(jié)構(gòu)(Common Object Request Broker Architec-CORBA對(duì)象以一種方式被描述,僅僅需要- -個(gè)ture, CORBA)、Microsoft的構(gòu)件對(duì)象模型(Componet由本地語(yǔ)言(C/C+ +、CORBA或Java)到IDL的Object Model, COM)等,這些標(biāo)準(zhǔn)都極大地促進(jìn)了“橋槊”. CORBA對(duì)象的互通信要以對(duì)象請(qǐng)求代理對(duì)象中間件技術(shù)的發(fā)展,本文著重講述了CORBA .為中介,這種互通信可以在多種流行通信協(xié)議(如技術(shù),貿(mào)后又對(duì)3種流行的面向?qū)ο笾虚g件模型做TCP/IP或IPX/SPX)之上實(shí)現(xiàn).在TCP/IP上,來(lái)了比車:分析.自于不同開發(fā)商的0RB用IIOP協(xié)議進(jìn)行通訊.為了保持CORBA的商業(yè)中立性和語(yǔ)言中立1 CORBA(公共對(duì)象請(qǐng)求代理體系性,必須有個(gè)中介,存在于像C+ + CORBA服務(wù)結(jié)構(gòu))器代碼和Java CORBA客戶機(jī)這樣的實(shí)體中間,這就是IDL.一個(gè)底層對(duì)象的若干相關(guān)方法和屬性被IDL集入一個(gè)單一接口。一旦IDL接口定義完成,.1.1 C0RBA簡(jiǎn)介CORBA是OMG組織在1991年提出的公共對(duì)它可以以Stub碼或框架代碼的形式編譯成所選用象請(qǐng)求代理體系結(jié)構(gòu)的技術(shù)規(guī)范.CORBA有很廣的語(yǔ)言.在所有的ORB中都有IDL編譯器.泛的應(yīng)用,它使服務(wù)器真正能夠?qū)崿F(xiàn)高速度、高穩(wěn)值得注意的-一點(diǎn)是, IDL不同于其他的面向?qū)Χㄐ蕴幚泶罅坑脩舻脑L問?,F(xiàn)在很多大型網(wǎng)站后象程序設(shè)計(jì)語(yǔ)言,不能用它指定所定義的類或方法的具體實(shí)現(xiàn).因此,僅僅將它作為一種定義底層.端的服行器都運(yùn)行CORBA,CORBA的底層結(jié)構(gòu)是基于面向?qū)ο竽P蛯?duì)象接口的語(yǔ)言要好得多.的,由UMC接口描述語(yǔ)言對(duì)象請(qǐng)求代理和1I0P1.3ORB接口結(jié)構(gòu)標(biāo)準(zhǔn)協(xié)議,也稱網(wǎng)絡(luò)ORB交換協(xié)議) 3個(gè)關(guān)鍵模為了創(chuàng)建一個(gè)遵從CORBA規(guī)范的應(yīng)用程序,中國(guó)煤化工收騙日期: 200-11-1515MHCNMHG作者簡(jiǎn)介:林娜(1977-),女 ,遼寧沈陽(yáng)人,沈陽(yáng)工業(yè)大學(xué)助教,碩t: .第4期林娜等:CORBA技術(shù)分析327ORB是CORBA必須提供的.沒有ORB, CORBA1.5 基于OCRBA應(yīng)用的優(yōu)點(diǎn)應(yīng)用程序就無(wú)法T作.CORBAORB最顯著的功CORBA是開放式的、獨(dú)立于商、用于網(wǎng)絡(luò)能是對(duì)應(yīng)用程序或是其他ORB的請(qǐng)求予以響應(yīng),上計(jì) 算機(jī)應(yīng)用底層結(jié)構(gòu).任何廠家、計(jì)算機(jī)操作實(shí)現(xiàn)細(xì)節(jié)對(duì)軟件開發(fā)者的透明性,是ORB的系統(tǒng)、編程語(yǔ)言及網(wǎng)絡(luò)環(huán)境下的基于CORBA的應(yīng)一個(gè)杰出的特性.用均使用IIOP標(biāo)準(zhǔn)協(xié)議,所以任何基于CORBA在CORBA應(yīng)用程序運(yùn)行期間,ORB可能被的應(yīng)用均能協(xié)同工作.請(qǐng)求做許多不同的事性,包括查找并調(diào)用遠(yuǎn)程計(jì)在小型的Client/Server 模式的應(yīng)用系統(tǒng)中使算機(jī)上的對(duì)象、負(fù)責(zé)不同編程語(yǔ)言之間的參數(shù)轉(zhuǎn)用CORBA,能給系統(tǒng)提供可靠的、標(biāo)準(zhǔn)的底層結(jié)換(如C+ +到Java)、用動(dòng)態(tài)方法調(diào)用激活遠(yuǎn)程對(duì)構(gòu),可以使用CORBA來(lái)構(gòu)建、運(yùn)行在不同平臺(tái)上象等.的、用不同編程語(yǔ)言實(shí)現(xiàn)的客戶端及服務(wù)器端的圖I所示為一個(gè)獨(dú)立的ORB的結(jié)構(gòu),箭頭說(shuō)應(yīng)用程序.如果企業(yè)廣泛使用基于CORBA的應(yīng)明ORB的調(diào)用關(guān)系。為了提出一個(gè)請(qǐng)求,客戶端用,會(huì)帶來(lái)巨大的商業(yè)利益.企業(yè)中的不同應(yīng)用可以使用動(dòng)態(tài)調(diào)用接口或者客戶端的Stub程序,系統(tǒng)都有不同的功能,能夠處理不同的數(shù)據(jù),這些客戶端也可以直接和ORB交互.系統(tǒng)如果能結(jié)合起來(lái)協(xié)同工作,就會(huì)產(chǎn)生更大的商業(yè)價(jià)值.如果應(yīng)用系統(tǒng)都是用CORBA來(lái)實(shí)現(xiàn),客戶端對(duì)象實(shí)現(xiàn)就可以容易地移植到網(wǎng)上,企業(yè)內(nèi)部可以通過網(wǎng)絡(luò)協(xié)同工作了。隨著業(yè)務(wù)的不斷擴(kuò)展,公司的電子商務(wù)站點(diǎn)動(dòng)態(tài)戶媚ORB動(dòng)態(tài)理用Subs程序|接口|骨架靜態(tài)骨架, 靜杏骨架的負(fù)載會(huì)不斷增大,總有一天負(fù)載量會(huì)超過系統(tǒng)預(yù)先設(shè)計(jì)的支持能力??梢允褂肅ORBA來(lái)制作ORB內(nèi)核基于對(duì)象模型的服務(wù)器端的應(yīng)用系統(tǒng),解決系統(tǒng)圖1ORB結(jié)構(gòu)負(fù)載的問題??紤]到當(dāng)前的負(fù)載及以后可能達(dá)到1.4 遠(yuǎn)程調(diào)用的負(fù)載情況,可以選擇ORB,它可以在多個(gè)服務(wù)器對(duì)象的實(shí)現(xiàn)通過IDL.靜態(tài)骨架或動(dòng)態(tài)骨架的之間實(shí)現(xiàn)負(fù)載均衡。它是基于OMG可移動(dòng)對(duì)象調(diào)用來(lái)接受請(qǐng)求.適配器的,當(dāng)系統(tǒng)負(fù)載較重時(shí)(比如運(yùn)行基于Web,圖2所示為一個(gè)遠(yuǎn)程調(diào)用過程.為了調(diào)用遠(yuǎn)的應(yīng)用),叮以更充分地利用系統(tǒng)硬件資源.程的對(duì)象實(shí)例,客戶端首先獲取它的對(duì)象參數(shù).如果應(yīng)用系統(tǒng)需要很高的穩(wěn)定性(比如股票客戶端在進(jìn)行遠(yuǎn)程請(qǐng)求時(shí)使用與本地請(qǐng)求相同的或證券方面的應(yīng)用),可以利用CORBA提供的容代碼,只不過用對(duì)象參數(shù)代替了遠(yuǎn)程實(shí)例.當(dāng)錯(cuò)機(jī)制.CORBA的容錯(cuò)機(jī)制不僅能實(shí)現(xiàn)負(fù)載均ORB檢測(cè)對(duì)象參數(shù)并發(fā)現(xiàn)目標(biāo)是遠(yuǎn)程對(duì)象的時(shí)衡,還能使每- -個(gè)對(duì)象同時(shí)在兩個(gè)或多個(gè)服務(wù)器候,它會(huì)調(diào)度這些參數(shù),把請(qǐng)求轉(zhuǎn)移到網(wǎng)絡(luò)上,從t運(yùn)行,當(dāng)其中的個(gè)出現(xiàn)故障時(shí),系統(tǒng)能自動(dòng)切而連接到遠(yuǎn)程對(duì)象的ORB上. ORB可以從對(duì)象換到另一個(gè)服務(wù)器,如果多個(gè)服務(wù)器的硬件配置參數(shù)中判斷出目標(biāo)對(duì)象是遠(yuǎn)程的,客戶端卻做不.相同,服務(wù)器會(huì)擁有很高的穩(wěn)定性.到這一點(diǎn),當(dāng)客戶端發(fā)出請(qǐng)求時(shí),對(duì)象參數(shù)不用CORBA對(duì)象可以用任何--種CORBA軟件去分辨月標(biāo)對(duì)象的位置.開發(fā)商所支持的語(yǔ)言,如C、C+ +、Java、Ada和這保證了對(duì)象位置的透明性.CORBA的這Small talk等等來(lái)編寫.同樣,CORBA對(duì)象可以運(yùn)些基本原理簡(jiǎn)化了分布式對(duì)象的計(jì)算機(jī)應(yīng)用的行在任何一種CORBA軟件開發(fā)商所支持的平臺(tái).設(shè)計(jì).上,如Solaris、Windows95/NT .Open VMS、Digital U-(客戶端( 對(duì)象,)客戶端] (對(duì)象。nix、 HP-UX或AIX等。這意味著可以在Win-dows95'下運(yùn)行Java應(yīng)用程序,同時(shí)動(dòng)態(tài)調(diào)人并使Stub骨架Sub用C+ +對(duì)象,而實(shí)際上該對(duì)象可能存儲(chǔ)于一個(gè)在.程序Intermet上的Unix Web服務(wù)器上.目前,對(duì)于較流行的編程語(yǔ)言(包括C+ +,moP協(xié)議Smalltalk、Java和Ada 95),已經(jīng)有了許多第三方的ORB.隨著其他語(yǔ)言的逐漸流行, CORBA開發(fā)商毫圖2 ORB 遠(yuǎn)程調(diào)用過程中國(guó)煤化工MHCNMHG328沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào)第23卷無(wú)疑問地要做出相應(yīng)的ORB來(lái)支持它們.例如,用之間進(jìn)行可靠的消息通訊和管理.此外,微軟在.IONA公司的orbix, inprise公司的vibroker等.網(wǎng)絡(luò)安全方面也有-整套實(shí)用的解決方案.2.3 Java2CORBA、DCOM和Java三種中Java對(duì)于軟件構(gòu)件的觀點(diǎn)與CORBA中的構(gòu)間件的比較分析年觀點(diǎn)存在定的區(qū)別.在CORBA中, CORBA/ORB相當(dāng)于一根軟總線,構(gòu)件可以即插即用.也就2.1CORBA是說(shuō)從CORBA的觀點(diǎn)看來(lái),所有構(gòu)件的地位相當(dāng),CORBA是一種語(yǔ)言中性的軟件構(gòu)件模型,可完全是一種平行的關(guān)系。而在Java中,軟件構(gòu)件是以跨越不同的網(wǎng)絡(luò)、不同的機(jī)器和不同的操作系能夠進(jìn)行可視化操作的可重用軟件,它滿足- -定的統(tǒng),實(shí)現(xiàn)分布對(duì)象之間的互操作.特征要求,并可以根據(jù)需要進(jìn)行定制和組裝.2.2 DCOMJava 的軟件構(gòu)件稱為JavaBean,或者簡(jiǎn)稱DCOM是Microsoft與其他業(yè)界廠商合作提出Bean. 按照J(rèn)avasof1 給出的定義,Bean 是能夠在構(gòu)的一種分布構(gòu)件對(duì)象模型,其發(fā)展經(jīng)歷了一個(gè)相當(dāng)造工具中進(jìn)行可視化操作的可重用軟件. JavaBean .曲折的過程. DCOM起源于動(dòng)態(tài)數(shù)據(jù)交換(DDE)技的組件模型包含組件和容器兩個(gè)基本要素,這一思術(shù),通過剪切/粘貼(Cut/ Pasle)實(shí)現(xiàn)兩個(gè)應(yīng)用程序想在Acive X/DCOM技術(shù)中同樣存在.作為一種之間共卓數(shù)據(jù)的動(dòng)態(tài)交換,對(duì)象連接與嵌人OLE典型的組件模型, Java Bean具有屬性、方法、事件、就是從)DE引伸而來(lái)的.自我檢查.定制和永久性等6個(gè)方面的特征.其中.隨后,Microsoft引人了構(gòu)件對(duì)象模型COM,形前3種特征(屬性.方法、事件)是面向?qū)ο蟮慕M件成了COM對(duì)象之間實(shí)現(xiàn)互操作的二進(jìn)制標(biāo)COM必須滿足的基本要求,后3種特征(自我檢查定制規(guī)定了對(duì)象模型和編程要求,使COM對(duì)象可以與畫和水久性)主要側(cè)重于對(duì)JavaBeans組件性質(zhì)的刻其他對(duì)象相互操作.這些對(duì)象可以用不同的語(yǔ)言實(shí)現(xiàn),其結(jié)構(gòu)也可以不同.基于COM,微軟進(jìn)- -步最近兩年, Java 又提出了企業(yè)JavaBean(EJB)將OLE技術(shù)發(fā)展到OLE2.其中, COM實(shí)現(xiàn)了OLE的思想,其結(jié)構(gòu)完全采用基f軟件構(gòu)件模型的分布對(duì)象之間的底層通信工作,其作用類似于CORBA/對(duì)象計(jì)算體系,如圖3所示.ORB.不過此時(shí)的COM只能作用在單機(jī)Wintel平企業(yè)JavaBean各組成部分的含義為:臺(tái)上,在OLE2中,也出現(xiàn)了所熟知的拖-放技術(shù)*JDB:基于SQL標(biāo)準(zhǔn)Java數(shù)據(jù)庫(kù)連接,其基以及OLE自動(dòng)化.本功能和設(shè)計(jì)與ODBC相似;同時(shí),微欽在VB矧人了可以嵌入任何可視* JavaRMl: Java遠(yuǎn)程方法調(diào)用;構(gòu)件的通用模型VBX. VBX的主要局限在它并不* JNDI: Java名字與目錄服務(wù);是一個(gè)開放的結(jié)構(gòu),也沒有為第三方軟件開發(fā)商提* JavaIDL: Java和COBRA之間的連接;供VBX集成的標(biāo)準(zhǔn),最后,微軟將上述思想集中* JTS: Java事務(wù)管理服務(wù);在-起,以COM作為構(gòu)件通信框架. VBx也發(fā)展* JMAPI: Java網(wǎng)絡(luò)管理API;為OLE控件oCX的形式,DCOM是COM在分布*JMS:Java消息傳遞服務(wù).計(jì)算方面的自然延續(xù),它為分布在網(wǎng)絡(luò)不同節(jié)點(diǎn)的兩個(gè)COM構(gòu)件提供了操作的基礎(chǔ)結(jié)構(gòu),而所有以L JavaBeans構(gòu)件HTMLOLE為標(biāo)志的技術(shù)如今也掛上了ActiveX 標(biāo)志.IIOP或其它協(xié)議從CORBA的觀點(diǎn)來(lái)看,可以粗略地說(shuō),AotiveX控件與DCOM的關(guān)系相當(dāng)于CORBA構(gòu)件與ServletsORB的關(guān)系,當(dāng)然,按照微軟一貫的產(chǎn)品開發(fā)邏企業(yè)JavaBeans構(gòu)件輯,微妙的思想都退到了幕后,而提供給開發(fā)者的Server是一個(gè)以Wizard方式生成各種應(yīng)用的可視化開發(fā)Platform1M|:環(huán)境.在公共服務(wù)方面,微軟提出了自己的事務(wù)服務(wù)器MTS和消息隊(duì)列服務(wù)器MSMQ.前者與coR.BA付淑筍務(wù)服務(wù)目標(biāo)類似,后者則是為了保證應(yīng)中國(guó)煤化工”結(jié)構(gòu)MYHCNMHG第4期林娜等:CORBA技術(shù)分析329遠(yuǎn)程方法調(diào)用機(jī)制RMI是構(gòu)成Jave分布對(duì)持,并制定了二者之間相互轉(zhuǎn)換的規(guī)范;COM以象模型的基礎(chǔ)結(jié)構(gòu).RMI系統(tǒng)包括樁/框架層、Windows為主要陣地,未對(duì)雙方的轉(zhuǎn)換給予充分遠(yuǎn)程引用層和傳輸層.目前,RMI的傳輸層是基.重視.于TCP實(shí)現(xiàn)的,將來(lái)的RMI體系結(jié)構(gòu)建立在I-表13 種構(gòu)件模型的比較分析I0P協(xié)議之上,可以實(shí)現(xiàn)Java技術(shù)與CORBA技集成性CORBA/ ORB ActiveX/ DCOM EJB/ RMI術(shù)的深層融合,應(yīng)用層建立在RMI系統(tǒng)之上.支持跨語(yǔ)育操作支持AD用CORBA的觀點(diǎn)來(lái)看,企業(yè)JavaBean中包跨平臺(tái)操作括了分布構(gòu)件的基礎(chǔ)結(jié)構(gòu),也包括了各類公共網(wǎng)絡(luò)通訊公共服務(wù)構(gòu)件服務(wù)構(gòu)件.并且由于Java與生俱來(lái)的跨平臺(tái)性可用性.和語(yǔ)言-致性,使其成為軟件構(gòu)件模型的一個(gè)事務(wù)處理消息服務(wù)有力的競(jìng)爭(zhēng)者.目錄服務(wù)2.4比 較分析結(jié)果容錯(cuò)性下面從企業(yè)計(jì)算的角度出發(fā),對(duì)CORBA、產(chǎn)品成熟性DCOM和Java三種構(gòu)件模型進(jìn)行分析比較.按軟件開發(fā)商的支持度可擴(kuò)展性照企業(yè)計(jì)算的要求,構(gòu)件模型的比較分析應(yīng)該依據(jù)以下原則:集成性、可用性、可擴(kuò)展性。其對(duì)象中間件技術(shù)發(fā)展迅速,各大軟件廠商都中集成性和可用性進(jìn)行了細(xì)化,表1給出了三在積極參與有關(guān)標(biāo)準(zhǔn)的制定和產(chǎn)品開發(fā)工作,像種軟件構(gòu)件技術(shù)的比較結(jié)果.其中,A:優(yōu)秀B:IBM、HP、DEC、AT&T、ICL、Microsoft等都制定了良好C:一般D:稍差E:差.相應(yīng)的戰(zhàn)略,許多對(duì)象中間件的專門廠商也相繼誕生,未來(lái)的對(duì)象中間件市場(chǎng)將會(huì)出現(xiàn)群雄逐3結(jié)論鹿的局面.不同的規(guī)范之間既存在競(jìng)爭(zhēng),也存在協(xié)參考文獻(xiàn):[1 Oue R, Patrick P, Roy M. CORBA教程- -公 共對(duì)象請(qǐng)求作. CORBA與JavaBean 在競(jìng)爭(zhēng)的同時(shí),互相借代理體系結(jié)構(gòu)|MI.李師賢譯.北京:清華、學(xué)出版鑒、互相影響、并互相支持.而CORBA與COM社,1999.之間更多的是一種競(jìng)爭(zhēng)關(guān)系CORBA以U-121王少峰,董麗,王克宏.EJB-.Java服務(wù)器端構(gòu)件模型[N].計(jì)算機(jī)世界,1999-11 -22.15.NIX為主要陣地,在Windows上也有很好的支CORBA technology and comparision in object oriented middle wore modelLIN Na, XU Quan-sheng(School of Information Science and Engineering, Shenyang University of Technology,Shenyang 110023, China)Abstract: This paper narrates CORBA (Common 0bject Request Broker Architecture )technical eriterion main-ly, addresses the excellence of the applications based on CORBA. Then it compares and analyses three popularobject orienled middle ware model.Key words: CORBA; ORB; DCOM中國(guó)煤化工MYHCNMHG
-
C4烯烴制丙烯催化劑 2020-09-25
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-09-25
-
生物質(zhì)能的應(yīng)用工程 2020-09-25
-
我國(guó)甲醇工業(yè)現(xiàn)狀 2020-09-25
-
石油化工設(shè)備腐蝕與防護(hù)參考書十本免費(fèi)下載,絕版珍藏 2020-09-25
-
四噴嘴水煤漿氣化爐工業(yè)應(yīng)用情況簡(jiǎn)介 2020-09-25
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-09-25
-
甲醇制芳烴研究進(jìn)展 2020-09-25
-
精甲醇及MTO級(jí)甲醇精餾工藝技術(shù)進(jìn)展 2020-09-25




