国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于TAO的CORBA應(yīng)用軟件設(shè)計(jì)

2010-09-26 02:00:12成玉榮王聰麗
無(wú)線電工程 2010年11期
關(guān)鍵詞:可擴(kuò)展性服務(wù)端應(yīng)用程序

成玉榮,王聰麗

(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081;2.軍械工程學(xué)院,河北石家莊050003)

0 引言

CORBA是由對(duì)象管理組織OMG制定的分布式體系結(jié)構(gòu),主要是為了解決異構(gòu)的分布式處理環(huán)境中系統(tǒng)互連而提出的一種方案。基于CORBA平臺(tái)能夠?qū)崿F(xiàn)不同應(yīng)用程序之間的透明交互,隨著網(wǎng)絡(luò)結(jié)構(gòu)的日益復(fù)雜化,CORBA的應(yīng)用越來(lái)越廣泛,在面向服務(wù)的SOA系統(tǒng)中是很好的服務(wù)組件的開(kāi)發(fā)平臺(tái)。

目前基于CORBA規(guī)范的產(chǎn)品很多,較流行的有Orbix2000、TAO 、Visibroker、InforBus和 InterBus等 ,這些產(chǎn)品以其各自的特點(diǎn)應(yīng)用于不同的對(duì)象請(qǐng)求代理(ORB)系統(tǒng)中,其中TAO為開(kāi)源的ORB平臺(tái),其功能的實(shí)時(shí)性、軟件的可配置性與可擴(kuò)展性使其在許多大規(guī)模的通信、計(jì)算機(jī)公司得以廣泛應(yīng)用。

1 TAO體系結(jié)構(gòu)特點(diǎn)

TAO是由美國(guó)華盛頓大學(xué)分布式對(duì)象計(jì)算組織開(kāi)發(fā)的開(kāi)放源碼的CORBA產(chǎn)品,其實(shí)現(xiàn)基于可適應(yīng)通信環(huán)境(ACE)。ACE是一種免費(fèi)開(kāi)放源碼的面向?qū)ο罂蚣芙Y(jié)構(gòu),該結(jié)構(gòu)實(shí)現(xiàn)通信軟件的核心并發(fā)和分布模式。TAO系統(tǒng)中含有網(wǎng)絡(luò)接口、OS、通信協(xié)議以及遵循CORBA的中間件組件和服務(wù)等,其系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 TAO的系統(tǒng)結(jié)構(gòu)

其系統(tǒng)結(jié)構(gòu)特點(diǎn)如下:

①TAO實(shí)現(xiàn)了CORBA 2.6規(guī)范中的說(shuō)明,具有規(guī)范性和通用性,能夠與其他同標(biāo)準(zhǔn)的ORB產(chǎn)品進(jìn)行互通互聯(lián);

②TAO基于ACE實(shí)現(xiàn)的ORB具有更加靈活、高效、事件驅(qū)動(dòng)和并發(fā)的特點(diǎn);

③TAO基于ACE實(shí)現(xiàn),具有一些增強(qiáng)特性,可用于確保高性能及實(shí)時(shí)應(yīng)用的高效、可預(yù)測(cè)和可伸縮的QoS行為;

④ACE提供開(kāi)源的C++組件包,使TAO具有更強(qiáng)的可擴(kuò)展性和靈活性;

⑤TAO是高性能實(shí)時(shí)ORB終端系統(tǒng),能夠很好地適用于異構(gòu)的分布式應(yīng)用環(huán)境。

2 基于TAO的應(yīng)用軟件設(shè)計(jì)

通過(guò)分析TAO的結(jié)構(gòu)特點(diǎn),TAO的實(shí)時(shí)性與靈活性適合開(kāi)發(fā)分布式、可擴(kuò)展的應(yīng)用軟件。TAO的安裝可根據(jù)工程需求進(jìn)行配置,選擇所需要的組件進(jìn)行編譯配置,降低資源占用,提高軟件運(yùn)行效率。

