CORBA是著名的面向对象的中间件之一,近期由于课程教学的需要,研究并整理了一下关于IDL的接口、开发与测试等内容,简单总结如下:
1)编写IDL接口定义语言设计
IDL文件的格式:
module XXX{
//数据类型的声明
typedef unsigned short age;
struct Student{
//结构成员的声明
};
//接口的声明
interface StudentManager{
//属性的声明
//方法的什么
}:
interface CourseManager{
//接口其它方法的声明
};
};
2)使用开源jcaorb框架,将该文件转换为各类java接口及类描述
在http://www.jcaorb.org下载最新的3.9版本的框架,设置环境变量JCAORB_HOME为安装路径
3)执行 idl -fall -d c:\corba_test\outfiles -in c:\corba_test\StudentMgr.idl
4)框架产生七个java文件
5)编写idl文件中涉及的接口实现类,有几个接口实现几个接口,由于XXXPOA类实现了该接口,因此自行开发的类需要继承框架产生的POA类,以便于POA框架管理
6)编写服务器端测试代码
7)编写客户端测试代码
9)启动orbd服务
10)运行服务器端程序
11)运行客户机端程序
示例:一个典型的学生管理模块idl文件
module StudentMgr{
typedef unsigned short AgeInt;
struct Student{
string stuid;
string sname;
string sex;
double score;
AgeInt age;
};
typedef sequence <Student> StudentSeq;
interface IStudentManager{
boolean addStudent(in Student vstud); //增加一个学生
boolean updateStudent(in Student vstud);//修改一个学生
boolean deleteStudent(in string vsid);//删除一个学生
Student getStudentBySid(in string sid); //根据学号查找一个学生
StudentSeq getStudents(); //查询所有的学生
};
};
(未完待续)
原文:https://www.cnblogs.com/seacat2020/p/12660131.html