### JAVA开发CORBA实例知识点详解
#### 一、概述
本文档主要介绍如何利用Java进行CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)的开发,并提供了详细的步骤和示例。CORBA是一种分布式计算环境下的软件架构,允许不同计算机上的软件组件通过网络进行通信,它支持跨语言、跨平台的互操作性。
#### 二、工具准备与环境配置
##### 1. 工具版本
- **Java**: 1.6.0_16
- **Apache Ant**: 1.7.0
- **JacORB**: 2.3.1
- **Eclipse**: 3.4.0
##### 2. 安装路径
- **Java**: `C:\Java\jdk1.6.0_16`
- **Ant**: `D:\ant-1.7.0`
- **JacORB**: `D:\jacorb-2.3.1`
##### 3. 环境变量配置
- **Java环境设置**
- `JAVA_HOME`: `C:\Java\jdk1.6.0_16`
- `Path`: `%JAVA_HOME%\bin`
- `CLASSPATH`: `.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar`
- **Ant环境设置**
- `ANT_HOME`: `D:\ant-1.7.0`
- `Path`: `%ANT_HOME%\bin`
- **JacORB环境设置**
- `JACORB_HOME`: `D:\jacorb-2.3.1`
- `Path`: `%JACORB_HOME%\bin`
- `CLASSPATH`: `%JACORB_HOME%\lib\idl.jar;%JACORB_HOME%\lib\jacorb.jar;%JACORB_HOME%\classes;%JACORB_HOME%\lib\logkit-1.2.jar`
##### 4. JacORB安装与配置
- 解压`jacorb-2.3.1-bin.zip`至`D:\jacorb-2.3.1`
- 在命令行环境下执行`ant scripts`,生成`D:\jacorb-2.3.1\bin`下的批处理文件。
- 启动测试: 运行`D:\jacorb-2.3.1\bin\ns.bat`,检查是否成功启动CORBA命名服务。
#### 三、代码编写与实现
##### 1. 工程配置
- **工程名称**: `HelloCorba`
- **工程路径**: `E:\WORKPLACE`
- **总体目录结构**:
- `idl`: 存放IDL文件
- `src`: 存放Java源代码
- `bin`: 存放编译后的class文件
##### 2. IDL文件定义
- 文件名: `mtclient.idl`
- 定义了两个接口`Observer`和`MyServer`,以及相应的类型定义。
```idl
module demo {
module mtclient {
typedef sequence< string > strings;
interface Observer {
oneway void update1(in Observer o);
oneway void update2();
};
interface MyServer {
string writeMessage(in string a1);
string writeMessages(in strings a1, in Observer o);
strings arryfy(in string a1, in long a2);
};
};
};
```
##### 3. 编译IDL文件
- 使用JacORB自带的IDL编译器`idl.bat`编译`mtclient.idl`文件,生成多个Java类文件。
##### 4. 服务器端实现
- 实现`MyServer`接口,提供相应的业务逻辑。
##### 5. 客户端实现
- 调用服务器端提供的服务。
#### 四、运行示例
- **启动命名服务**: `ns -Djacorb.naming.ior_filename=c:/NS_Ref`
- **启动服务器**: `jaco demo.mtclient.Server`
- **启动客户端**: `jaco demo.mtclient.Client`
#### 五、扩展讨论
- **CORBA注册**: 了解如何在CORBA环境中注册对象和服务。
- **CORBA环境修改**: 探讨如何根据实际需求调整CORBA环境配置。
#### 六、总结
本文档详细介绍了使用Java进行CORBA开发的过程,从环境搭建到具体代码实现均有详尽的指导。对于初学者而言,这是一个很好的起点,而对于有经验的开发者,则可以从中获得实用的参考。CORBA作为一种成熟的分布式计算框架,其应用场景广泛,特别是在需要跨平台和跨语言通信的场景中表现出色。希望本文档能够帮助读者更好地理解和掌握CORBA技术。