12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

用 irep 创 建 和 查 看 接 口 仓 库接 口 仓 库 中 包 含 的 是 什 么 ?接 口 仓 库 中 包 含 的 是 对 象 的 结 构 , 这 些 对 象 的 方 法 “ 暴 露 ” 有 关 接 口 信 息 。 虽 然 接口 通 常 被 认 为 是 用 来 描 述 对 象 的 , 但 是 使 用 一 套 对 象 来 描 述 接 口 在 CORBA 环 境下 是 很 有 意 义 的 , 因 为 这 不 需 要 象 数 据 库 这 样 的 新 机 制 。举 个 例 子 来 看 一 下 IR 中 所 包 含 的 对 象 的 种 类 , 设 想 IDL 文 件 可 以 容 纳 IDL 模 块定 义 , 模 块 可 以 容 纳 接 口 定 义 , 而 接 口 可 以 容 纳 操 作 ( 方 法 ) 定 义 。 相 应 地 , 一 个接 口 仓 库 可 以 容 纳 ModuleDef 对 象 , ModuleDef 对 象 可 以 容 纳 InterfaceDef 对 象 ,而 InterfaceDef 对 象 可 以 容 纳 OperationDef 对 象 。 因 此 , 给 定 一 个 IRModuleDef, 您 就 可 以 知 道 它 所 包 含 的 是 什 么 InterfaceDef。 反 过 来 也 成 立 。 给 定一 个 InterfaceDef, 您 就 可 以 知 道 它 包 含 于 什 么 ModuleDef 中 。 所 有 其 它 IDL 构造 ( 包 括 违 例 、 属 性 、 和 值 类 型 ) 都 可 以 在 接 口 仓 库 中 表 示 。接 口 仓 库 中 也 可 以 容 纳 typecode。Typecode 不 是 被 显 式 地 列 在 IDL 文 件 中 , 但是 , 它 们 可 以 从 IDL 文 件 中 所 定 义 的 或 涉 及 的 类 型 (long、 string、 struct 等 )自 动 派 生 。 Typecode 用 于 对 CORBA 的 any 类 型 的 实 例 进 行 编 码 和 解 码 。CORBA any 类 型 表 示 任 何 类 型 , 可 用 于 动 态 调 用 接 口 。您 可 以 创 建 多 少 个 接 口 仓 库 ?注 :接 口 仓 库 就 象 其 它 对 象 一 样 , 您 想 创 建 多 少 就 可 以 创 建 多 少 。<strong>VisiBroker</strong> <strong>Edition</strong>没 有 制 订 任 何 约 束 创 建 和 使 用 IR 的 策 略 。 您 可 以 自 行 决 定 如 何 部 署 和 命 名 您 自 己的 接 口 仓 库 。 例 如 , 您 可 以 采 用 这 样 的 惯 例 , 即 一 个 中 心 接 口 仓 库 容 纳 所 有 “ 产品 ” 对 象 的 接 口 , 而 开 发 者 创 建 他 们 自 己 的 IR 来 作 测 试 。接 口 仓 库 是 可 写 的 , 不 受 存 取 控 制 的 保 护 。 一 个 错 误 或 恶 意 的 客 户 可 以 毁 坏 IR 或从 其 上 得 到 敏 感 的 信 息 。如 果 您 想 使 用 为 所 有 对 象 定 义 的 _get_interface_def 方 法 , 您 至 少 必 须 有 一 个 接 口仓 库 服 务 器 正 在 运 行 , 以 便 <strong>VisiBroker</strong> ORB 可 以 在 IR 查 询 接 口 。 如 果 没 有 接 口仓 库 可 用 , 或 <strong>VisiBroker</strong> ORB 所 限 制 到 的 IR 尚 未 载 入 对 象 的 接 口 定 义 , 则_get_interface_def 会 掷 出 一 个 NO_IMPLEMENT 违 例 。用 irep 创 建 和 查 看 接 口 仓 库<strong>VisiBroker</strong> <strong>Edition</strong> 接 口 仓 库 服 务 器 被 称 为 irep, 它 位 于 bin 目 录 下 。 irep 程 序是 以 daemon ( 守 护 进 程 ) 方 式 运 行 的 。 您 可 以 在 对 象 激 活 守 护 进 程 (OAD)中 注 册 irep , 就 象 注 册 任 何 对 象 实 现 一 样 。 oadutil 工 具 需 要 对 象 ID, 例 如 ,IDL:org.omg/CORBA/Repository:2.3 ( 与 接 口 名 称 相 对 , 例 如 ,CORBA::Repository)。用 irep 创 建 接 口 仓 库使 用 irep 程 序 来 创 建 一 个 接 口 仓 库 , 并 检 查 它 的 内 容 。 irep 程 序 的 使 用 语 法 如下 :17-2 <strong>VisiBroker</strong> 开 发 者 指 南

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!