2.1 軟件環(huán)境設(shè)置

TAO在VC5.0、VC6.0和 visual studio2008中均可以編譯,TAO可以被編譯成DLL版(動(dòng)態(tài)鏈接)和LIB版(靜態(tài)鏈接)2種版本,根據(jù)應(yīng)用需求通過(guò)工程參數(shù)配置進(jìn)行控制。

基于TAO開(kāi)發(fā)應(yīng)用程序時(shí),需要在應(yīng)用程序的工程配置選項(xiàng)中設(shè)置所用的TAO的庫(kù)文件、頭文件以及執(zhí)行文件的路徑。

2.2 應(yīng)用程序設(shè)計(jì)流程

應(yīng)用程序設(shè)計(jì)是基于已編譯好的TAO環(huán)境進(jìn)行工程開(kāi)發(fā),具體流程如圖2所示。

圖2 基于TAO的應(yīng)用程序開(kāi)發(fā)流程

圖2中主要步驟包括:設(shè)計(jì)和編譯接口定義語(yǔ)言(IDL)接口、設(shè)計(jì)和編譯客戶端應(yīng)用程序、設(shè)計(jì)和編譯服務(wù)器端應(yīng)用程序。

2.2.1 IDL接口設(shè)計(jì)與編譯

CORBA應(yīng)用程序開(kāi)發(fā),首先要用IDL定義服務(wù)對(duì)象的公共接口,IDL是一種描述性語(yǔ)言,可以映射成各種編程語(yǔ)言,TAO支持IDL到C++語(yǔ)言的映射,由TAO的IDL編譯器完成。編譯后生成客戶端存根文件和服務(wù)端框架文件,為客戶端和服務(wù)端的軟件開(kāi)發(fā)提供基本軟件框架。

2.2.2 客戶端軟件設(shè)計(jì)

客戶端應(yīng)用軟件設(shè)計(jì)是在IDL編譯器生成的客戶方框架代碼的基礎(chǔ)上,根據(jù)應(yīng)用需要設(shè)計(jì)ORB接口調(diào)用處理流程,實(shí)現(xiàn)客戶端對(duì)服務(wù)端的方法調(diào)用的應(yīng)用。客戶端框架代碼相當(dāng)于服務(wù)對(duì)象在客戶端的代理,是能夠?qū)⒈镜卣?qǐng)求轉(zhuǎn)換為網(wǎng)絡(luò)請(qǐng)求的ORB專用對(duì)象接口的框架代碼。其調(diào)用請(qǐng)求通過(guò)ORB完成,可以由ORB定位所調(diào)用的服務(wù)對(duì)象,因此,客戶端應(yīng)用程序無(wú)需知道服務(wù)端應(yīng)用程序用何種語(yǔ)言實(shí)現(xiàn),運(yùn)行于何種操作系統(tǒng)平臺(tái)上。

客戶端與服務(wù)器端的請(qǐng)求響應(yīng)方式分為同步方式和異步方式,客戶端根據(jù)軟件的實(shí)時(shí)性需求可采用合適的請(qǐng)求響應(yīng)方式,另外客戶端還可通過(guò)事件或通知的方式接收服務(wù)器端主動(dòng)上報(bào)的信息。

下面以同步調(diào)用方式介紹客戶端應(yīng)用程序的開(kāi)發(fā)流程,詳細(xì)流程如圖3所示。

圖3 客戶端軟件開(kāi)發(fā)流程

2.2.3 服務(wù)端軟件設(shè)計(jì)

服務(wù)端應(yīng)用軟件設(shè)計(jì)就是在服務(wù)端框架代碼的基礎(chǔ)上,根據(jù)應(yīng)用需求,采用合適的軟件架構(gòu),設(shè)計(jì)服務(wù)端軟件運(yùn)行流程,實(shí)現(xiàn)服務(wù)對(duì)象接口類及其方法的過(guò)程。服務(wù)端框架代碼是IDL編譯器生成的一系列代碼文件,能夠幫助對(duì)象適配器將一個(gè)請(qǐng)求傳遞到指定對(duì)象實(shí)現(xiàn)。服務(wù)方程序是一個(gè)擁有1個(gè)或多個(gè)CORBA對(duì)象的應(yīng)用程序,通過(guò)對(duì)象實(shí)現(xiàn)向客戶方提供方法調(diào)用結(jié)果。

