Corba简单讲解
Common Object Request Broker Architecture: Corba 译为公共对象请求代理体系结构。是一种标准的面向对象应用程序体系规范,为了解决分布式处理环境中,硬件和软件系统的互连的解决方案。
1. IDL
IDL 全称为 Interface Definition Lanfuage 即接口定义语言,用于描述服务提供者和服务使用着之间的操作。它解决共同操作所带来的问题,去除了对象的多项性,去除了对象的位置因素。接口和实现分离。IDL用来生成基础框架来定义接口。它支持继承和多态继承。它独立于所有的编程语言,是应用程序之间的中间语言。IDL到特定语言的映射:C, C++, Java, Smalltalk, Ada, Cobol等。
编写Corba应用的流程:
1 编写IDL接口
2 实现接口
3 编写服务器
4 编写客户机
也就是
1 定义提供的远程服务
2 定义服务的代码
3 实例化和存储对象服务
4 对服务器的访问
IDL 语法与C和C++类似。使用/* */或者//进行注释。字母数字下划线序列构成标识符。参数列表为空写作()而不是(void)。字符类型char没有signed与unsigned之分。有3种基本元素:模块(module), 接口(interface)和方法。模块是一个命名空间,接口是某些服务的集合(一个Corba Objet), 方法是服务。
例如
module Country{
interface Province{
string City;
};
};
特别注意:别忘加了分号。
如有必要可以嵌套模块。
一些例子:
module Maths{
const double PI = 3.1415926;
typedef unsigned short Positif;
};
module Year{
typedef unsigned Month;
typedef unsigned Day;
};
2. Corba总线
3. 无名字服务与名字服务
4. 简单示例 JAVA
5. 简单示例 C
6. 实例: 计算器 JAVA客户端和服务端
7. 实例: 复数计算器 JAVA客户端和C服务端