999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CORBA服務器接口測試工具的設計與實現

2008-01-01 00:00:00畢學軍
電腦知識與技術 2008年6期

摘要:本文介紹了一個CORBA服務器接口測試工具CTester的設計和實現。CTester具有平臺無關性、采用圖形化GUI界面、支持腳本定義、采用動態調用DII等特點,為分布式系統的開發提供測試手段。

關鍵詞:CORBA; DII; Java

中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)06-11010-02

The Design and Implementation of the CORBA Server Interfaces Test Tool

BI Xue-jun,XIAO Qing,HAO Na

(Department of Information Engineering of Academy of Armored Force Engineering,Beijing 100072,China)

Abstract: The paper introduces the design and implementation of the CORBA server interfaces test tool CTester. It is independent of platform, providing a graphic user interface,supporting for script definition and dynamic invocation. It provides an easy way to test distribute system.

Key words: CORBA(Common Object Request Broker Architecture); DII (Dynamic Invocation Interface); Java

1 引言

隨著Internet的廣泛運用,將應用擴展到局域網、廣域網甚至Internet上已成為用戶的普遍需求,為此分布式計算成了新的熱點。在分布式計算環境中,異構性是一個十分明顯的特點。一個典型的分布環境包括有大型主機、UNIX工作站和PC機,各種機器所采用的操作系統和網絡通信協議也是千差萬別,在這樣的異構環境下實現信息和軟件資源的共享將十分困難,而一個健壯的分布計算框架將為分布應用軟件的開發帶來極大的好處。為了實現這一目標,OMG組織于1991年提出了公用對象請求代理程序結構的技術規范CORBA[1](Common Object Request Broker Architecture,通用對象請求代理體系結構)。CORBA規范充分利用了現今軟件技術發展的最新成果,在基于網絡的分布式應用環境下實現應用軟件的集成,使得面向對象的軟件在分布、異構環境下實現可重用、可移植和互操作。

要想編寫一個良好健壯的CORBA應用程序,首先需要進行有效的測試。一般的測試過程是,開發人員編寫完CORBA服務器程序后,首先花費一定的時間開發客戶程序來調用CORBA服務器對象。如果要針對大量的各種輸入數據進行測試,那么客戶端測試程序的開發工作量將會很大。因此需要研制開發CORBA服務器接口測試工具,進行有效的CORBA對象接口測試,驗證CORBA接口實現的正確性。

2 系統設計

該CORBA服務器接口測試工具以下簡稱為CTester,它能夠向CORBA對象調用指定的操作,獲取或設置CORBA對象的屬性,驗證CORBA接口的實現,其參數設置方便,測試結果顯示直觀。支持測試腳本定義,用戶熟悉IDL就可以編寫測試腳本,測試腳本建立簡便,可重復使用。該工具完全采用java編寫,遵從CORBA2.3規范[2],工作平臺為IONA公司的orbix2000[3]。

2.1 設計原則

Ctester測試工具在開發過程中,遵循以下幾個原則:

1)平臺無關性:測試工具的運行應保證與操作系統無關,因此系統采用JAVA語言實現;

2)使用簡便靈活:采用圖形化GUI界面,使用簡便靈活,顯示結果直觀,操作易于掌握;

3)支持腳本定義:用戶熟悉IDL就可以編寫測試腳本,測試腳本建立簡便,可重復使用;

4)采用動態調用DII:動態方式允許對任意對象進行操作,借助接口庫,動態方式可以在運行時刻查詢各對象所支持的操作,無論是操作的對象、發起調用的參數,還是發起調用的次數等等都可以由客戶程序在運行時刻視當時環境和需要而決定。因此,采用動態方式相對靜態方式而言靈活性大大增強。

2.2 系統結構