服務(wù)端作為客戶端的方法實(shí)現(xiàn)集,其響應(yīng)客戶端調(diào)用的方式可分為同步和異步2種方式,另外還可以主動(dòng)向客戶端發(fā)送事件或通知與客戶端進(jìn)行信息傳輸。

服務(wù)端的應(yīng)用軟件包含IDL生成的框架程序、對(duì)象實(shí)現(xiàn)類程序和服務(wù)方主程序。

首先應(yīng)創(chuàng)建服務(wù)對(duì)象實(shí)現(xiàn)類,類定義文件中應(yīng)包含IDL編譯生成的服務(wù)器框架頭文件,實(shí)現(xiàn)文件要實(shí)現(xiàn)對(duì)象方法的處理。

服務(wù)方主程序主要包括ORB的初始化、對(duì)象實(shí)例的創(chuàng)建和生成對(duì)象引用等處理。服務(wù)端軟件的總體設(shè)計(jì)流程如圖4所示。

圖4 服務(wù)器端軟件開(kāi)發(fā)流程

3 工程應(yīng)用及效果

3.1 應(yīng)用結(jié)構(gòu)與流程

基于CORBA的綜合網(wǎng)絡(luò)管理系統(tǒng)采用TAO為ORB平臺(tái)進(jìn)行開(kāi)發(fā),主要完成在網(wǎng)絡(luò)層之上對(duì)各種被管設(shè)備或被管子系統(tǒng)對(duì)象的管理。各管理服務(wù)和監(jiān)控臺(tái)間通過(guò)基于TAO的ORB總線進(jìn)行信息交互,提高管理服務(wù)的可擴(kuò)展性;另外該系統(tǒng)采用代理的方式屏蔽被管對(duì)象與綜合網(wǎng)管間接口的差異性,各代理與綜合網(wǎng)管服務(wù)間為CORBA接口,通過(guò)ORB總線進(jìn)行信息交互,其系統(tǒng)結(jié)構(gòu)如圖5所示。

圖5 基于TAO的綜合網(wǎng)管軟件結(jié)構(gòu)

基于TAO的綜合網(wǎng)管系統(tǒng)所實(shí)現(xiàn)的功能主要包括:

①查詢各被管對(duì)象的配置參數(shù),進(jìn)行綜合、顯示和存儲(chǔ)等處理;

②查詢各被管對(duì)象的故障信息,進(jìn)行綜合、統(tǒng)計(jì)和分析等處理;

③查詢各被管對(duì)象的性能信息,進(jìn)行綜合、分析、統(tǒng)計(jì)和存儲(chǔ)等處理;

④網(wǎng)管系統(tǒng)用戶創(chuàng)建及刪除、用戶組創(chuàng)建及刪除和用戶日志等維護(hù)管理;

⑤用戶權(quán)限和用戶認(rèn)證等系統(tǒng)安全操作管理。

基于TAO提供的ORB平臺(tái),綜合網(wǎng)絡(luò)管理系統(tǒng)采用模塊化結(jié)構(gòu),各管理服務(wù)以組件的方式掛接在ORB總線上,并根據(jù)應(yīng)用需要配置TAO的C++庫(kù),提高了系統(tǒng)的可擴(kuò)展性和軟件重用性;代理主要完成各被管對(duì)象的接口歸一化,并與綜合服務(wù)器交互管理信息,所用到的ORB服務(wù)很少,所以采用TAO的最簡(jiǎn)配置完成CORBA接口的信息交互,節(jié)省資源占用,提高系統(tǒng)效率。

