标题:Java版CORBA程序
一. 题目分析
A. Java版CORBA程序1——HelloWorld
1.编写IDL接口HelloWorld.idl:
2.编译IDL接口:X:\corba>idlj –fall HelloWorld.idl
3.编写并编译服务端程序:HelloWorldServer.java
4.编写并编译客户端程序: HelloWorldClient.java
5.运行:
启动名字服务器:X:\corba >tnameserv-ORBInitialPort 1050
启动服务端程序:X:\corba >javaHelloWorldServer -ORBInitialPort 1050
输出:HelloWorld is running
启动客户端程序:X:\corba >javaHelloWorldClient -ORBInitialPort 1050
输出:Hello World!
B. JAVA版CORBA程序2——Counter
要求:编写实现连加、连减和加减混合等数学++/- -运算,并进行测试。
-
编写IDL接口counter.idl:
-
编译IDL接口:X:\corba>idlj –fall counter.idl
3.编写并编译对象实现代码:CounterImpl.java
4.编写并编译服务端程序: Server.java
5.编写并编译客户端程序: Client.java
6.运行:
启动名字服务器:X:\corba >tnameserv-ORBInitialPort 1050
启动服务端程序:X:\corba >java Server-ORBInitialPort 1050
输出:Server started.Stop: Ctrl-c
启动客户端程序:X:\corba >java Client-ORBInitialPort 1050
二. CORBA模型分析
- 题目一:Java版CORBA程序1——HelloWorld
CORBA通过IDL接口定义语言
在cmd窗口中输入命令 idlj –fall HelloWorld.idl,就会在当前目录下生成六个Java文件
启动名字服务器:
tnameserv -ORBInitialPort 1050
启动服务器端程序:
java HelloWorldServer -ORBInitialPort 1050
启动客户端程序:
java HelloWorldClient -ORBInitialPort 1050
2.题目二:JAVA版CORBA程序——Counterldlj.exe在命令目录下生成一个文件夹
编写并编译服务器端和客户端和对象实现文件Server.java,Client.java,CounterImpl.java
启动名字服务器:
tnameserv -ORBInitialPort 1050
启动服务器端程序:
java Server -ORBInitialPort 1050
启动客户端程序:
java Client -ORBInitialPort 1050
三.组件实现
题目一:
其他代码已在作业文档中给出,这里我只展示新加的类中的代码
在HelloWorldServant中写入代码:
import sample.HelloWorldPOA;
class HelloWorldServant extends HelloWorldPOA { // 对象实现类
public String sayHello() {
return "\nHello World!软件工程1703房合钧\n";
}
}
2、题目二:所有源代码在作业文档中已给出
四.测试、调试及运行结果
①启动服务器名字
启动服务器端
启动客户端
②启动服务器端
启动客户端并进行测试
五.经验归纳
要完成结果中含有中文,就要在helloworld.idl中将string改为wstring,在cmd窗口编译idl文件时要注意写清楚idl文件的具体位置。
在c盘用户文件目录下无法执行java和javac命令,但是在c的根目录下可以。
IDL是CORBA定义的语言。