UCS 用户手册
- 1 -
-------------------------------------------------------------------------------------------------------
UCS 用户手册 V1.2.0
1 简介............................................................................................................................. 3
1.1 项目背景............................................................................................................. 3
1.2 目标读者............................................................................................................. 4
1.3 联系方式............................................................................................................. 4
1.3.1 官方 web 站点:........................................................................................... 4
1.3.2 邮件地址: ................................................................................................... 4
1.3.3
SourceForge 链接 ....................................................................................... 4
1.4 授权方式............................................................................................................. 4
2 软件安装..................................................................................................................... 4
2.1 安装..................................................................................................................... 4
2.2 目录结构............................................................................................................. 4
2.3 配置..................................................................................................................... 6
2.4 运行..................................................................................................................... 8
3 使用........................................................................................................................... 10
3.1 项目管理........................................................................................................... 10
3.1.1 创建一个项目........................................................................................... 10
3.1.2 打开或重新载入已经存在的项目........................................................... 12
CORBA 客户端模拟........................................................................................ 12
3.2.1 启动 factory demo 的服务端.................................................................... 12
3.2.2 关联对象 IOR........................................................................................... 13
3.2.3 调用操作................................................................................................... 15
3.2.4 填写请求参数........................................................................................... 16
3.2.5 返回值....................................................................................................... 17
3.2.6 保存操作................................................................................................... 18
CORBA 服务端模拟........................................................................................ 19
3.3.1 填写应答参数........................................................................................... 19
3.3.2 创建 servant.............................................................................................. 19
CORBA 服务端扩展........................................................................................ 21
3.4.1 前提........................................................................................................... 21
3.4.2 步骤........................................................................................................... 21
3.4.3 问&答 ....................................................................................................... 22
3.4.4 附录: 映射表 ............................................................................................ 23
IDL 浏览器....................................................................................................... 24
CORBA 客户端操作流.................................................................................... 24
3.5
3.6
3.2
3.3
3.4
www.corbatool.com
UCS 用户手册
- 2 -
-------------------------------------------------------------------------------------------------------
3.6.1 打开操作流菜单....................................................................................... 25
3.6.2 添加操作菜单........................................................................................... 25
3.6.3 删除所有操作........................................................................................... 26
3.6.4 保存和执行操作流................................................................................... 26
3.6.5 设置参数依赖关系................................................................................... 26
3.6.6 设置匹配条件........................................................................................... 27
3.6.7 自动添加匹配条件................................................................................... 28
3.6.8 条件叠代功能........................................................................................... 29
3.6.9 无条件叠代功能....................................................................................... 29
3.6.10 其他菜单................................................................................................... 29
3.7 产生测试规范文档........................................................................................... 29
3.7.1 用作测试用例文档................................................................................... 30
3.7.2 用作测试报告文档................................................................................... 30
3.8 通知服务........................................................................................................... 31
3.8.1 通知服务管理........................................................................................... 31
3.8.2 通知的发送和接收................................................................................... 31
3.9 命名服务........................................................................................................... 33
3.9.1 命名服务................................................................................................... 33
3.9.2 命名服务管理........................................................................................... 33
3.10 GIOP 消息截获器 ............................................................................................ 34
3.10.1 GIOP 截获器模型 .................................................................................... 34
3.10.2 快速启动截获器....................................................................................... 35
3.10.3 正常使用截获器....................................................................................... 39
3.11 其他工具........................................................................................................... 40
3.11.1 测试 IOR 连通性...................................................................................... 40
3.11.2 解析 IOR................................................................................................... 41
3.12 命令行模式....................................................................................................... 41
3.12.1 客户端操作流........................................................................................... 41
3.12.2 通知工具................................................................................................... 42
3.13 UCS 插件.......................................................................................................... 45
3.13.1 操作流节点插件 IOpFlowNodePlugin.java ............................................ 45
3.13.2 通知事件插件 IStructureEventActionPlugin.java ................................... 46
3.14 如何配置 SSL 功能.......................................................................................... 48
3.14.1 Key stores.................................................................................................. 48
3.14.2 Configuring SSL properties ...................................................................... 49
4 附录........................................................................................................................... 52
4.1 常见问题........................................................................................................... 52
4.1.1 如何在同一个机器上启动多个 UCS?.................................................... 52
4.1.2 为什么我的插件无法执行?..................................................................... 52
www.corbatool.com
UCS 用户手册
- 3 -
-------------------------------------------------------------------------------------------------------
1 简介
1.1 项目背景
作为 CORBA 用户, 我们在开发和测试过程中用过许多工具,但到目前为止还没有
哪个能完全满足我们的需求。因此我们决定开发一款通用 CORBA 测试工具,这就
是 Ultra CORBA Simulator.
UCS 具有超强的性能和许多实用的功能。下面简单介绍一下 UCS 的基本功
能. 。
强大的 IDL 解析器
UCS 实现了自己的 IDL 解析器,而不依赖其他厂商的接口仓库服务。所以导
入 IDL 的速度非常快,不象其他 CORBA 工具需要很长时间把 IDL 导入到接
口仓库。
友好的用户界面
UCS 把所有 IDL 操作和参数表示在树形结构上,使得用户很容易填写参数,
甚至不用特殊培训。
可重用的测试用例
带有填充参数的 IDL 操作可以被保存为 xml 格式的文件。并可以被分发给其
他测试人员重用。
自动化的操作流
为了支持自动化测试,UCS 提供了创建操作流功能。一个操作流包含多个操
作。操作之间可以建立依赖关系。另外支持结果自动匹配功能,用户可以只
关注最终结果,只有最终结果没通过时才需要检查具体失败的操作。操作流
在图形界面和命令行模式下都可以执行。
简单的测试脚本
为了扩展服务端模拟功能,如果用户在界面上填写的参数不能满足需求,可
以写 java 脚本,比如读取文件返回结果,或者根据客户端不同输入参数给出
不同应答。
方便的工具
为了支持开发和测试阶段的故障诊断,UCS 提供了诸如通知服务,命名服务
管理, GIOP 过滤,IOR 解析等工具。
具体功能参考第三章。
www.corbatool.com
UCS 用户手册
- 4 -
-------------------------------------------------------------------------------------------------------
1.2 目标读者
主要面向了解 CORBA 基本知识的软件开发和测试人员
.
1.3 联系方式
1.3.1 官方 web 站点:
http://www.corbatool.com
1.3.2 邮件地址:
admin@corbatool.com
1.3.3 SourceForge 链接
http://sourceforge.net/projects/ucs/
1.4 授权方式
个人用户终身免费,企业用户需要购买 license,可直接发邮件到
admin@corbatool.com 咨询相关信息。
2 软件安装
2.1 安装
安装非常简单,只要解压 zip 文件(比如 UCS_V1.2.3.zip)到某个目录即可。本软
件依赖 1.4.0.2 或更新的 java 版本。如果只有 jre 环境,某些功能,比如服务扩展,
插件开发等将无法执行。因为这些功能需要使用 java 编译器。
2.2 目录结构
UCSV1.2.3\
+---bin
+---demo
+---doc
+---etc
+---lib
+---oemlib
+---plugin
+---projects
| +---CallBackDemo
| | +---classes
| | | +---Generated Source
| | | +---Money
| | | \---package cache
www.corbatool.com
UCS 用户手册
- 5 -
-------------------------------------------------------------------------------------------------------
| | +---dsi
| | | \---src
| | +---etc
| | +---idl
| | +---log
| | +---scripts
| | \---src
| | \---Money
| +---FactoryDemo
| | +---classes
| | | +---Money
| | | \---package cache
| | +---dsi
| | | \---src
| | +---etc
| | +---idl
| | +---log
| | +---scripts
| | \---src
| | \---Money
| +---NotificationDemo
| | +---dsi
| | | \---src
| | +---etc
| | +---idl
| | | \---include
| | +---ior
| | | \---ucs
| | +---log
| | \---scripts
| | +---AttachSequencePushConsumer
| | \---SendOutOneNotification
| +---test
| | +---dsi
| | | \---src
| | +---etc
| | +---idl
| | +---ior
| | | \---ucs
| | +---log
| | \---scripts
| \---TMF
| +---dsi
| | \---src
| +---etc
| +---idl
www.corbatool.com
UCS 用户手册
- 6 -
-------------------------------------------------------------------------------------------------------
| | +---omgidl
| | \---tnmsidl
| +---ior
| | \---ucs
| +---log
| \---scripts
+---src
+---template
\---trace
2.3 配置
UCS 属性文件 “CorbaMNQ.properties “位于 etc 子目录,每个项目的属性文件位于
每个项目的 etc 子目录。
如果打开项目时,项目属性文件不存在,则使用 UCS 的属性文件。
属性含义如下:
属性名
CorbaMNQ.notification.logfile.maxlength 通知的日志文件最大长度(单位
含义
CorbaMNQ.background.color
CorbaMNQ.dii.resultInTree
Kbyte),超过此长度,将产生新的文
件。默认 20M,最小 1M
UCS 窗口的背景颜色
调用操作后的结果是否显示在
OperationEntry 窗口,设置此项,可以
比较直观的查看操作结果,但是会比较
耗资源,尤其是对有大数据量返回的操
作,不建议使用。布尔值
对于操作中 interface 类型的参数,是否
自动创建一个有效的对象。布尔值
CorbaMNQ.testcase.outputInClientWindow 是否在 ClientOutput 窗口显示操作结
CorbaMNQ.idl.defaultInterface
CorbaMNQ.notification.logfile.status
CorbaMNQ.notification.action.plugin
CorbaMNQ.idl.deletecomments
CorbaMNQ.seqPushConsumerInTable
CorbaMNQ.dii.testcaseInTree
www.corbatool.com
果。布尔值
是否记录通知日志到文件。(1 是,0
否)
指定收到通知后调用的插件类名,用户
可以实现特殊的插件来实现比如格式化
通知输出等功能。
是否去掉 IDL 文件中的注释。布尔值
是否以表格形式显示 PushConsumer 收
到的通知。布尔值
调用操作后的结果是否显示在
OperationFlow 窗口,操作流中操作之
UCS 用户手册
- 7 -
-------------------------------------------------------------------------------------------------------
间可能有依赖关系,所以建议打开此参
数。对于返回大数据量的操作流,建议
在命令行模式下执行,以节省资源。布
尔值
是否载入用户扩展的 servant 类。布尔值
启动时显示画面的秒数,为了提高速
度,不建议显示启动画面
???
CorbaMNQ.dsi.customized
CorbaMNQ.gif.showtime
CorbaMNQ.notification.logfile.statusy
下面是默认情况下生成的配置文件内容:
CorbaMNQ.notification.logfile.maxlength=20000
CorbaMNQ.background.color=-788885
CorbaMNQ.dii.resultInTree=true
CorbaMNQ.idl.defaultInterface=true
CorbaMNQ.testcase.outputInClientWindow=true
CorbaMNQ.notification.logfile.status=0
CorbaMNQ.notification.action.plugin=
CorbaMNQ.gif.showtime=-1
CorbaMNQ.idl.deletecomments=false
CorbaMNQ.seqPushConsumerInTable=false
CorbaMNQ.dii.testcaseInTree=true
CorbaMNQ.dsi.customized=false
CorbaMNQ.notification.logfile.statusy=1
上述属性可以通过任何文本编辑器修改,或者通过 UCS 菜单 SettingConfig
setting…来设置。
www.corbatool.com
UCS 用户手册
- 8 -
-------------------------------------------------------------------------------------------------------
2.4 运行
安装之后,需要修改启动脚本(Windows -- ucs.bat, Unix -- ucs.sh)中 JAVA_HOME
值,使其指向正确的路径,如果不指定,启动脚本会自动搜索一个。
注意:在 window 2000 系统中,如果 JAVA_HOME 路径中有空格,请用“~1”来
代替。比如 C:\Program Files\Java\j2re1.4.2_18 可该写成
set JAVA_HOME=C:\Progra~1\Java\j2re1.4.2_18
执行 ucs.bat 将显示如下界面:
www.corbatool.com