3.2 應(yīng)用效果

通過(guò)工程應(yīng)用實(shí)踐,驗(yàn)證了基于TAO進(jìn)行CORBA應(yīng)用軟件開(kāi)發(fā)具有如下優(yōu)點(diǎn):

①基于規(guī)范性的接口開(kāi)發(fā)CORBA應(yīng)用軟件能夠提高與其他CORBA產(chǎn)品應(yīng)用軟件的互操作性,從而提高軟件的通用性和規(guī)范性;

②基于TAO開(kāi)發(fā)的應(yīng)用程序具有與應(yīng)用平臺(tái)、物理地址和開(kāi)發(fā)語(yǔ)言的無(wú)關(guān)性,提高了軟件的可移植性以及應(yīng)用軟件間互操作的透明性;

③TAO是開(kāi)源的CORBA產(chǎn)品,提供了對(duì)C++的聯(lián)編,方便了C++應(yīng)用程序的開(kāi)發(fā),提高了軟件的可配置性和可擴(kuò)展性,降低了軟件開(kāi)發(fā)成本;

④基于TAO開(kāi)發(fā)的應(yīng)用軟件模塊化強(qiáng),提高了軟件的靈活性和可重用性。

4 結(jié)束語(yǔ)

CORBA是一個(gè)規(guī)范,提供了一個(gè)允許在分布式和異構(gòu)型環(huán)境中應(yīng)用程序之間進(jìn)行互操作的框架。TAO實(shí)現(xiàn)了CORBA規(guī)范,為應(yīng)用程序提供了透明的ORB操作平臺(tái)?;赥AO開(kāi)發(fā)的應(yīng)用對(duì)象可以與其他CORBA規(guī)范的實(shí)現(xiàn)對(duì)象進(jìn)行互操作,屏蔽了異構(gòu)環(huán)境下操作系統(tǒng)、開(kāi)發(fā)語(yǔ)言和運(yùn)行環(huán)境的種種差異性,另外TAO具有較強(qiáng)的可擴(kuò)展性,提高了應(yīng)用系統(tǒng)的靈活性、適應(yīng)性和可重用性,提高了開(kāi)發(fā)效率,降低了開(kāi)發(fā)成本。

[1]ITU-T Q.816 CORBA-based TMN services[S],2001.

[2]MICHI H,STEVE V.基于C++CORBA高級(jí)編程[M].徐金梧,徐 科,呂志民,譯.北京:清華大學(xué)出版社,2000.

猜你喜歡
可擴(kuò)展性服務(wù)端應(yīng)用程序
刪除Win10中自帶的應(yīng)用程序
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開(kāi)發(fā)》課程教學(xué)改革的研究
在Windows Server 2008上創(chuàng)建應(yīng)用
恩智浦推出全新i.MX 8X 處理器,為工業(yè)應(yīng)用帶來(lái)更高的安全性、可靠性和可擴(kuò)展性
汽車零部件(2017年3期)2017-07-12 17:03:58
電力監(jiān)控軟件的可擴(kuò)展性設(shè)計(jì)
基于微軟技術(shù)的高可擴(kuò)展性中小企業(yè)系統(tǒng)解決方案研究
構(gòu)建高可擴(kuò)展性的物流裝備管理系統(tǒng)
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
“鴿子”玩升級(jí) 黑你沒(méi)商量
白玉县| 白山市| 乐平市| 福鼎市| 铁岭县| 南郑县| 砀山县| 西乌| 颍上县| 工布江达县| 德格县| 淮南市| 镇康县| 陇西县| 麻阳| 黄骅市| 汉沽区| 右玉县| 察哈| 曲水县| 会同县| 中山市| 荔波县| 太康县| 沁源县| 曲水县| 宁国市| 泾川县| 东乡县| 延长县| 玉田县| 烟台市| 泽库县| 偏关县| 内黄县| 夹江县| 廊坊市| 交口县| 文成县| 突泉县| 班戈县|