12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

第章使 用 动 态 框 架 接 口第 19 章本 章 描 述 对 象 服 务 器 如 何 在 运 行 期 内 根 据 服 务 客 户 请 求 动 态 地 创 建 对 象 实 现 。什 么 是 动 态 框 架 接 口 ?注 :动 态 框 架 接 口 (DSI) 提 供 了 一 个 不 需 要 继 承 生 成 的 框 架 接 口 来 创 建 对 象 实 现 的 机制 。 通 常 , 对 象 实 现 是 从 由 C++ idl2cpp 编 译 器 或 Java idl2java 编 译 器 生 成 的 框架 类 衍 生 而 来 的 。 DSI 允 许 对 象 在 <strong>VisiBroker</strong> ORB 注 册 自 身 , 从 客 户 端 接 收 操作 请 求 , 处 理 请 求 , 并 将 结 果 返 回 给 客 户 端 , 无 须 继 承 由 C++ idl2cpp 编 译 器 或Java idl2java 编 译 器 生 成 的 框 架 类 。从 客 户 程 序 的 角 度 来 看 , 用 DSI 实 现 的 对 象 与 其 它 <strong>VisiBroker</strong> ORB 对 象 没 有 区别 。 客 户 无 须 提 供 任 何 特 殊 的 处 理 以 便 与 使 用 DSI 的 对 象 实 现 通 信 。<strong>VisiBroker</strong> ORB 通 过 调 用 DSI 对 象 的 invoke 方 法 并 将 它 传 递 给 一 个ServerRequest 对 象 来 将 客 户 操 作 请 求 提 交 给 该 DSI 对 象 实 现 。 对 象 实 现 负 责 确 定被 请 求 的 操 作 , 解 译 与 请 求 相 关 的 变 量 , 调 用 适 当 的 内 部 方 法 来 实 现 请 求 , 并 返 回适 当 的 值 。用 DSI 实 现 对 象 比 使 用 由 对 象 框 架 提 供 的 常 规 的 语 言 映 射 需 要 更 多 的 人 工 编 程 活动 。 但 是 , 用 DSI 实 现 的 对 象 对 提 供 协 议 桥 接 非 常 有 用 。使 用 idl2java 编 译 器仅 适 用 于 Java:idl2java 编 译 器 具 有 一 个 -dynamic_marshal 标 志 , 当 打 开 该 标 志 时 , 将 使 用 DII生 成 框 架 代 码 。 要 了 解 如 何 作 DSI 类 型 : 创 建 一 个 IDL 文 件 , 用 -dynamic_marshal 来 生 成 , 然 后 查 看 框 架 代 码 。使 用 动 态 框 架 接 口 19-1

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

Saved successfully!

Ooh no, something went wrong!