整個系統結構按功能劃分為六個模塊,分別是測試控制模塊、腳本定制模塊、腳本解釋模塊、測試驅動模塊、動態調用模塊、結果處理模塊。其中測試控制模塊提供了一個總的控制界面,進行測試過程的控制和管理,測試人員輸入指令,進行任意指定參數的操作或屬性調用。在調用結束后,由測試結果處理模塊處理并顯示返回值及輸入/輸出參數,結果也可以保存在文件中。

腳本定制模塊采用IDL格式定義測試腳本,能夠編輯、管理測試腳本文件。用戶熟悉IDL就可以編寫測試腳本,測試腳本的解釋由腳本解釋模塊進行。通過測試腳本可以向CORBA對象調用指定的操作,也可以獲取或設置CORBA對象的屬性。

在測試執行過程中,測試驅動模塊和動態調用模塊從接口存儲庫載入被測CORBA對象IDL細節。為了保持測試工具的靈活性,采用動態調用方式。系統結構如圖1所示:

3 CTester工具實現的關鍵技術

3.1 動態調用技術DII

CORBA服務器接口測試工具CTester從Client/Server模式看,實際上相當于客戶端,客戶程序對遠端對象的調用,有兩種方式:靜態方式和動態方式。本測試工具需要對任意CORBA服務器的屬性/操作進行調用,因此采用動態調用DII[4]的方式,相對靜態方式而言,該種方式有以下幾個優點:

(1)靈活。動態方式允許對任意對象進行操作,所需要的只是目標對象的對象引用。借助接口庫,動態方式可以在運行時刻查詢對象所支持的屬性/操作信息,大大提高了程序的靈活性。

(2)客戶程序的可移植性增強。由于DII與客戶之間的接口是標準的,因此由動態方式實現的代碼具有良好的可移植性。

(3)可執行程序的“體積”小。與靜態方式不同,DII不需要為每個接口生成碼根和框架,無論程序中使用多少接口,所需要的只是一套支持DII的接口庫,這樣可執行程序的“體積”會相對較小。

當然,與靜態方式相比,動態方式有以下的缺點:

(1)使用復雜。使用靜態方式時,對目標對象的操作都施加在一個本地的代理對象上,相應對象支持的所有操作及格式都已經預先定義在這個代理對象中,因而使用方便。在動態方式下,程序員需要自己動手,“臨時”構建一個請求并發送,同時程序還需要查詢接口庫以獲得屬性/操作必要描述信息,這些過程都較靜態方式復雜。

(2)速度緩慢。由于靜態方式下類型信息都是確定的,因此速度較快;而動態方式實現時,類型信息都是動態獲知,速度不可避免要慢一些。此外,程序要花去大量時間來查詢接口庫,尤其當被查詢的接口定義存放在遠端時,這些查詢還會引發遠端調用,致使動態方式的速度變得更慢。

鑒于上述動態調用速度緩慢的缺點,為避免程序每次調用都去查詢接口庫來獲得屬性/操作的描述信息,我們采用預先將接口庫中所有數據類型的接口定義對象轉化為本地用java實現的類對象,這樣程序就不必花費大量的時間來查詢接口庫,而只需調用所需類的屬性或方法即可,大大提高了調用執行的效率。

動態調用的過程簡要歸納如下:

(1)獲得接口名,將目標對象接口信息注冊到接口庫中;

(2)從接口庫的對象中,找到所要調用的操作(或方法)的描述;

(3)建立調用參數表,并逐一填入參數;

(4)創建請求,請求中應包括目標對象的引用、方法名、參數表和返回值;

(5)調用請求,并作結果處理。

3.2 采用面向對象的系統實現系統采用面向對象的思想,將接口庫中各種數據類型對象一一轉化為用java類實現的對象,對CORBA服務器屬性/操作的調用變成了對相應java類的屬性方法調用,提高了接口庫查詢效率,使得程序結構更加合理,易于維護。啟動CTester工具后首先要執行“Load-ifr”命令,將接口庫中所有IDL文件詳細描述信息裝入CorbaRepository類[5],其中也包括要測試的CORBA服務器IDL描述文件信息,然后再調用“attribute”或“operation”命令對CORBA服務器中的屬性、參數進行設置/獲取,對CORBA服務器中的操作進行調用,獲得inout/out參數結果和返回值,驗證結果返回值是否正確。

