CORBA服务器接口测试工具的设计与实现

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:zhangbingcug
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文介绍了一个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.
其他文献
关键词:平衡计分卡 绩效管理 战略规划  一、引言  随着资本市场的进一步开放,各国有企业集团纷纷瞄准相关政策,建立了自身的中长期发展规划,以期抓住有利时机,实现跨越式发展。但是,许多国有企业在战略规划管控的过程中,暴露了“重制定,轻执行”的弊病,执行过程中往往出现实际行动与企业战略脱节,绩效管理与战略管理脱钩等问题,制定好的战略规划难以落地。在当前不断推进的改革中,国有企业正面临管控模式、竞争策
摘要:本文采用文献资料法、问卷调查法和统计法,以近三年三峡大学体育学院跆拳道专项毕业生为调查对象,对其就业情况进行调查,结合当前就业形势与现实,针对跆拳道专项毕业生就业所存在的问题和不足,提出相应对策与建议。  关键词:跆拳道;毕业生;就业分析  中图分类号:G807 文献标识码:A 文章编号:2095-2813(2016)11(c)-0000-00  随着社会经济不断快速发展,我国高校大学毕业生
摘 要:文章通过问卷调查法对铜仁市参加高中生联赛的36支球队400余人进行了问卷调查,通过对调查数据的研究分析发现,高中这一阶段,在现阶段训练状况下,学生参加足球训练对学习的积极影响远大于消极影响,这一结论同传统的认识有了冲突和颠覆,其原因是在这一阶段,学生的学习压力较大,适当的有规律的体育锻炼,能够在一定程度上缓解学生的学习压力,在学习到体育运动技能的同时提高学习成绩,事实证明,学习和训练并不冲
摘要:本文简要介绍了IPv6数据包处理流程,重点阐述了嵌入式IPv6的核心协议:IPv6协议、ICMPv6协议和邻居发现协议的设计与实现。  关键词:IPv6;ICMPv6;邻居发现协议  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)06-00ppp-0c    The Design and Implementation of Embedded IPv6 Stack
摘要:SOA的概念已经诞生多年,业界对其商业模式也处于不断的讨论和摸索中,SOA可以译为面向服务的体系架构。普遍认为,SOA是面向全部IT资产的一种体系架构,通过以特定的规格将这些资产以服务的形式进行描述,可以实现服务的重复应用,从而提高IT资产的适应能力并更好地发挥效用。文章介绍了SOA的基础,包括SOA的体系架构及描述方法,通过实例分析了如何应用SOA进行软件的开发以及实现,以及如何有效的通过
摘要:传统的互联网协议IPv4协议存在地址空间匮乏、路由效率不高、安全性差、对移动性支持不好等缺点,严重阻碍了Internet的发展,下一代互联网协议IPv6彻底解决IPv4上述难题。  关键词:IPv4;Ipv6;头部  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)06-1pppp-0c    The Comparison Between IPv4/IPv6 He
摘要:信息系统集成、监理、第三方测试和审计,这些制度的实行使我国信息化质量逐步得到了提高,但是还很不规范,远远没有达到预想的水平,到底是什么制约了我国信息化建设的效果呢?本文试图找出其中的根本原因。  关键词:信息化;IT审计  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)06-10ppp-0c    On the IT Audit of the Construct
摘要:TCP/IP协议是目前使用最广泛的网络互连协议,但是由于TCP三次握手中不安全性,使得Internet具有先天性的不足。随着近几年Internet的迅猛发展,随之而来的网络安全事件开始频繁发生,各种攻击手段层出不穷。以SYN Flood为代表的DDoS攻击方式,是近年来出现的一种全新的极具破坏力的拒绝服务攻击方式。本文首先介绍了DoS的定义,目前的拒绝服务攻击的原理和特点,重点对SYN Fl
摘要:SYBASE公司的ASE数据库管理系统的客户端与服务器的模式确保了应用程序运行稳定性和高效性,但是这种方式使得应用系统的维护非常困难,数据服务器的安全性不高。文章分析了如何在确保这种模式的优点的同时如何解决系统维护困难,提高数据服务器的安全性,并提出一种有效的解决方法。  关键词:客户机/服务器;OPEN CLIENT;封装;安全性;系统维护  中图分类号:TP311文献标识码:A 文章编号
摘要:当今社会,数据无处不在,数据挖掘技术作为一种新的信息处理技术,从海量的数据中找出有潜在价值的数据规律或数据模型用人工的方式难以实现这个目标,Weka是一种可用于数据挖掘的工具,数据挖掘用户可使用Weka执行数据预处理,分类,回归,聚类,关联规则等任务以Weka自带的数据集为例,详细介绍作为易于使用的数据挖掘工具Weka的使用  关键词:数据挖掘工具Weka  中图分类号:TP311文献标识码