1、CORBA 百科名片CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由 OMG 组织制订的一种标准的面向对象应用程 序体系规范。或者说 CORBA 体系结构是对象管理组织(OMG )为解决分布式处理环境 (DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG 组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。 目录隐藏简介 优点 重要概念 不足之处 基于分布式对象计算的 CORBA 通信中间件 技术特点 服务的基本内容 简
2、介优点重要概念不足之处基于分布式对象计算的 CORBA通信中间件技术特点服务的基本内容 在 CIMS 中的应用编 辑 本 段 简 介CORBA( Common Object Request Broker Architecture 公 共 对 象 请 求 代 理 体系 结 构 ) 是 由 OMG 组 织 制 订 的 一 种 标 准 的 面 向 对 象 应 用 程 序 体 系 规 范 。 或 者 说 CORBA 体 系 结 构 是 对 象 管 理 组 织 ( OMG) 为 解 决 分 布 式 处 理 环 境 (DCE)中 , 硬 件 和软 件 系 统 的 互 连 而 提 出 的 一 种 解 决 方
3、 案 ; OMG 组 织 是 一 个 国 际 性 的 非 盈 利 组 织 , 其职 责 是 为 应 用 开 发 提 供 一 个 公 共 框 架 , 制 订 工 业 指 南 和 对 象 管 理 规 范 , 加 快 对 象 技 术 的发 展 。 OMG 组 织 成 立 后 不 久 就 制 订 了 OMA(Object Management Architecture, 对 象管 理 体 系 结 构 )参 考 模 型 , 该 模 型 描 述 了 OMG 规 范 所 遵 循 的 概 念 化 的 基 础 结 构 。 OMA 由 对 象 请 求 代 理 ORB、 对 象 服 务 、 公 共 设 施 、 域
4、接 口 和 应 用 接 口 这 几 个 部 分 组 成 ,其 核 心 部 分 是 对 象 请 求 代 理 ORB( Object Request Broker) 。 对 象 服 务 是 为 使 用 和实 现 对 象 而 提 供 的 基 本 服 务 集 合 ; 公 共 设 施 是 向 终 端 用 户 应 用 程 序 提 供 的 一 组 共 享 服 务接 口 ; 域 接 口 是 为 应 用 领 域 服 务 而 提 供 的 接 口 ; 应 用 接 口 是 由 开 发 商 提 供 的 产 品 , 用 于它 们 的 接 口 , 不 属 于 OMG 标 准 的 内 容 。 ORB 提 供 了 一 种 机
5、制 , 通 过 这 种 机 制 , 对 象可 以 透 明 的 发 出 请 求 和 接 收 响 应 。 分 布 的 、 可 以 互 操 作 的 对 象 可 以 利 用 ORB 构 造 可以 互 操 作 的 应 用 。 CORBA 系 统CORBA 标 准 由 对 象 管 理 组 织 ( OMG) 设 立 并 进 行 控 制 , CORBA 定 议 了 一 系 列 API, 通 信 协 议 , 和 物 件 /服 务 信 息 模 型 用 于 使 得 异 质 应 用 程 序 能 够 互 相 操 作 , 这 些 应 用 程序 用 不 同 的 程 序 语 言 编 写 , 运 行 在 不 同 的 平 台 上
6、 。 CORBA 因 此 为 定 义 明 确 的 物 件 提供 了 平 台 和 位 置 的 透 明 性 , 这 些 物 件 是 分 布 式 计 算 平 台 的 基 础 。 CORBA 分 布 计 算 技 术 , 是 由 绝 大 多 数 分 布 计 算 平 台 厂 商 所 支 持 和 遵 循 的 系 统 规 范技 术 , 具 有 模 型 完 整 、 先 进 , 独 立 于 系 统 平 台 和 开 发 语 言 , 被 支 持 程 度 广 泛 的 特 点 , 已逐 渐 成 为 分 布 计 算 技 术 的 标 准 。 COBRA 标 准 主 要 分 为 3 个 层 次 : 对 象 请 求 代 理 、
7、公共 对 象 服 务 和 公 共 设 施 。 最 底 层 是 对 象 请 求 代 理 ORB, 规 定 了 分 布 对 象 的 定 义 ( 接口 ) 和 语 言 映 射 , 实 现 对 象 间 的 通 讯 和 互 操 作 , 是 分 布 对 象 系 统 中 的 “软 总 线 “; 在 ORB 之 上 定 义 了 很 多 公 共 服 务 , 可 以 提 供 诸 如 并 发 服 务 、 名 字 服 务 、 事 务 (交 易 )服 务、 安 全 服 务 等 各 种 各 样 的 服 务 ; 最 上 层 的 公 共 设 施 则 定 义 了 组 件 框 架 , 提 供 可 直 接 为 业务 对 象 使 用
8、 的 服 务 , 规 定 业 务 对 象 有 效 协 作 所 需 的 协 定 规 则 。 CORBA(公 共 对 象 请 求 代 理 架 构 ): 这 是 个 和 微 软 com,com+齐 名 的 同 类 软 件 技 术规 范 , 由 OMT 提 出 。 用 于 在 不 同 进 程 (程 序 )之 间 , 甚 至 是 不 同 物 理 机 器 上 的 进 程 (程 序 )之 间 通 讯 。 底层 技 术 依 靠 RPC远 程 过 程 调 用 实 现 。 编 辑 本 段 优 点面 向 对 象 的 软 件 , 以 数 据 为 中 心 设 计 , 对 象 类 既 具 有 模 块 的 封 装 性 和
9、类 属 等 特 性 ,还 具 有 继 承 特 性 , 极 大 地 提 高 了 类 的 可 扩 充 性 和 可 再 用 能 力 。 对 象 类 较 之 于 传 统 软 件 的 功 能 模 块 而另 具 有 的 优 点 是 : ( 1) 易 于 理 解 , 具 有 完 整 的 语 义 特 征 ; ( 2) 易 于 扩 充 和 修 改 , 具 有 较 高 的 通 用 性 和 适 应 性 ; ( 3) 易 于 构 造 组 装 , 具 有 规 范 的 外 部 接 口 。 CORBA 系 统开 发 应 用 组 件 必 须 遵 循 标 准 , 以 保 证 软 件 组 件 的 互 操 作 性 , 只 有 遵
10、循 统 一 的 标 准 , 不 同厂 商 的 、 不 同 时 期 的 、 不 同 程 序 设 计 风 格 的 、 不 同 编 程 语 言 的 、 不 同 操 作 系 统 的 、 不 同平 台 上 的 软 件 或 软 件 部 件 才 能 进 行 交 流 与 合 作 。 为 此 , OMG( ObjectManageGroup) 提 供 了 一 个 对 象 标 准 CORBA, 它 定 义 了 一 个 网 连 对 象 的 接 口 , 使 得 对 象 可 以 同 时工 作 。 基 于 CORBA 的 对 象 请 求 代 理 ORB 为 客 户 机 服 务 器 开 发 提 供 了 中 间 件 的 新格
11、 式 。 作 为 OMG 成 员 的 微 软 公 司 撇 开 CORBA 而 另 辟 了 COM( ComponetObjectModel) , 即 组 件 对 象 模 型 , 并 把 COM 定 位 成 基 于 对 象 的 软 件 开 发 模 型 , 尽 管 COM 被认 为 是 微 软 鼓 噪 出 来 的 技 术 , 但 支 持 COM 的 开 发 工 具 却 不 断 增 多 , 其 中 大 部 分 来 自于 微 软 , 包 括 VisualBasic 和 VisualC 。 公 共 对 象 请 求 代 理 结 构 : CORBA 标 准 全 球 性 网 络 使 线 上 的 所 有 设 备
12、 和 软 件 成 为 全 球 共 享 的 浩 瀚 的 资 源 , 计 算 机 环 境 也 从集 中 式 发 展 到 分 布 式 环 境 , 开 放 式 系 统 的 发 展 使 用 户 能 够 透 明 地 应 用 由 不 同 厂 商 制 造 的不 同 机 型 不 同 平 台 所 组 成 的 异 构 型 计 算 资 源 , 因 此 , 分 布 式 处 理 和 应 用 集 成 自 然 而 然 地成 为 人 们 的 共 同 要 求 , 那 么 什 么 是 分 布 式 处 理 和 应 用 集 成 呢 ? 它 们 的 功 能 和 关 键 技 术 是什 么 呢 ? 简 单 地 讲 , 分 布 式 处 理 和
13、 应 用 集 成 就 是 指 在 异 构 的 、 网 络 的 、 物 理 性 能 差 别 很大 的 、 不 同 厂 商 的 、 不 同 语 言 的 信 息 资 源 的 基 础 上 构 建 信 息 共 享 的 分 布 式 系 统 , 并 且 能够 有 效 地 进 行 应 用 系 统 和 分 布 式 处 理 的 集 成 。 分 布 式 处 理 的 关 键 在 于 定 义 可 管 理 的 软 件构 件 , 即 面 向 对 象 技 术 中 的 “对 象 ”。 应 用 集 成 的 关 键 在 于 为 跨 平 台 、 跨 机 种 、 跨 编 程语 言 的 产 品 提 供 统 一 的 应 用 接 口 。 O
14、MG 组 织 针 对 当 今 信 息 产 业 的 要 求 , 公 布 了 CORBA 标 准 , 即 公 共 对 象 请 求 代 理 体 系 结 构 ( Common Object Request Broker Architecture) , 这 是 一 个 具 有 互 操 作 性 和 可 移 植 性 的 分 布 式 面 向 对 象 的 应 用 标 准 。 CORBA 的 核 心 是 对 象 请 求 代 理 ORB, 它 提 供 对 象 定 位 、 对 象 激 活 和 对 象 通 讯 的透 明 机 制 。 客 户 发 出 要 求 服 务 的 请 求 , 而 对 象 则 提 供 服 务 , OR
15、B 把 请 求 发 送 给 对 象、 把 输 出 值 返 回 给 客 户 。 ORB 的 服 务 对 客 户 而 言 是 透 明 的 , 客 户 不 知 道 对 象 驻 留 在 网络 中 何 处 、 对 象 是 如 何 通 讯 、 如 何 实 现 以 及 如 何 执 行 的 , 只 要 他 持 有 对 某 对 象 的 对 象 引用 , 就 可 以 向 该 对 象 发 出 服 务 请 求 。 CORBA 允 许 用 户 以 两 种 不 同 的 方 式 提 出 对 象 请 求 : 1) 静 态 调 用 : 通 过 给 定 接 口 的 存 根 , 在 编 译 了 对 象 代 码 后 , 进 入 客
16、户 端 的 程 序 。 因 此 , 静 态 调 用必 须 在 编 译 时 就 知 道 对 象 及 其 类 型 。 2) 动 态 调 用 : 通 过 ORB 的 动 态 调 用 接 口 DII, 在 运 行 时 生 成 访 问 对 象 的 代 码 。 不 管 客 户 以 哪 一 种 形 式 提 出 请 求 , ORB 的 任 务 是 : 找 出 所 要 对 象 的 位 置 , 激 活 该对 象 , 向 对 象 传 递 此 请 求 。 对 象 执 行 所 请 求 的 服 务 后 , 把 输 出 值 返 回 给 ORB, 然 后再 由 ORB 返 回 给 客 户 。 编 辑 本 段 重 要 概 念1
17、 对 象 连 接 CORBA 广 泛 地 支 持 对 象 的 实 现 , 在 单 服 务 器 系 统 中 也 可 以 实 现 由 接 口 定 义 语 言 定义 的 接 口 。 ORB 的 灵 活 性 既 可 以 直 接 集 成 已 有 的 应 用 , 又 不 会 使 新 对 象 受 某 些 原 则 的制 约 。 CORBA 系 统对 象 连 接 提 供 了 有 不 同 类 型 对 象 实 现 时 , 使 用 ORB 服 务 的 方 法 , 服 务 包 括 : 对 象 引用 、 方 法 调 用 、 安 全 控 制 、 对 象 实 现 的 激 活 与 静 候 等 。 2 接 口 定 义 语 言 (
18、 IDL) CORBA 用 IDL 来 描 述 对 象 接 口 , IDL 是 一 种 说 明 性 语 言 , 它 的 语 法 类 似 于 C 。 IDL 提 供 的 数 据 类 型 有 : 基 本 数 据 类 型 、 构 造 类 型 、 模 板 类 型 、 和 复 合 类 型 、 操 作说 明 。 这 些 类 型 可 以 用 来 定 义 变 元 的 类 型 和 返 回 类 型 , 操 作 说 明 则 可 以 用 来 定 义 对 象 提供 的 服 务 。 IDL 还 提 供 模 块 构 造 , 其 中 可 以 包 含 接 口 , 而 接 口 是 IDL 各 类 型 中 最 重 要 的 , 它除
19、 了 描 述 CORBA 对 象 以 外 , 还 可 以 用 作 对 象 引 用 类 型 。 IDL 提 供 了 接 口 继 承 性 , 派 生 接 口 可 以 继 承 其 基 类 接 口 所 定 义 的 操 作 与 类 型 。 IDL 的 接 口 继 承 性 有 其 特 殊 性 , 此 处 不 赘 述 。 总 之 , CORBA 的 IDL 是 一 种 说 明 性 语 言 , 描 述 面 向 对 象 系 统 开 发 所 遵 循 的 接 口与 实 现 相 分 离 的 基 本 原 则 。 3 动 态 调 用 接 口 把 IDL 说 明 编 译 成 面 向 对 象 程 序 设 计 语 言 的 实
20、代 码 后 , 客 户 可 以 调 用 已 知 对 象 的操 作 。 在 某 些 应 用 中 , 用 户 并 不 了 解 应 用 接 口 编 译 信 息 , 但 也 要 求 调 用 对 象 的 操 作 , 这时 就 要 动 态 调 用 接 口 来 调 用 用 户 的 操 作 了 。 例 如 , 图 形 用 户 接 口 应 支 持 用 户 浏 览 接 口 公共 库 , 以 获 得 每 个 对 象 所 支 持 的 操 作 信 息 , 用 户 可 根 据 自 己 的 需 求 从 浏 览 对 象 中 挑 选 出所 需 的 对 象 操 作 , 具 体 的 对 象 操 作 的 调 用 实 际 上 是 用
21、动 态 调 用 接 口 来 完 成 的 。 4 接 口 公 用 库 接 口 公 用 库 持 久 地 存 储 IDL 的 接 口 说 明 , 借 助 于 接 口 公 用 库 , 可 以 实 现 对 象 继 承性 层 次 结 构 的 导 航 , 并 且 提 供 了 有 关 对 象 支 持 的 所 有 操 作 的 描 述 。 接 口 公 用 库 最 常 见 的功 能 是 为 接 口 浏 览 器 提 供 信 息 , 帮 助 应 用 开 发 者 找 出 潜 在 的 可 重 用 的 软 件 部 件 。 ORB 可 以 利 用 接 口 公 用 库 检 查 运 行 时 的 操 作 参 数 类 型 , 但 接
22、口 公 用 库 的 基 本 功 能 是 提 供 类型 信 息 , 为 动 态 调 用 接 口 发 送 请 求 提 供 信 息 支 持 。 编 辑 本 段 不 足 之 处尽 管 有 多 家 供 应 商 提 供 CORBA 产 品 , 但 是 仍 找 不 到 能 够 单 独 为 异 种 网 络 中 的 所有 CORBA 系 统环 境 提 供 实 现 的 供 应 商 。 不 同 的 CORBA 实 现 之 间 会 出 现 缺 乏 互 操 作 性 的 现 象 , 从 而造 成 一 些 问 题 ; 而 且 , 由 于 供 应 商 常 常 会 自 行 定 义 扩 展 , 而 CORBA 又 缺 乏 针 对
23、 多 线程 环 境 的 规 范 , 对 于 像 C 或 C+这 样 的 语 言 , 源 码 兼 容 性 并 未 完 全 实 现 。 CORBA 过 于 复 杂 , 要 熟 悉 CORBA, 并 进 行 相 应 的 设 计 和 编 程 , 需 要 许 多 个 月 来掌 握 , 而 要 达 到 专 家 水 平 , 则 需 要 好 几 年 。 编 辑 本 段 基 于 分 布 式 对 象 计 算 的 CORBA在 CORBA 环 境 中 , 应 用 程 序 的 集 成 是 基 于 面 向 对 象 模 型 的 ; CORBA 通 过 分 布 式 对 象 计 算 , 即 分 布 式 计 算 和 面 向 对
24、 象 计 算 的 结 合 , 以 实 现 软件 重 用 , 这 是 开 发 下 一 代 软 件 的 基 础 ; 分 布 式 对 象 计 算 的 组 成 分 布 式 计 算 和 对 象 模 型 的 结 合 : CORBA 是 这 两 者 的 完 美 结 合 , 这 两 部 分 不 仅 带来 了 自 身 的 优 点 , 而 且 完 善 了 对 方 的 优 点 ; 代 理 器 的 使 用 : CORBA 使 用 代 理 器 来 处 理 系 统 中 客 户 机 与 服 务 器 之 间 的 消 息 ; 什 么 是 分 布 式 计 算 分 布 式 计 算 是 两 个 或 多 个 软 件 互 相 共 享 信
25、 息 ; 大 部 分 分 布 式 计 算 是 基 于 客 户 /服 务 器 模 型 的 ; 分 布 式 计 算 可 以 拥 有 稀 有 资 源 共 享 、 平 衡 机 器 负 载 等 优 点 , 使 计 算 机 资 源 的 使用 更 为 有 效 ; CORBA 采 用 一 定 的 手 段 增 强 分 布 式 计 算 : CORBA 采 用 增 强 分 布 式 计 算 的 手 段 允 许 客 户 机 与 器 间 灵 活 变 化 的 关 系 ; 加 入 一 个 称 为 代 理 的 中 介 ; 允 许 服 务 器 有 多 个 进 程 ; 支 持 同 步 及 异 步 两 种 通 信 形 式 ; 对 象
26、 模 型 是 对 象 计 算 中 的 概 念 , 是 考 虑 问 题 及 其 可 能 解 决 方 案 的 概 念 性 框 架 ; 对 象 模 型 的 基 础 是 对 象 概 念 之 上 的 , 对 象 提 供 了 把 行 为 和 属 性 结 合 成 一 单 独 实 体 的 手 段; 使 用 对 象 模 型 具 有 以 下 优 点 : 定 义 一 个 基 于 现 实 世 界 的 系 统 模 型 把 系 统 逻 辑 地 分 成 能 完 成 特 定 任 务 的 对 象 当 需 求 改 变 时 扩 展 模 块 在 CORBA 中 分 布 式 计 算 和 对 象 模 型 的 结 合 实 现 了 相 互
27、促 进 , CORBA 在 分 布式 计 算 和 对 象 模 型 环 境 中 加 入 了 下 列 内 容 : 分 布 式 计 算 方 面 的 增 强 : 对 分 布 式 计 算 环 境 , CORBA 在 环 境 中 加 入 了 特 定 对象 的 引 用 。 在 CORBA 中 , 要 完 成 某 个 操 作 , 所 需 要 做 的 仅 仅 是 请 求 某 个 有 能 力 完 成该 操 作 的 对 象 去 完 成 它 , 客 户 机 不 需 要 知 道 更 多 的 信 息 ; 对 象 模 型 方 面 的 增 强 : 对 于 对 象 模 型 , CORBA 加 入 了 代 理 器 的 概 念 。
28、 代 理 器 使应 用 程 序 不 需 要 知 道 对 象 在 网 络 上 哪 个 地 方 和 对 方 是 如 何 工 作 的 就 可 以 进 行 交 互 , 只 有代 理 器 需 要 知 道 CORBA 服 务 器 和 客 户 机 在 网 络 上 的 位 置 编 辑 本 段 通 信 中 间 件中 间 件 是 处 于 应 用 程 序 及 应 用 程 序 所 在 系 统 的 内 部 工 作 方 式 之 间 的 软 件 ; 中 间 件 把 应 用 程 序 与 系 统 所 依 附 软 件 的 较 低 层 细 节 和 复 杂 性 隔 离 开 来 , 使 应 用 程序 开 发 者 只 处 理 某 种 类
29、 型 的 单 个 API 其 他 细 节 则 可 以 由 中 间 件 处 理 ; CORBA 可 以 被 称 为 通 信 中 间 件 , 它 可 以 看 成 是 把 应 用 程 序 和 通 信 核 心 的 细 节 分离 的 软 件 编 辑 本 段 技 术 特 点引 入 了 代 理 的 概 念 ; 所 实 现 的 客 户 方 程 序 与 服 务 器 方 程 序 的 完 全 分 离 ; 将 分 布 计 算 同 面 向 对 象 的 概 念 相 互 结 合 ; 提 供 了 软 件 总 线 的 机 制 ; 分 层 的 设 计 原 则 与 实 现 方 法 编 辑 本 段 服 务 的 基 本 内 容在 CO
30、RBA 体 系 规 范 中 定 义 了 多 种 类 型 的 服 务 ( Service) , 如 命 名 ( Naming)、 生 存 期 ( LifeCycle) 、 事 件 ( Event) 、 事 务 ( Transaction) 、 对 象 持 久 化 ( Persistent Objects) 、 查 询 ( Query) 、 特 征 ( Property) 、 时 间 ( Time) 等 服 务 功 能。 在 CORBA 规 范 中 , 没 有 明 确 说 明 不 同 厂 商 的 中 间 件 产 品 要 实 现 所 有 的 服 务 功 能, 并 且 允 许 厂 商 开 发 自 己
31、的 服 务 类 型 。 因 此 , 不 同 厂 商 的 ORB 产 品 对 CORBA 服 务的 支 持 能 力 不 同 , 使 我 们 在 针 对 待 开 发 系 统 的 功 能 进 行 中 间 件 产 品 选 择 时 , 有 更 多 的 选择 余 地 。 下 面 介 绍 与 分 布 式 应 用 程 序 设 计 和 开 发 关 系 密 切 的 CORBA 服 务 内 容 : 1. 对 象 命 名 服 务 ( Naming Service) 在 命 名 服 务 中 , 通 过 将 服 务 对 象 赋 予 一 个 在 当 前 网 络 空 间 中 的 惟 一 标 识 来 确 定 服 务对 象 的
32、实 现 。 在 客 户 端 , 通 过 指 定 服 务 对 象 的 名 字 , 利 用 绑 定 ( Bind) 方 式 , 实 现对 服 务 对 象 实 现 的 查 找 和 定 位 , 进 而 可 以 调 用 服 务 对 象 实 现 中 的 方 法 。 2. 对 象 安 全 性 ( Security) 服 务 在 分 布 式 系 统 中 , 服 务 对 象 的 安 全 性 和 客 户 端 应 用 的 安 全 性 一 直 是 一 个 比 较 敏 感 的问 题 , 安 全 性 要 求 影 响 着 分 布 式 应 用 计 算 的 每 个 方 面 。 对 于 分 布 在 互 联 网 中 的 分 布 式
33、 应用 来 讲 , 为 了 防 止 恶 意 用 户 或 未 经 授 权 的 方 法 调 用 对 象 的 服 务 功 能 , CORBA 提 供 了严 格 的 安 全 策 略 , 并 制 定 了 相 应 的 对 象 安 全 服 务 。 安 全 服 务 可 以 实 现 如 下 功 能 : 服 务 请 求 对 象 的 识 别 与 认 证 ; 授 权 和 访 问 控 制 ; 安 全 监 听 ; 通 信 安 全 的 保 证 ; 安 全 信 息 的 管 理 ; 行 为 确 认 。 CORBA 系 统 将 对 象 请 求 的 安 全 性 管 理 的 功 能 交 由 ORB 负 责 , 系 统 组 件 只 需
34、 负责 系 统 本 身 的 安 全 管 理 , 使 得 基 于 分 布 式 应 用 在 安 全 性 控 制 方 面 的 责 任 十 分 明 确 。 3. 并 发 控 制 ( Cocurrency Control) 服 务 CORBA 规 范 中 定 义 并 发 控 制 服 务 的 目 的 在 于 实 现 多 客 户 访 问 情 况 下 的 并 发 性 控 制和 对 共 享 资 源 的 管 理 。 并 发 控 制 服 务 由 多 个 接 口 构 成 , 能 够 支 持 访 问 方 法 的 事 务 模 型 和 非 事 务 模 型 。 由 于两 种 模 型 的 引 入 , 使 得 非 事 务 型 客
35、 户 在 访 问 共 享 资 源 时 , 如 果 该 资 源 被 拥 有 事 务 模 型 的方 法 锁 定 ( Lock) , 则 该 客 户 转 入 阻 塞 状 态 , 直 到 事 务 型 方 法 执 行 结 束 , 将 共 享 资 源锁 打 开 , 非 事 务 模 型 的 客 户 才 能 够 访 问 该 共 享 资 源 。 并 发 控 制 服 务 使 多 个 对 象 能 够 利 用 资 源 锁 定 ( Lock) 的 方 式 来 对 共 享 资 源 进 行 访问 。 在 访 问 共 享 资 源 之 前 , 客 户 对 象 必 须 从 并 发 控 制 服 务 中 获 得 锁 定 。 在 确
36、认 资 源 目 前正 在 空 闲 时 , 获 得 资 源 的 使 用 权 。 每 个 锁 定 是 一 个 资 源 -客 户 对 , 说 明 哪 个 客 户 正 在访 问 何 种 类 型 的 资 源 。 4. 对 象 生 命 期 服 务 ( LifeCycle) CORBA 中 的 生 命 期 服 务 定 义 和 描 述 了 创 建 、 删 除 、 拷 贝 和 移 动 对 象 的 方 法 。 通 过生 命 期 服 务 , 客 户 端 应 用 可 以 实 现 对 远 程 对 象 的 控 制 。 利 用 命 名 ( Naming) 服 务 编 辑 本 段 在 CIMS 中 的 应 用在 CIMS 环
37、 境 下 , 应 用 通 常 是 分 布 的 , 应 用 之 间 需 要 交 换 信 息 和 数 据 , 例 如 CAD 和 CAM 之 间 , CAD、 CAM 和 MRP II 之 间 , 甚 至 是 不 同 的 CAD 应 用 之 间 都 会 发生 数 据 的 交 互 。 分 布 式 应 用 的 开 发 , 尤 其 是 面 向 对 象 的 分 布 式 应 用 的 开 发 , 对 于 系 统 开发 者 而 言 是 极 具 挑 战 性 的 。 CORBA、 C OM/OLE Automation 和 JavaBeans 是 目 前针 对 此 类 应 用 的 主 要 分 布 对 象 计 算 模
38、 型 和 支 持 系 统 。 一 般 来 说 , 如 果 所 开 发 的 应 用 只 面向 Windows 平 台 ( Windows 3.x/95/NT) , 那 么 使 用 COM 是 最 佳 的 选 择 ; 如 果 所开 发 的 应 用 完 全 是 使 用 Java 语 言 编 制 的 , 那 么 就 应 该 采 用 JavaBeans 的 方 案 。 但是 , 如 果 所 开 发 的 应 用 需 要 集 成 异 构 的 平 台 , 那 么 无 疑 应 该 选 择 CORBA。 通 过 C ORBA 系 统 的 支 持 , 分 布 应 用 的 开 发 者 可 以 采 用 不 同 的 语
39、言 、 操 作 系 统 和 硬 件 平 台 来开 发 面 向 对 象 的 分 布 式 应 用 。 当 然 , 首 要 的 条 件 是 存 在 支 持 该 种 平 台 、 操 作 系 统 和 语 言的 CORBA 系 统 。 利 用 CORBA 系 统 进 行 分 布 对 象 应 用 的 开 发 具 有 下 面 三 个 特 点 : 开 发 代 价 小 、 效 率 高 。 系 统 开 发 者 只 需 要 编 写 描 述 服 务 对 象 接 口 的 IDL 语 言 文 件并 安 装 描 述 文 件 , 实 现 服 务 对 象 的 功 能 即 完 成 了 全 部 的 任 务 。 其 它 的 相 关 代
40、 码 或 者 是 由IDL 编 译 器 自 动 创 建 , 或 者 是 由 ORB 类 库 提 供 , 应 用 程 序 员 并 不 需 要 编 写 例 如 网 络通 信 、 数 据 编 码 /解 码 、 名 址 映 射 和 安 全 管 理 的 程 序 代 码 , 从 而 可 以 把 工 作 重 点 放 到 服务 对 象 实 现 的 过 程 中 去 。 通 过 CORBA 系 统 的 支 持 , 一 个 服 务 对 象 可 以 透 明 地 被 分布 在 本 地 和 网 络 上 的 客 户 所 调 用 , 扩 大 了 服 务 对 象 的 使 用 范 围 , 为 分 布 的 客 户 所 共 享 。
41、CORBA 系 统 作 为 “软 件 总 线 ”, 可 以 为 服 务 对 象 提 供 “ 即 插 即 用 ”的 功 能 , 而 且 当 对象 实 现 改 进 或 升 级 时 , 只 要 接 口 保 持 不 变 , 客 户 代 码 无 需 作 任 何 改 动 。 在 CIMS 的 应 用 环 境 之 下 , CORBA 系 统 的 另 一 个 十 分 重 要 的 作 用 是 集 成 已 有 的应 用 系 统 , 这 样 的 应 用 系 统 通 常 称 为 “遗 留 系 统 ”( Legacy System) 。 “面 向 CIMS的 并 行 工 程 集 成 框 架 关 键 技 术 ”课 题 就
42、 是 一 个 很 好 的 例 子 。 各 个 领 域 框 架 的 应 用 系 统 ,例 如 , 机 械 领 域 的 Pro Engi neer、 电 子 领 域 的 Mentor Graphics 等 等 , 需 要 通 过CORBA 系 统 集 成 到 一 起 实 现 信 息 的 交 互 和 共 享 。 集 成 的 关 键 在 于 对 遗 留 系 统 的 封 装 和包 裹 ( wrap) , 经 过 包 裹 , 遗 留 系 统 就 能 够 以 OMG IDL 的 形 式 提 供 给 用 户 , 从 而 和新 开 发 的 面 向 对 象 的 分 布 式 应 用 同 样 处 理 。 包 裹 的
43、形 式 视 不 同 的 遗 留 系 统 而 不 同 , 对 于能 够 提 供 用 户 调 用 接 口 的 遗 留 系 统 , 只 要 利 用 原 有 的 调 用 来 构 造 新 的 界 面 ( 必 要 时 需 要进 行 一 定 的 扩 充 ) 即 可 ; 而 对 于 比 较 封 闭 的 遗 留 系 统 , 集 成 的 难 度 就 大 得 多 了 , 通 常 是利 用 文 件 作 为 中 介 来 集 成 。 不 过 , 目 前 CAD、 CAM 和 MRP II 的 系 统 厂 商 在 发 展 过程 中 也 在 逐 步 使 自 身 的 应 用 系 统 更 加 开 放 , 向 用 户 提 供 更 灵 活 的 控 制 手 段 , 完 全 封 闭 的系 统 已 经 十 分 少 见 了 , 从 而 使 集 成 工 作 也 变 得 相 对 简 单 。