第1章 導論
1.1 簡介
1.2 本書內容的組織
1.3 CORBA版本問題
1.4 源代碼示例
1.5 有關軟件供應商
1.6 如何與作者聯系
第1部分 CORBA簡介
第2章 CORBA概述
2.1 簡介
2.2 對象管理組
2.3 概念和術語
2.4 CORBA特性
2.4.1 一般請求流
2.4.2 OMG接口定義語言
2.4.3 語言映射
2.4.4 操作調用和調度軟件
2.4.5 對象適配器
2.4.6 ORB間協(xié)議
2.5 請求調用
2.5.1 對象引用語義
2.5.2 引用的獲取
2.5.3 對象引用的內容
2.5.4 引用和代理
2.6 CORBA應用程序的一般開發(fā)過程
2.7 本章小結
第3章 一個最小的CORBA應用程序
3.1 本章概述
3.2 編寫和編譯一個IDL定義
3.3 編寫和編譯一個服務器程序
3.4 編寫和編譯一個客戶機程序
3.5 運行客戶機和服務器程序
3.6 本章小結
第2部分 CORBA的核心
第4章 OMG接口定義語言
4.1 本章概述
4.2 簡介
4.3 編譯
4.3.1 單個的客戶機和服務器程序的開發(fā)環(huán)境
4.3.2 客戶機和服務器程序的不同開發(fā)環(huán)境
4.4 源文件
4.4.1 文件的命名
4.4.2 文件格式
4.4.3 預處理
4.4.4 定義的順序
4.5 詞法規(guī)則
4.5.1 注釋
4.5.2 關鍵字
4.5.3 標識符
4.6 基本的IDL類型
4.6.1 整型
4.6.2 浮點類型
4.6.3 字符
4.6.4 字符串
4.6.5 布爾量
4.6.6 八位字節(jié)
4.6.7 any類型
4.7 用戶定義類型
4.7.1 命名類型
4.7.2 枚舉
4.7.3 結構
4.7.4 聯合
4.7.5 數組
4.7.6 序列
4.7.7 序列與數組
4.7.8 遞歸類型
4.7.9 常量定義和字面值
4.7.10 常量表達式
4.8 接口和操作
4.8.1 接口語法
4.8.2 接口語義和對象引用
4.8.3 接口通信模型
4.8.4 操作定義
4.9 用戶異常
4.9.1 異常設計問題
4.10 系統(tǒng)異常
4.11 系統(tǒng)異?;蛴脩舢惓?br />4.12 單向操作(oneway operation)
4.13 上下文(contexts)
4.14 屬性(Attributes)
4.15 模塊(Modules)
4.16 前向聲明(Forward Declarations)
4.17 繼承(Inheritance)
4.17.1 從類型object中隱含的繼承
4.17.2 空接口(Empty Interface)
4.17.3 接口與實現的繼承
4.17.4 繼承的重定義規(guī)則
4.17.5 繼承的限定
4.17.6 多重繼承
4.17.7 多重繼承的限定
4.18 名稱和作用域
4.18.1 命名作用域
4.18.2 區(qū)分大小寫
4.18.3 在嵌套作用域中的名稱
4.18.4 名稱查找規(guī)則
4.19 倉庫標識符和pragma指令
4.19.1 IDL的倉庫ID格式
4.19.2 prefix的附注
4.19.3 版本(version)附注
4.19.4 使用ID附注來控制倉庫的格式
4.20 標準的include文件
4.21 最新的IDL擴展
4.21.1 寬位字符和字符串
4.21.2 64位整型
4.21.3 擴展的浮點類
4.21.4 定點十進制類型
4.21.5 轉義標識符
4.22 本章小結
第5章 一個氣溫控制系統(tǒng)的IDL
5.1 本章概述
5.2 氣溫控制系統(tǒng)
5.2.1 溫度計
5.2.2 恒溫器
5.2.3 監(jiān)測站
5.3 氣溫控制系統(tǒng)的IDL
5.3.1 溫度計的IDL
5.3.2 恒溫器的IDL
5.3.3 控制器的IDL
5.4 完整的程序
第6章 基本的IDL到C++的映射
6.1 本章概述
6.2 簡介
6.3 標識符的映射
6.4 模塊的映射
6.5 CORBA模塊
6.6 基本類型的映射
6.6.1 64位整型和long double類型
6.6.2 基本類型的重載
6.6.3 可映射成char的類型
6.6.4 wchar的映射
6.6.5 Boolean映射
6.6.6 字符率和寬位字符串映射
6.7 常量的映射
6.8 枚舉類型的映射
6.9 變長度的類型與_var類型
6.9.1 _var類型的使用
6.9.2 變長度類型的內存管理
6.10 String_var封裝類
6.10.1 使用String_var的缺陷
6.10.2 將字符率作為傳遞參數以讀取字符串
6.10.3 將字符串作為傳遞參數以更改字符串
6.10.4 隱式類型轉換產生的問題
6.10.5 取得對字符串的所有權
6.10.6 流運算符
6.11 寬位字符串的映射
6.12 定點數類型的映射
6.12.1 構造函數
6.12.2 存取函數
6.12.3 轉換運算符
6.12.4 截斷與舍入
6.12.5 算術運算符
6.12.6 流運算符
6.13 結構的映射
6.13.1 定長度結構的映射
6.13.2 變長度結構的映射
6.13.3 結構的內存管理
6.13.4 包含結構成員的結構
6.14 序列的映射
6.14.1 無界序列的映射
6.14.2 有界序列的映射
6.14.3 序列使用中的一些限制
6.14.4 序列的使用規(guī)則
6.15 數組的映射
6.16 聯合的映射
6.16.1 聯合的初始化和賦值
6.16.2 聯合的成員與鑒別器的訪問
6.16.3 沒有default語句的聯合
6.16.4 包含復雜成員的聯合
6.16.5 使用聯合的規(guī)則
6.17 遞歸結構和速歸聯合的映射
6.18 類型定義的映射
6.19 用戶定義類型和_var類
6.19.1 用于結構、聯合和序列的_var類
6.19.2 _var類的簡單使用
6.19.3 使用_var類的一些缺陷
6.19.4 定長度的結構、聯合和序列與變長度的結構、聯合和序列之間的區(qū)別
6.19.5 數組的_var類型
6.20 本章小結
第7章 客戶端的C++映射
7.1 本章概述
7.2 簡介
7.3 接口的映射
7.4 對象引用類型
7.5 對象引用的生命周期
7.5.1 刪除引用
7.5.2 引用拷貝
7.5.3 引用計數值的范圍
7.5.4 空引用
7.6 _ptr引用的語義
7.6.1 代理與_ptr引用的映射
7.6.2 繼承與拓展
7.6.3 緊縮轉換
7.6.4 類型安全的緊縮(Narrowing)
7.6.5 非法使用_ptr引用
7.7 偽對象
7.8 ORB的初始化
7.9 初始引用
7.9.1 將字符串轉換成引用
7.9.2 將引用轉換成字符串
7.10 字符串化引用
7.10.1 初始的字符串化引用
7.10.2 字符串化引用的長度
7.10.3 字符串化引用的互用性
7.10.4 字符串化引用的規(guī)則
7.11 對象偽接口
7.11.1 _is_a操作
7.11.2 _non_existent操作
7.11.3 _is_equivalent操作
7.11.4 _hash操作
7.11.5 Object操作映射小結
7.12 _var引用
7.12.1-var引用的映射
7.12.2 _var引用與拓展
7.12.3 同時使用_var和_ptr引用
7.12.4 嵌套在用戶定義類型中的引用
7.12.5 _var類型的效率
7.13 操作與屬性的映射
7.13.1 操作的映射
7.13.2 屬性的映射
7.14 參數傳遞規(guī)則
7.14.1 定長度類型與變長度類型
7.14.2 生成的_out類型
7.14.3 簡單類型的參數傳遞
7.14.4 復雜的定長度類型的參數傳遞
7.14.5 包含定長度元素的數組的參數傳遞
7.14.6 變長度參數的內存管理
7.14.7 字符串和寬位字符串的參數傳遞
7.14.8 復雜變長度類型和Any類型的參數傳遞
7.14.9 包含變長度元素數組的參數傳遞
7.14.10 對象引用的參數傳遞
7.14.11 參數傳遞規(guī)則的小結
7.14.12 使用_var類型來傳遞參數
7.14.13 釋放out參數和使用_out類型的目的
7.14.14 參數的只讀性質
7.14.15 參數傳遞的餡阱
7.15 異常映射
7.15.1 系統(tǒng)異常的映射
7.15.2 系統(tǒng)異常的語義
7.15.3 用戶異常的映射
7.15.4 異常說明
7.15.5 異常和out參數
7.15.6 ostream插入符
7.15.7 不支持異常的編譯器中的映射
7.16 上下文的映射
7.17 本章小結
第8章 開發(fā)氣溫控制系統(tǒng)的客戶程序
8.1 本章概述
8.2 簡介
8.3 客戶程序的總體結構
8.4 包含文件
8.5 輔助函數
8.5.1 顯示裝置的具體內容
8.5.2 打印出錯異常信息
8.6 main函數
8.6.1 初始化
8.6.2 與服務器程序的交互
8.7 完整的客戶程序代碼
8.8 本章小結
第9章 服務器端C++映射
9.1 本章概述
9.2 簡介
9.3 接口的映射
9.4 伺服類
9.5 對象的實體
9.6 服務器程序的main函數
9.7 參數傳遞規(guī)則
9.7.1 簡單類型的參數傳遞
9.7.2 復雜的定長度類型的參數傳遞
9.7.3 包含定長度元素數組的參數傳遞
9.7.4 字符串和寬位字符串的參數傳遞
9.7.5 復雜的變長度類型和any類型的參數傳遞
9.7.6 包含變長度元素數組的參數傳遞
9.7.7 對象引用的參數傳遞
9.8 引發(fā)異常
9.8.1 異常發(fā)送的具體細節(jié)
9.8.2 發(fā)送CORBA系統(tǒng)異常
9.8.3 管理出現異常的內存
9.9 Tie類
9.9.1 tie類的具體細節(jié)
9.9.2 tie伺服程序的具體化
9.9.3 tie類的評價
9.10 本章小結
第10章 開發(fā)氣溫控制系統(tǒng)的服務器程序
10.1 本章概述
10.2 簡介
10.3 儀器控制協(xié)議的API
10.3.1 添加和刪除裝置
10.3.2 讀取屬性值
10.3.3 寫屬性值
10.4 設計溫度計的伺服類
10.5 實現溫度計的伺服類
10.5.1 Thermometer_impl輔助函數
10.5.2 Thermometer_impl的IDL操作
10.5.3 Thermometer_impl的構造函數和析構函數
10.6 設計恒溫器的伺服類
10.7 實現Thermostat的伺服類
10.7.1 Thermostat_impl輔助函數
10.7.2 Thermostat_impl的IDL操作
10.7.3 Thermostat_impl的構造函數和析構函數
10.8 設計控制器的伺服類
10.9 實現控制器的伺服類
10.9.1 Controller_impl輔助函數
10.9.2 實現list操作
10.9.3 實現change操作
10.9.4 實現find操作
10.10 實現服務器程序的main函數
10.11 完整的服務器程序代碼
10.11.1 server.hh頭文件
10.11.2 server.cc實現文件
10.12 本章小結
第11章 可移植的對象適配器
11.1 本章概述
11.2 簡介
11.3 POA基本原理
11.3.1 基本的請求調度
11.3.2 關鍵的POA實體
11.4 POA策略
11.4.1 CORBA對象生存期范圍
11.4.2 對象標識符
11.4.3 對象到伺服程序之間的映射
11.4.4 隱式激活
11.4.5 請求與伺服程序之間的匹配
11.4.6 ObjectId到伺服程序的關聯
11.4.7 請求到線程的分配
11.4.8 策略工廠操作(Policy Factory Operations)
11.5 POA創(chuàng)建
11.6 Servant IDL類型
11.6.1 CCS::Thermometer伺服程序
11.7 對象創(chuàng)建和激活
11.7.1 對象創(chuàng)建
11.7.2 伺服程序注冊
11.7.3 伺服程序管理器
11.7.4 默認的伺服程序
11.7.5 伺服程序內存管理
11.7.6 請求處理
11.8 引用、ObjectId和伺服程序
11.9 對象失效
11.10 請求流控制
11.11 ORB事件處理
11.11.1 阻塞事件處理
11.11.2 非阻塞事件處理
11.11.3 應用程序停止運行
11.12 POA激活
11.13 POA析構
11.14 應用POA策略
11.14.1 多線程問題
11.14.2 ObjectId賦值
11.14.3 激活
11.14.4 時空折衷
11.14.5 關于生命范圍的考慮
11.15 本章小結
第12章 對象生命周期
12.1 本章概述
12.2 簡介
12.3 對象工廠
12.3.1 工廠設計選項
12.3.2 用C++實現工廠
12.4 撤消、拷貝以及移動對象
12.4.1 撤消對象
12.4.2 拷貝對象
12.4.3 移動對象
12.4.4 通用工廠
12.5 對生命周期服務的評論
12.5.1 設計的通則
12.5.2 發(fā)布日期
12.5.3 使用move操作的問題
12.5.4 接口的粒度
12.5.5 在什么情況下使用生命周期服務
12.6 Evictor模式
12.6.1 基本的收回策略
12.6.2 維護LRU順序
12.6.3 使用伺服程序定位器實現收回模型
12.6.4 對使用伺服程序定位器的收回模型的評價
12.6.5 使用伺服程序激活器來實現收回模型
12.6.6 對使用伺服程序激活器的收回模型的評價
12.6.7 與匯集管理器操作的交互
12.7 伺服程序的無用存儲單元回收
12.7.1 客戶機意外行為的處理
12.7.2 通過關機進行無用存儲單元回收
12.7.3 使用收回模型進行無用存儲單元回收
12.7.4 使用超時進行無用存儲單元回收
12.7.5 顯式保持激活
12.7.6 每個對象逆向保持激活
12.7.7 每個客戶逆向保持激活
12.7.8 檢測客戶的斷連
12.7.9 分布式引用計數
12.7.10 選擇方案小結
12.8 CORBA對象的無用存儲單元回收
12.8.1 太平洋問題
12.8.2 引用完整性
12.8.3 無用存儲單元回收的未來
12.9 本章小結
第3部分 CORBA機理
第13章 GIOP, IIOP和IOR
13.1 本章概述
13.2 GIOP概述
13.2.1 傳輸假設
13.3 公共數據表示
13.3.1 CDR數據對齊
13.4 GIOP消息格式
13.4.1 Request消息格式
13.4.2 Reply消息格式
13.4.3 其他消息格式
13.5 GIOP連接管理
13.6 檢測無序的關閉
13.7 IIOP綜述
13.8 IOR的結構
13.9 雙向IIOP
13.10 本章小結
第14章 實現倉庫和綁定
14.1 本章概述
14.2 綁定模式
14.3 直接綁定
14.3.1 暫態(tài)引用的直接綁定
14 3.2 持久引用的直接綁定
14.4 通過實現倉庫的間接綁定
14.4.1 實現倉庫的標準一致性
14.4.2 實現倉庫結構
14.4.3 定位域
14.4.4 服務器程序和實現倉庫之間的相互影響
14.4.5 通過實現倉庫的綁定
14.4.6 綁定優(yōu)化
14.5 遷移、可靠性、性能和可擴展性
14.5.1 小定位域
14.5.2 大定位域
14.5.3 冗余的實現倉庫
14.5.4 對象遷移的粒度
14.5.5 跨定位域邊界的遷移
14.6 激活模式
14.7 競爭狀態(tài)
14.7.1 激活期間的競爭狀態(tài)
14.7.2 關閉期間的競爭狀態(tài)
14.7.3 服務器程序關閉和重新綁定
14.8 安全性考慮
14.8.1 服務器程序的權限
14.8.2 遠程倉庫訪問
14.8.3 通過防火墻的IIOP
14.9 本章小結
第4部分 動態(tài)CORBA
第15章 any類型的C++映射
15.1 本章概述
15.2 簡介
15.3 any類型C++映射
15.3.1 構造函數, 析構函數和賦值
15.3.2 基本類型
15.3.3 重載不可區(qū)分的類型
15.3.4 無界的字符串的插入和提取
15.3.5 有界的字符串的插入和提取
15.3.6 寬位字符串的插入和提取
15.3.7 定點類型的插入和提取
15.3.8 用戶定義類型
15.3.9 插入和提取Any
15.3.10 插入和提取異常
15.4 類型定義中易出現的問題
15.5 本章小結
第16章 類型代碼
16.1 本章概述
16.2 簡介
16.3 TypeCode偽對象
16.3.1 適用于所有類型代碼的類型和操作
16.3.2 類型代碼參數
16.3.3 作為值的類型代碼
16.4 TypeCode偽對象的C++映射
16.5 類型代碼比較
16.5.1 TypeCode::equal的語義
16.5.2 TypeCode: : equivalent的語義
16.5.3 為什么讓類型代碼中的名稱是可選項
16.5.4 類型代碼比較的可移植性
16.5.5 從any類型提取的語義
16.5.6 結構上的等價
16.5.7 get_compact_typecode操作
16.6 類型代碼常量
16.6.1 內置類型的常量
16.6.2 自定義類型的常量
16.7 any類型的類型代碼比較
16.7.1 控制在Any類型中插入的別名信息
16.7.2 檢驗從Any類型中提取的別名信息
16.8 動態(tài)創(chuàng)建類型代碼
16.8.1 用于類型代碼創(chuàng)建的IDL
16.8.2 類型代碼創(chuàng)建的C++映射
16.9 本章小結
第17章 DynAny類型
17.1 本章概述
17.2 簡介
17.3 DynAny接口
17.3.1 局部約束
17.3.2 用于DynAny的IDL
17.3.3 用于DynEnum的IDL
17.3.4 用于DynStruct的IDL
17.3.5 用于DynUnion的IDL
17.3.6 用于DynSequence的IDL
17.3.7 用于DynArray的IDL
17.3.8 用于DynFixed的IDL
17.4 DynAny偽對象的C++映射
17.4.1 簡單類型的DynAny應用
17.4.2 使用DynEnum
17.4.3 使用DynStruct
17.4.4 使用DynUnion
17.4.5 使用DynSequence
17.5 用于通用顯示的DynAny
17.6 獲得類型信息
17.6.1 從OMG接口倉庫獲得類型信息
17.6.2 從轉換表中獲得類型信息
17.6.3 從表達式獲得類型信息
17.7 本章小結
第5部分 CORBA服務
第18章 OMG命名服務
18.1 本章概述
18.2 簡介
18.3 基本概念
18.4 命名服務IDL的結構
18.5 名稱的語義
18.5.1 名稱結構
18.5.2 名稱的表達
18.5.3 kind字段的作用
18.5.4 不支持寬位字符串
18.5.5 名稱的等價性
18.5.6 絕對與相對名稱
18.5.7 名稱解析
18.6 命名上下文的IDL
18.6.1 命名服務中的異常
18.6.2 上下文的生命周期
18.6.3 獲得初始命名上下文
18.6.4 創(chuàng)建一個綁定
18.6.5 建立一個命名圖
18.6.6 重綁定
18.6.7 取消綁定
18.6.8 正確地撤消上下文
18.6.9 解析名稱
18.7 迭代器
18.7.1 使用迭代器的必要性
18.7.2 拉迭代器
18.7.3 推迭代器
18.7.4 命名服務迭代器
18.8 命名服務中容易出錯的地方
18.9 名稱庫
18.10 命名服務工具
18.11 怎樣公告對象
18.12 公告的時機
18.13 聯邦化命名
18.13.1 完全連接的聯邦化結構
18.13.2 層次化的聯邦結構
18.13.3 混合結構
18.14 給氣溫控制系統(tǒng)增加命名
18.14.1 通用的輔助函數
18.14.2 更新氣溫控制系統(tǒng)的服務程序
18.14.3 更新氣溫控制系統(tǒng)的客戶程序
18.15 本章小結
第19章 OMG交易服務
19.1 本章概述
19.2 簡介
19.3 交易的概念和術語
19.3.1 基本的交易概念
19.3.2 服務類型和IDL接口類型
19.3.3 服務請求
19.3.4 約束表達式
19.3.5 聯邦
19.3.6 動態(tài)屬性
19.3.7 代理提供源
19.3.8 優(yōu)先權
19.3.9 策略
19.4 IDL概述
19.5 服務類型倉庫
19.5.1 屬性
19.5.2 服務類型的繼承
19.5.3 服務類型倉庫的IDL
19.5.4 在C++內使用服務類型倉庫
19.6 交易接口
19.6.1 主要接口
19.6.2 抽象基接口
19.6.3 迭代器
19.6.4 公共類型
19.7 導出服務提供源
19.7.1 export操作的IDL定義
19.7.2 導出服務提供源的C++代碼
19.7.3 附加屬性
19.8 收回服務提供源
19.9 改變服務提供源
19.10 交易程序約束語言
19.10.1 字面值
19.10.2 標識符
19.10.3 比較運算符
19.10.4 算術運算符
19.10.5 布爾運算符
19.10.6 集合成員
19.10.7 子串的匹配
19.10.8 存在性測試
19.10.9 優(yōu)先權
19.10.10 約束語言的示例程序
19.11 導入服務提供源
19.11.1 Lookup接口的IDL
19.11.2 編制一個簡單的查詢(Query)程序
19.11.3 OfferInterator接口
19.11.4 控制query返回的細節(jié)
19.11.5 使用優(yōu)先權
19.11.6 導入策略
19.12 成批收回
19.13 Admin接口
19.13.1 設定配置值
19.13.2 檢索服務提供源ID
19.14 檢測服務提供源
19.15 導出動態(tài)屬性
19.16 交易程序聯邦
19.16.1 鏈接和聯邦的策略
19.16.2 請求標識符
19.16.3 指定一個起始的交易
19.16.4 Link接口
19.16.5 定位交易程序的Register接口
19.16.6 聯邦和導入策略
19.17 交易程序工具
19.18 交易程序的體系結構
19.19 如何發(fā)布公告
19.20 避免重復服務提供源
19.21 向氣溫控制系統(tǒng)添加交易
19.21.1 為控制器創(chuàng)建服務類型
19.21.2 為控制器導出服務提供源
19.21.3 向控制器導入引用
19.22 本章小結
第20章 OMG事件服務
20.1 本章概述
20.2 簡介
20.3 分布式回調
20.3.1 回調的示例
20.3.2 回調出現的問題
20.3.3 分布式回調的評價
20.4 事件服務基礎
20.4.1 經典的推模型
20.4.2 經典的拉模型
20.4.3 混合推/拉模型
20.4.4 混合拉/推模型
20.4.5 混合事件模型
20.5 事件服務接口
20.5.1 推模型接口
20.5.2 拉模型接口
20.5.3 事件通道接口
20.5.4 事件通道的聯邦
20.6 實現使用者和提供者
20.6.1 獲得一個EventChannel引用
20.6.2 實現一個推提供者
20.6.3 實現一個推使用者
20.6.4 實現一個拉提供者
20.6.5 實現一個拉使用者
20.7 選擇一個事件模型
20.7.1 事件通道的實現
20.7.2 推模型淺析
20.7.3 拉模型淺析
20.8 事件服務的局限性
20.8.1 多個提供者
20.8.2 可靠性的缺陷
20.8.3 篩選性的缺陷
20.8.4 工廠的缺陷
20.8.5 異步消息傳送
20.9 本章小結
第6部分 功能強大的CORBA
第21章 多線程應用程序
21.1 本章概述
21.2 簡介
21.3 多線程編程的動機
21.3.1 請求的排隊
21.3.2 事件處理
21.3.3 單線程服務器程序的評價
21.3.4 多線程編程的優(yōu)點
21.4 多線程服務器程序的基礎
21.4.1 ORB底層的多線程問題
21.4.2 POA多線程問題
21.4.3 伺服程序的多線程問題
21.4.4 第三方庫問題
21.4.5 ORB事件處理的多線程問題
21.5 多線程策略
21.6 實現多線程服務器程序
21.6.1 CCS生命周期操作的復習
21.6.2 總體的應用程序問題
21.6.3 并發(fā)性問題
21.6.4 Controller_impl伺服類
21.6.5 創(chuàng)建操作的實現
21.6.6 Devicelocator_impl伺服程序定位器
21.6.7 實現preinvoke
21.6.8 實現溫度計的伺服程序
21.6.9 多線程收回器的評價
21.7 伺服程序激活器和收回器模式
21.8 本章小結
第22章 性能、可擴展性和可維護性
22.1 本章概述
22.2 簡介
22.3 減少消息開銷
22.3.1 基本IIOP性能限制
22.3.2 粗操作
22.3.3 粗略對象模型
22.3.4 客戶端高速緩沖存取
22.4 優(yōu)化服務程序的實現
22.4.1 線程化服務器程序
22.4.2 為每個對象創(chuàng)造單獨的伺服程序
22.4.3 伺服程序的定位器和激活器
24.4.4 收回器模式
22.4.5 默認伺服程序
22.4.6 定制對象引用
22.4.7 服務器端高速緩存
22.5 聯邦服務
22.6 改進物理設計
22.7 本章小結
附錄A ICP模擬器的源代碼
附錄B CORBA資源
參考文獻