4 總結

本課題在對CORBA服務器接口測試技術經過大量的研究后,開發了相應的測試工具來驗證CORBA接口的實現,該工具可以為分布式系統的開發提供測試手段。

參考文獻:

[1] 汪蕓.CORBA技術及其應用[M].江蘇:東南大學出版社,1999.1-12.

[2] 朱其亮,鄭斌.CORBA 原理及應用[M].北京:北京郵電大學出版社,2001.15-37.

[3] Orbix 2000 Programmer’s Guide Java Edition[EB/OL].www.iona.com.2004-09-16.

[4] Orbix 2000 Programmer’s Reference Java Edition[EB/OL] .www.iona.com.2005-06-07.

[5] IONA Orbix 2000 Administrator’s Guide, Java Edition[EB/OL] .www.iona.com.2004-01-15.

主站蜘蛛池模板: 欧美亚洲国产日韩电影在线| 国产精品片在线观看手机版| 日韩精品一区二区三区swag| 全免费a级毛片免费看不卡| 最新国语自产精品视频在| 高清免费毛片| 日韩精品成人网页视频在线| 成人午夜网址| 亚洲黄色高清| 国内精品伊人久久久久7777人| 亚洲v日韩v欧美在线观看| 夜精品a一区二区三区| 青草视频免费在线观看| 天天操天天噜| 亚洲精品无码久久毛片波多野吉| 国产精品冒白浆免费视频| 一本色道久久88亚洲综合| 香蕉在线视频网站| 亚洲第一成人在线| 黄色a一级视频| www亚洲天堂| 热久久这里是精品6免费观看| 97se亚洲| 国产成人精品免费av| 国产在线视频二区| 亚洲日韩精品综合在线一区二区| 91视频国产高清| 精品在线免费播放| 久久国语对白| 毛片免费在线视频| 国产欧美精品一区aⅴ影院| 国产视频一区二区在线观看| 亚洲香蕉伊综合在人在线| 久久黄色毛片| 国产网站在线看| 最新国语自产精品视频在| 成人福利一区二区视频在线| 国产女人在线| 国产日韩精品一区在线不卡 | 成人免费网站久久久| 91人妻在线视频| 欧美色视频网站| 成人国内精品久久久久影院| 中文字幕在线看| 全部无卡免费的毛片在线看| 中文字幕无线码一区| 欧美日韩国产成人高清视频| 四虎亚洲国产成人久久精品| 五月婷婷激情四射| 国产高清在线精品一区二区三区| AV无码一区二区三区四区| av无码久久精品| 日日噜噜夜夜狠狠视频| 日韩在线欧美在线| 国产中文在线亚洲精品官网| 亚洲日韩久久综合中文字幕| 国产精品久久久久鬼色| 亚洲成AV人手机在线观看网站| 欧美精品成人一区二区视频一| 国产成人精品男人的天堂下载 | 欧美 亚洲 日韩 国产| 亚洲成在人线av品善网好看| 成人福利免费在线观看| 丁香婷婷在线视频| 久久人体视频| 草逼视频国产| jizz国产在线| 一本一道波多野结衣av黑人在线| 久久精品这里只有国产中文精品| 夜夜操国产| 精品国产美女福到在线不卡f| 天天色天天综合| 国产麻豆精品手机在线观看| 国产精品免费露脸视频| 99re免费视频| 免费无码网站| 视频二区中文无码| 亚洲中文字幕久久精品无码一区| 69免费在线视频| 亚洲国产精品无码久久一线| 国产区精品高清在线观看| 精品亚洲国产成人AV|