欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

CORBA的基本內(nèi)容(上)

系統(tǒng) 1773 0

CORBA的基本內(nèi)容(上)

(本文轉(zhuǎn)載自軟件工程專家網(wǎng) www.21cmm.com

蘇洋

  回顧上一講中在介紹CORBA體系結(jié)構(gòu)時,曾強(qiáng)調(diào)CORBA在提高組件重用性、增強(qiáng)分布計算功能方面具有的突出特點:
  ● 引入中間件作為事務(wù)代理;
  ● 客戶程序與服務(wù)器程序完全分離;
  ● 與面向?qū)ο蟮慕8拍钕嘟Y(jié)合;
  ● 引入接口定義語言描述服務(wù)對象功能。

  CORBA規(guī)范只是描述了CORBA系統(tǒng)中各個構(gòu)件的基本情況以及構(gòu)件在系統(tǒng)中承擔(dān)的任務(wù),并沒有從功能實現(xiàn)的細(xì)節(jié)上規(guī)定必須如何建立一個基于CORBA規(guī)范的軟件系統(tǒng)產(chǎn)品。這樣,對于基于CORBA的軟件產(chǎn)品開發(fā)而言,程序設(shè)計人員可以自由地選擇實現(xiàn)方式,但前提是遵循規(guī)范中各個構(gòu)件的實現(xiàn)原則。在本講和下一講中,將詳細(xì)介紹CORBA中各個構(gòu)件的主要內(nèi)容。

對象請求代理(ORB)

1. 對象請求代理(ORB,Object Request Broker)的作用

  在傳統(tǒng)的基于客戶機(jī)/服務(wù)器模式的應(yīng)用程序開發(fā)過程中,項目開發(fā)人員遵循公開的標(biāo)準(zhǔn)或自由設(shè)計模塊間的協(xié)議,這樣的協(xié)議依賴于網(wǎng)絡(luò)類型、實現(xiàn)語言、應(yīng)用方式等。引入ORB后,客戶只要遵循服務(wù)對象的對外接口標(biāo)準(zhǔn)向服務(wù)對象提出業(yè)務(wù)請求,由ORB在分布式對象間建立客戶-服務(wù)對象關(guān)系。總結(jié)起來,ORB的作用包括:
  ● 接受客戶發(fā)出的服務(wù)請求,完成請求在服務(wù)對象端的映射;
  ● 自動設(shè)定路由尋找服務(wù)對象;
  ● 提交客戶參數(shù);
  ● 攜帶服務(wù)對象計算結(jié)果返回客戶端。

圖1 客戶服務(wù)請求示意圖

  由圖1可以看出,客戶(Client)向服務(wù)對象的實現(xiàn)(Object Implementation)發(fā)出事務(wù)請求,其中客戶是欲對服務(wù)對象發(fā)出方法請求的實體,服務(wù)對象應(yīng)包括該方法的數(shù)據(jù)資源以及實現(xiàn)代碼。對象請求代理的作用就在于定位服務(wù)對象,接收客戶發(fā)出的服務(wù)請求并將服務(wù)對象的執(zhí)行結(jié)果返回給客戶。請求發(fā)出后,客戶對象采用輪詢等方式以獲取服務(wù)對象計算的結(jié)果。

2. ORB的結(jié)構(gòu)及類型

  ORB通過一系列接口和接口定義中說明的要實現(xiàn)操作的類型,確定提供的服務(wù)和實現(xiàn)客戶與服務(wù)對象通信的方式。通過IDL接口定義、接口庫或適配器(Adapter)的協(xié)調(diào),ORB可以向客戶機(jī)和具備服務(wù)功能的對象實現(xiàn)(Object Implementation)提供服務(wù)。作為CORBA體系結(jié)構(gòu)的核心,ORB可以實現(xiàn)如下三種類型的接口:
  ● 對于所有的ORB實現(xiàn)具有相同的操作;
  ● 針對特定類型對象的操作;
  ● 與對象實現(xiàn)類型有關(guān)的操作。

  基于ORB實現(xiàn)的不同類型接口,一個客戶端請求可以同時訪問多個由不同ORB實現(xiàn)通信管理的對象引用。在實際應(yīng)用中,只要遵循公共的ORB體系結(jié)構(gòu),程序設(shè)計可以選擇ORB的多種實現(xiàn)方式,其中包括:

  (1)客戶和實現(xiàn)駐留(Client-Implementation Resident)ORB:采用駐留在客戶和服務(wù)對象實現(xiàn)程序的方式實現(xiàn)ORB。在這種實現(xiàn)方式下,客戶端可以通過樁(Stub)程序,以位置透明的方式向具體的實現(xiàn)對象提出服務(wù)請求,實現(xiàn)客戶與服務(wù)對象的通信。

  (2)基于服務(wù)(Server-based)ORB:客戶對象和實現(xiàn)對象均可以與一個或多個服務(wù)對象進(jìn)行通信,服務(wù)對象的功能是將請求從客戶端發(fā)送到對象實現(xiàn)。在這種方式中,ORB的作用是完成客戶對象與實現(xiàn)對象的通信,為對象之間的交互提供服務(wù)。

  (3)基于系統(tǒng)(System-based)ORB:在這種實現(xiàn)方式中,ORB被操作系統(tǒng)認(rèn)為是系統(tǒng)所提供的一項基本服務(wù)。由于操作系統(tǒng)了解調(diào)用方與服務(wù)對象的位置,因而可以充分地實現(xiàn)ORB功能的優(yōu)化。

  (4)基于庫(Library-based)ORB:如果認(rèn)為對象實現(xiàn)可以共享,則可以將實現(xiàn)功能放入實現(xiàn)庫(Implementation Repository)中,從而創(chuàng)建基于庫的ORB。

