1.实验目的
a.掌握组件化开发的概念,了解CORBA模型及ORB机制;
b.掌握CORBA组件编程方法。
2.题目描述
1.配制环境JDK环境。
2.编写编译IDL接口。
3.编写编译服务端程序。
4.编写编译客户端程序。
5.运行测试与调试。
6.完成报告。
3.CORBA模型分析
3.1CORBA体系结构
3.2 HelloWorld模型分析
3.3 Counter模型分析
4.实验步骤
4.1 Java版CORBA程序1——HelloWorld
1 编写IDL接口HelloWorld.idl
2编译IDL接口:idlj –fall HelloWorld.idl
3 编写并编译服务端程序:HelloWorldServer.java
4 编写并编译客户端程序: HelloWorldClient.java
5 运行
启动名字服务器:tnameserv -ORBInitialPort 1050
启动服务端程序: java HelloWorldServer -ORBInitialPort 1050
输出:HelloWorld is running
启动客户端程序: java HelloWorldClient -ORBInitialPort 1050
输出:Hello World! 软件工程1707 刘秀
注:名字服务器、服务端和客户端要分别启动一个DOS命令提示符界面。
4.2 JAVA版CORBA程序2——Counter
要求:
编写实现连加、连减和加减混合等数学++/- -运算,并进行测试。
1 编写IDL接口counter.idl:
2编译IDL接口:idlj –fall counter.idl
3 编写并编译对象实现代码:CounterImpl.java
4 编写并编译服务端程序: Server.java
5 编写并编译客户端程序: Client.java
6 运行
启动名字服务器:tnameserv -ORBInitialPort 1050
启动服务端程序:java Server -ORBInitialPort 1050
输出:Server started. Stop: Ctrl-c
启动客户端程序:java Client -ORBInitialPort 1050
5.经验归纳
因为最后要在客户端输出Hello World +班级+姓名,字符串类型主要用于处理ASCII类型的字符串,wstring 用于处理多字节的字符串。班级和姓名含中文,如果在IDL文件中直接用字符串的话,后面在客户端是不会显示班级和姓名的,所以在将IDL中的字符串改为wstring的然后在编译这个接口就好了。