前言
第I部分 CORBA简介
第1章 为什么使用CORBA
1.1 什么是CORBA
1.2 CORBA的用途
1.3 基于分布对象计算的CORBA
1.4 什么是分布式计算
1.4.1 分布式计算的优点
1.4.2 分布式计算的现有机制
1.4.3 CORBA如何增强分布式计算
1.5 什么是对象模型
1.5.1 使用对象模型的优点
1.5.2 CORBA结合对象模型的优点
1.6 分布式计算与对象模型如何相补充
1.7 CORBA——通信中间件
1.8 CORBA与分布式计算环境DCE
1.8.1 CORBA与DCE分布式模型的比较
1.8.2 所支持的通信形式的比较
1.8.3 差异小结
1.9 OMG对象管理体系
1.10 CORBA的现状
1.11 CORBA的前景
第2章 CORBA概念总览
2.1 CORBA正式分离客户机和服务器
2.2 请求
2.3 OMG接口定义语言
2.4 OMG IDL文件
2.5 对象实例和引用
2.6 对象的实现
2.7 异常
2.8 CORBA示例
2.9 小结
2.10 下一步内容
第3章 CORBA体系结构综述
3.1 CORBA体系结构概貌
3.2 客户机应用
3.3 桩类型激发
3.4 动态激发
3.5 ORB
3.6 上下文对象
3.7 接口仓库
3.8 OMG IDL
3.9 OMG IDL文件和编译器
3.10 服务器应用程序
3.11 对象适配器
3.11.1 基本对象适配器
3.11.2 BOA操作
3.12 服务器框架
3.13 实现仓库
3.14 下一步内容
第2部分 CORBA应用程序框架设计
第4章 设计CORBA应用程序
4.1 应用程序框架
4.1.1 使用框架
4.1.2 设计框架
4.2 把分布式应用程序设计成框架
4.3 模型设计
4.3.1 框架示例
4.3.2 第一步:标识要解决的问题
4.3.3 第二步:建立抽象模型
4.3.4 第三步:建立对象模型
4.3.5 第四步:用OMG IDL代码表示对象模型
4.4 面向对象模型与传统设计模型的比较
第5章 细化对象模型
5.1 使用现实世界模型
5.2 使操作一般化
5.3 决定如何创建对象
5.4 使用接口继承
5.4.1 使用接口继承的一个例子
5.4.2 使用多继承
5.5 有效地使用操作和属性
5.5.1 什么是对象属性
5.5.2 何时使用对象属性或操作
5.5.3 何时使用只读对象属性
第6章 分布式设计
6.1 细化分布式环境模型
6.1.1 远程操作
6.1.2 加入接口抽象层
6.1.3 把用户交互从数据交互中分离出来
6.1.4 增加有用的函数
6.2 选择一个交互模型
6.2.1 经典交互模型
6.2.2 对等交互模型
6.2.3 代理器交互模型
6.3 交互模型的通用应用程序
6.4 在框架中使用交互模型
6.5 决定如何包装应用程序
第7章 用OMG IDL编码
7.1 编写OMG IDL代码的基本原则
7.2 用OMG IDL定义对象属性
7.2.1 声明对象属性
7.2.2 声明只读对象属性
7.3 用OMG IDL定义继承
7.3.1 声明单继承
7.3.2 声明多继承
7.3.3 声明跨模块继承
7.4 用OMG IDL定义异常
7.4.1 使用标准异常
7.4.2 定义自定义异常
7.5 用OMG IDL定义传播的上下文
7.6 其他
第3部分 开发CORBA应用程序框架
第8章 开发应用程序的客户机部分
8.1 请求的结构
8.1.1 请求的C语言映射
8.2 选择激发的通信样式
8.2.1 同步通信
8.2.2 延迟同步通信
8.2.3 单向通信
8.3 选择激发类型
8.3.1 桩类型激发
8.3.2 动态激发
8.4 建立CORBA客户机应用程序的一般过程
8.5 开发一个简单的客户机应用程序
8.5.1 支持桩类型激发
8.5.2 对客户桩的进一步研究
8.5.3 请求的格式
8.5.4 请求的结果
8.5.5 请求的对象引用
8.5.6 处理错误和异常
8.6 开发复杂的客户机应用程序
8.6.1 使用上下文对象
8.6.2 使用动态激发
8.7 完整的客户机C代码示例
第9章 开发应用程序的服务器端部分
9.1 使用BOA
9.2 CORBA对象的生命周期
9.3 构造CORBA服务器的一般过程
9.4 服务器编程
9.4.1 决定实现的激活策略
9.4.2 生成与链接服务器框架
9.4.3 编写代码以启动和终止服务器
9.4.4 编写代码以激活和冻结实现
9.4.5 将客户机请求分发到实现方法
9.4.6 方法编程
9.4.7 创建初始对象引用
第10章 客户机操作与服务器方法的关联
10.1 CORBA-BOA-create操作
10.2 供应商如何把接口映射到实现
10.2.1 简单情形:一个接口对应一个实现
10.2.2 更灵活的情形:一个接口对应多个实现中的一个 10.2.3 最灵活的情形:一个接口对应多个实现
10.3 关联何时发生
第4部分 CORBA应用程序调配到CORBA系统
第11章 调配应用程序
11.1 总体的调配考虑
11.1.1 决定支持哪种客户机和服务器平台
11.1.2 决定如何包装套件
11.1.3 安装过程提示
11.1.4 调配框架时的激发问题
11.2 调配基于CORBA的客户机
11.2.1 为客户机获取对象引用
11.2.2 调配接口定义
11.2.3 选择用以调配客户桩的格式
11.3 调配基本CORBA的服务器
11.3.1 用服务器创建和分布对象
11.3.2 调配实现定义
11.3.3 调配持久服务器
附录 A 扩展代码的例子
A.1 模块CORP.IDL中的人事对象和操作的OMG IDL例子
A.2 客户机应用程序的C语言代码例子
A.3 客户机应用程序的C++语言代码例子
附录 B CORBA版本1.1和1.2中操作和对象的命名
附录 C OCRBA的标准异常
附录 D 动态激发操作的总结
术语表