![分布式CORBA通訊技術(shù)在冶金自動化中的應(yīng)用_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/20c61dca-6487-42f2-bb06-92eb306e75e7/20c61dca-6487-42f2-bb06-92eb306e75e71.gif)
![分布式CORBA通訊技術(shù)在冶金自動化中的應(yīng)用_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/20c61dca-6487-42f2-bb06-92eb306e75e7/20c61dca-6487-42f2-bb06-92eb306e75e72.gif)
![分布式CORBA通訊技術(shù)在冶金自動化中的應(yīng)用_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/20c61dca-6487-42f2-bb06-92eb306e75e7/20c61dca-6487-42f2-bb06-92eb306e75e73.gif)
![分布式CORBA通訊技術(shù)在冶金自動化中的應(yīng)用_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/20c61dca-6487-42f2-bb06-92eb306e75e7/20c61dca-6487-42f2-bb06-92eb306e75e74.gif)
![分布式CORBA通訊技術(shù)在冶金自動化中的應(yīng)用_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/20c61dca-6487-42f2-bb06-92eb306e75e7/20c61dca-6487-42f2-bb06-92eb306e75e75.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、分布式CORBA通訊技術(shù)在冶金自動化中的應(yīng)用 關(guān)鍵詞:CORBA;客戶機/服務(wù)器;分布式;冶金自動化 1、什么是CORBA CORBA(Common Object Request Broker Architecture,公共對象請求代理體系結(jié)構(gòu),通用對象請求代理體系結(jié)構(gòu))是由OMG(對象管理組織,Object Management Group)組織制訂的一種標準的面向?qū)ο髴?yīng)用程序體系規(guī)范?;蛘哒f CORBA體系結(jié)構(gòu)是對象管理組織(OMG)為解決分布式處理環(huán)境(DCE)中,硬件和軟件系統(tǒng)的互連而提出的一種解決方案,其核心是一套標準的語言、接口和協(xié)議,
2、以支持異構(gòu)分布應(yīng)用程序間的互操作性及獨立于平臺和編程語言的對象重用;OMG組織是一個國際性的非盈利組織,其職責是為應(yīng)用開發(fā)提供一個公共框架,制訂工業(yè)指南和對象管理規(guī)范,加快對象技術(shù)的發(fā)展。 2、CORBA特點 CORBA定義了一種面向?qū)ο蟮能浖?gòu)件構(gòu)造方法,使不同的應(yīng)用可以共享由此構(gòu)造出來的軟件構(gòu)件;每個對象都將其內(nèi)部操作細節(jié)封裝起來,同時又向外界提供了精確定義的接口,從而降低了應(yīng)用系統(tǒng)的復(fù)雜性,也降低了軟件開發(fā)費用;CORBA的平臺無關(guān)性實現(xiàn)了對象的跨平臺引用,開發(fā)人員可以在更大的范圍內(nèi)選擇最實用的對象加入到自己的應(yīng)用系統(tǒng)之中;CORBA的語言無關(guān)性使開發(fā)人員可以在更大的范圍內(nèi)相互利用別人的
3、編程技能和成果, 是實現(xiàn)軟件復(fù)用的實用化工具; 利用CORBA系統(tǒng)進行分布對象應(yīng)用的開發(fā)具有下面三個特點: 開發(fā)代價小、效率高。系統(tǒng)開發(fā)者只需要編寫描述服務(wù)對象接口的IDL語言文件并安裝描述文件,實現(xiàn)服務(wù)對象的功能即完成了全部的任務(wù)。其它的相關(guān)代碼或者是由IDL編譯器自動創(chuàng)建,或者是由ORB 類庫提供,應(yīng)用程序員并不需要編寫例如網(wǎng)絡(luò)通信、數(shù)據(jù)編碼/解碼、名址映射和安全管理的程序代碼,從而可以把工作重點放到服務(wù)對象實現(xiàn)的過程中去。 通過CORBA系統(tǒng)的支持,一個服務(wù)對象可以透明地被分布在本地和網(wǎng)絡(luò)上的客戶所調(diào)用,擴大了服務(wù)對象的使用范圍,為分布的客戶所共享。 CORBA系統(tǒng)作為“軟件總線”,可以
4、為服務(wù)對象提供“ 即插即用”的功能,而且當對象實現(xiàn)改進或升級時,只要接口保持不變,客戶代碼無需作任何改動。 3、CORBA原理 CORBA體系結(jié)構(gòu)的主要目的是定義一個描述客戶機如何能向遠程的對象實現(xiàn)發(fā)送請求的框架,并潛在地從對象處得到回應(yīng)。對象接口用與編程語言無關(guān)的接口定義語言描述?;旧嫌袃煞N不同的方式來讓客戶機和對象實現(xiàn)發(fā)送和接收請求:靜態(tài)方法和動態(tài)方法。靜態(tài)方法要求所有的IDL接口在編譯時已知,這樣IDL編譯器就能生成樁和框架代碼,這些都必須鏈接到實現(xiàn)。動態(tài)方法使用戶在編譯時不用了解不同的IDL接口就能實現(xiàn)用程序來處理任何類型的請求。處理請求的動態(tài)方式要求在客戶端使用動態(tài)激發(fā)接口( Dy
5、namic Invocation Interface,DII)以及在服務(wù)器端使用動態(tài)框架接口(Dynamic Skeleton Interface,DSI)。DII和DSI通常用來構(gòu)建如橋接器等一般的系統(tǒng)級組件。 對于正常的應(yīng)用程序,靜態(tài)樁和框架的使用更加普遍。靜態(tài)方法的好處是使用戶能很好 地使用CORBA對象,就好像它們是編程語言中的普通元素一樣。在客戶端,這通過使用代理對象來完成。代理是遠程目標對象的本地代表。代理包含足夠的信息來向遠程目標對象發(fā)送請求,封裝網(wǎng)絡(luò)地址、端口號等細節(jié)。代理對象通過使用客戶機編程語言的標準類型,提供了以類型安全的方式來訪問目標對象的方法。如果客戶機想使用實現(xiàn)了S
6、tock IDL接口的對象,樁代碼就會向它提供等價的用特定編程語言編寫的Stock接口,例如C 的Stock類。如果客戶機想向遠程Stock對象實現(xiàn)發(fā)送消息,它只需簡單地激發(fā)本地代理的一個方法。樁代碼,即生成的代理實現(xiàn),負責打包(marshal)請求的參數(shù),這樣客戶機的ORB運行時模塊就能向目標服務(wù)器發(fā)送消息。服務(wù)器的ORB運行時模塊讀取從網(wǎng)絡(luò)傳來的消息,并把消息傳給生成的框架代碼,使得框架代碼解包請求的參數(shù),這樣它就能把這些參數(shù)傳遞到目標對象的實現(xiàn)。生成的框架把請求作為服務(wù)器端的正常方法調(diào)用來傳遞,使得客戶機和服務(wù)器都像對待普通的編程語言對象一樣來對待CORBA對象。請求的回答能以同樣的方式
7、發(fā)送回客戶機。因為靜態(tài)接口比動態(tài)接口使用得更普遍,這里著重講述靜態(tài)接口。圖2-1總結(jié)了使用靜態(tài)接口的CORBA遠程激發(fā)的原理。請求的CORBA模型假定每個請求都有一個目標、一個操作和一系列參數(shù)。目標標識目標對象,操作描述所激發(fā)操作的名稱,而參數(shù)則是需要傳遞的數(shù)據(jù)。一個請求必須提供一種激發(fā)功能。激發(fā)功能可以有不同的語義,例如阻塞和非阻塞的調(diào)用,或是單向的語義。 3.1基于C 的CORBA通訊架構(gòu) 如圖2為基于C 的CORBA通訊示意圖,其中最底層為CORBA庫支持,中間為C 代碼,最頂層為IDL接口文件。使用IDL編譯工具生成IDLC(客戶端)代碼和IDLS(服務(wù)端)代碼。再使用編譯工具將生成的
8、代碼分別與服務(wù)器、客戶端程序一同編譯成CORBA應(yīng)用程序。 4、CORBA通訊應(yīng)用舉例 某鋼廠過程控制系統(tǒng)由核心程序和代理程序組成;其中代理程序負責調(diào)用核心程序或被其它代理程序調(diào)用;核心程序負責業(yè)務(wù)邏輯模型處理; CORBA通信應(yīng)用創(chuàng)建步驟如下: 4.1、首先定義接口的IDL文件。 假設(shè)代理A的 IDL接口如下: interface A_IDL oneway void OnXXX 1(in OctetSequence seq); oneway void OnXXX 2(in OctetSequence
9、 seq); oneway void OnXXX 3(in OctetSequence seq); oneway void OnXXX 4(in OctetSequence seq); oneway void OnXXX 5(in OctetSequence seq); ; 表示A中OnXXX1, OnXXX2, OnXXX3, OnXXX4, OnXXX5個接口 oneway異步傳輸,顧名思義,oneway就是"單向",即客戶機發(fā)出它們的激發(fā),然后繼續(xù)處理,而用不著在發(fā)出一請求后阻塞,直到結(jié)果返回,當服務(wù)器完成對該請求的處理后,它可以通過向客戶機發(fā)回一相應(yīng)的單向激發(fā)把結(jié)果
10、返回,也可以不返回結(jié)果。 4.2、編譯IDL文件。 4.3、編寫服務(wù)器端程序。 /file:A.cpp #include"A.hpp"/always include own header first void A:f() /do something 4.4、編寫客戶端程序。 #include “TelegramPtr.hpp” #include “ExampleIDLC.h” #include “MyStruct.hpp” #include "Dbg.hpp" void callServer() Dbg d("callServer")
11、; TelegramPtr telegram; / the “telegram” telegram->x=3;/assign fields through operator-> telegram->y = 4; / get a CORBA object CORBAObjectWrapperserver(“server”,“A1”); / call f on the object TRY_INVOKE_DBG(server->f(telegram), d); / passing telegram as OctetSequence by implicit conversion 調(diào)用方式: TRY_INVOKE_DBG_PROC(m_A,OnXXX (seq),d); 其中m_A為A類的對象,或稱是服務(wù)器,OnXXX為A類的成員函數(shù)。 4.5、某廠分布式CORBA通訊結(jié)構(gòu) 如下圖為通訊模塊關(guān)系圖,其中,白底黑框為非功能模塊、白底粗框為代理模塊、黑底為核心模塊。所有帶箭頭直線間通訊為CORBA通訊。 該系統(tǒng)先進可靠,模塊劃分清晰分明,模塊之間耦合較小,且該系統(tǒng)可靈活配置,維護、擴充方便,可以快速運用在治金自動化及其它系統(tǒng)中。對其它同類系統(tǒng)有借鑒作用。 參考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)公司融資合同范本
- 艙口蓋系統(tǒng)行業(yè)深度研究報告
- 化肥長期供貨合同范本
- 場地使用出租合同范本
- 事業(yè)單位聘用合同范本
- 共享叉車租賃合同范例
- 副食購買合同范本
- 充電樁維修合同范本
- 勞務(wù)法合同范本
- 加盟合同范本
- 戰(zhàn)略管理與倫理
- 如何構(gòu)建高效課堂課件
- 虛擬化與云計算技術(shù)應(yīng)用實踐項目化教程 教案全套 第1-14周 虛擬化與云計算導(dǎo)論-騰訊云服務(wù)
- 甲基丙烯酸甲酯生產(chǎn)工藝畢業(yè)設(shè)計設(shè)備選型與布置模板
- 徐金桂行政法與行政訴訟法新講義
- 瀝青拌合設(shè)備結(jié)構(gòu)認知
- 2023年北京高考政治真題試題及答案
- 復(fù)旦中華傳統(tǒng)體育課程講義05木蘭拳基本技術(shù)
- 北師大版五年級上冊數(shù)學教學課件第5課時 人民幣兌換
- 工程回訪記錄單
- 住房公積金投訴申請書
評論
0/150
提交評論