3. ORB中的主要方法

  客戶端和服務(wù)對象端均可以自由選擇使用ORB對象中定義的方法來實現(xiàn)操作。下面舉例說明ORB對象中的重要方法:
(1)ORB ORB_init(inout arg_list argv,in ORBid orb_identifier)
作用:ORB初始化方法。
(2)String object_to_string(in Object obj)
作用: 將對對象的引用轉(zhuǎn)換成客戶可以用字符串方式存儲的對象信息。
(3)Object string_to_object(in String str)
作用:上述方法的逆過程。將以字符串方式存儲的對象轉(zhuǎn)換成對對象類型的引用。
(4)Object resolve_initial_references(in ObjectID identifier)
作用:獲取初始對象引用。
(5)Policy get_policy(in PolicyType policy_type)
作用:返回指定類型的服務(wù)策略對象。

  作為公共對象請求代理體系結(jié)構(gòu)中的核心內(nèi)容,ORB提供了相當(dāng)豐富的方法。讀者可以查閱相關(guān)資料詳細(xì)了解ORB中的方法。

4. 服務(wù)請求的實現(xiàn)方式

  關(guān)于對象請求的實現(xiàn)方式,CORBA規(guī)范中定義客戶程序可以用動態(tài)調(diào)用接口(DII,Dynamic Invocation Interface)方式或通過OMG IDL文件經(jīng)編譯后在客戶端生成的樁(Stub)方式提出服務(wù)請求。這兩種實現(xiàn)方式的區(qū)別在于通過OMG IDL樁(Stub)文件方式實現(xiàn)的調(diào)用請求中,客戶能夠訪問的服務(wù)對象方法取決于服務(wù)對象所支持的接口;而動態(tài)調(diào)用接口調(diào)用方式則與服務(wù)對象的接口無關(guān)。盡管實現(xiàn)調(diào)用請求的方式有所區(qū)別,但客戶發(fā)出的請求服務(wù)調(diào)用的語義是相同的,服務(wù)對象不去分析服務(wù)請求提出的方式。

  ORB通過IDL客戶樁(Stub)方式或動態(tài)調(diào)用接口(DII)方式定位服務(wù)對象的實現(xiàn)代碼、傳遞服務(wù)對象應(yīng)用參數(shù)以及完成對請求傳送方式的控制。服務(wù)對象的實現(xiàn)(Object Implementation)通過對象適配器(Object Adapter)提供對客戶請求的服務(wù)。客戶對服務(wù)器端方法的調(diào)用方式見圖2。

圖2 客戶調(diào)用服務(wù)請求的實現(xiàn)方式

  從以上對服務(wù)請求調(diào)用方式的分析可以看出: 服務(wù)對象接口的定義在整個CORBA系統(tǒng)服務(wù)功能的實現(xiàn)中起著相當(dāng)重要的作用。那么如何實現(xiàn)服務(wù)對象的功能接口呢?CORBA規(guī)范中定義了兩種接口實現(xiàn)方式:第一種形式是利用OMG IDL接口定義語言對接口進(jìn)行描述。IDL語言有詳細(xì)的語法規(guī)則(講座將在第五講對該語言的語法規(guī)則進(jìn)行詳細(xì)講解)。這樣,經(jīng)過對所實現(xiàn)功能的系統(tǒng)分析,利用IDL,依據(jù)服務(wù)對象可能實現(xiàn)的服務(wù)以及服務(wù)中需要的參數(shù),對接口進(jìn)行定義。另外一種方式是將接口放入接口倉庫(Interface Repository)中,在運行期間對接口庫中的接口進(jìn)行訪問。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2311


CORBA的基本內(nèi)容(上)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 奇米影视第四色在线 | 欧美日韩国产三级 | 91精品久久久久久久久久久 | 日本xxxx18高清免费 | 亚洲精品99 | 欧美日韩一区二区三区四区五区 | 久久久久久久国产精品毛片 | 视频成人永久免费视频 | 成人二区 | 亚洲欧美另类综合 | 美女福利视频国产免费观看 | 狠狠色丁香婷婷 | 成年美女黄的视频网站 | 国产综合50p | 精品国产不卡一区二区三区 | 色呦呦在线免费观看 | 一本一道dvd在线播放器 | 香蕉一区二区 | 男女无遮挡高清性视频直播 | 嫩草影院在线入口 | 嫩草影院永久在线播放 | a视频在线观看免费 | 色婷婷成人做爰A片免费看网站 | 免费又粗又硬进去好爽A片视频 | 国产一区二区精品久久91 | 爱爱视频在线观看 | 521国产精品视频 | 欧美日本一道高清二区三区 | 亚洲精品a级 | 一级毛片 在线播放 | 香港午夜三级a三级高清观看 | 中国欧美日韩一区二区三区 | 91资源在线 | 久久久久久久国产精品影院 | 亚洲欧美在线观看 | 久久久久久国产精品免费免费 | 99久久人妻无码精品系列性欧美 | 国产精品久久久久久52AVAV | 草久久免费视频 | 精品国产18久久久久久二百 | 亚洲免费观看视频 |