Java 可 移 动Agent 系 统
林 汉 生----吴 巍 枫----编 译
一、Java 可 移 动Agent 系 统
----
目 前, 可 移 动Agent 系 统 倍 受 世 人 的 青 睐, 其 中Java 的 广 泛 使 用 功 不 可 没。Java 虚 拟 机 和Java 类 调 用 模 型, 以 及Java 1.1 的 串 行 化、 远 程 方 法 调 用、 多 线 程 和 映 射 等 一 些 特 点, 使 得 创 建 一 个 可 移 动Agent 系 统 变 得 容 易、 简 单。 为 适 应Internet 分 布 式 计 算 的 需 要, 基 于Java 的 可 移 动Agent 系 统 能 够 独 立 完 成 用 户 分 配 的 运 算 任 务, 能 通 过 远 程 执 行 或 迁 移 在 网 上 漫 游, 并 具 有 更 完 善 的 安 全 机 制。
----
由 于 使 用Java 作 为 开 发 平 台, 因 此 对 一 些 商 用 系 统 的 试 验 表 明, 基 于Java 的 可 移 动Agent 系 统 具 有 以 下 特 点:
- 系 统 都 提 供 某 种 形 式 的 代 理 服 务 器。 代 理 服 务 器 是 给 定 机 器 上 的 介 入 点, 是 代 理 移 动 和 工 作 的 空 间。
- 系 统 带 有 各 自 的 状 态, 代 理 可 以 不 同 的 方 式 从 一 个 服 务 器 迁 移 到 另 一 个 服 务 器。 一 些 系 统 根 据 某 种 记 录, 自 动 地 迁 移 代 理, 而 一 些 系 统 则 由 代 理 决 定 自 己 的“ 命 运”。
- 代 理 可 以 从 许 多 地 方 调 用 自 己 的 代 码。 由 于 所 有 的 代 理 系 统 都 使 用 了Java 类 调 用 器 的 一 个 特 定 版 本, 因 此 它 们 可 以 从 本 地 文 件 系 统、Web 以 及Ftp 服 务 器 上 调 用Java 类 文 件。
- 所 有 的 系 统 都 是100 % 的 用Java 语 言 编 写, 并 且 使 用 了JDK 1.1, 因 此 它 们 应 该 可 以 在 任 何 机 器 上 运 行。 然 而 不 幸 的 是, 由 于Java 实 现 方 面 的 原 因, 目 前 许 多 可 用 的 系 统 只 能 在 特 定 的 虚 拟 机 上 正 常 运 行。
二、 相 关 技 术
----
在 许 多Java 可 移 动Agent 系 统 中,Java 远 程 方 法 调 用(RMI) 是 通 信 的 框 架。RMI 为Java 进 程 提 供 了 类 似RPC 的 机 制, 允 许Java 对 象 通 过 方 法 调 用 进 行 通 信。 目 前 使 用RMI 的 主 要 目 的 是:
----
(1) 支 持 多 种 传 输 协 议(TCP、HTTP 等)。
----
(2) 提 供 基 本 的 对 象 注 册/ 撤 消 机 制。
----
(3) 在 地 址 空 间 中 移 动 代 码, 而 不 仅 仅 是 数 据。
----
但 是, 目 前RMI 却 成 为Java 通 信 的 一 个 瓶 颈。 如 果RMI 包 括 了 支 持 持 续 对 象 的 对 象 实 例 化 机 制, 以 及 集 成 化 的 安 全 性 模 型, 那 么 利 用RMI, 就 可 以 开 发 更 多 先 进 的Java 可 移 动Agent 系 统。
----
在JavaSoft 公 司 的Java Server 中 运 行 的 对 象Java Servlets 也 符 合 可 移 动Agent 模 型。 对 象Java Servlets 代 表 一 个 用 户 的Java 应 用 程 序。 一 旦Java 服 务 器 能 够 在 其 它 服 务 器 中 创 建 任 意Servlets 的 实 例, 那 么 单 个Web 服 务 器 相 应 客 户 端 的HTML 页 的 请 求 将 成 为 可 移 动Agent 的 构 架。 这 一 模 型 将 允 许 代 理 在Web 服 务 器 甚 至 在Web 浏 览 器 上 运 行, 而 不 需 要 在 用 户 的 机 器 上 安 装 软 件, 或 者 改 变 用 户 的 工 作 方 式。
三、 目 前 的 应 用 程 序
----
可 移 动Agent 是 以 什 么 方 式 工 作 ? 它 适 合 解 决 什 么 应 用 问 题 ?Tcl scripting 语 言 的 作 者John Ousterhout 曾 经 把 可 移 动Agent 归 结 为“ 寻 找 问 题 的 一 种 方 法”, 许 多 代 理 领 域 的 专 家 都 同 意 这 种 观 点。 但 可 移 动Agent 的 支 持 者 却 不 愿 承 认, 可 移 动Agent 系 统 适 合 解 决 的 问 题 同 样 可 以 用 普 通 的 分 布 式 计 算 技 术, 如RPC 和 分 布 式 对 象 来 解 决。 如 果 这 一 观 点 被 证 实, 那 么 是 否 可 以 认 为 移 动Agent 是 解 决 老 问 题 的 一 种 更 直 观 和 更 简 单 的 模 型 呢 ?
----
一 些 公 司 已 经 承 认 了 这 一 事 实。 例 如,FTP Software 公 司 相 信 代 理 技 术 是 自 动 完 成 网 络 配 置 和 管 理 任 务 最 有 前 途 的 一 种 方 法, 而 目 前 这 些 任 务 必 须 用 手 工 完 成。 根 据 这 一 思 想, 他 们 于1997 年 在 其 虚 拟IP 网 络 中 集 成 了 一 系 列 代 理 产 品, 包 括 从 网 络 设 备 中 寻 找 有 用 的 管 理 数 据 的 工 具 和 安 全 性 检 查 代 理。 而 另 一 方 面,Crystaliz 公 司 正 在 设 计 一 种 开 放 可 移 动Agent 构 架, 用 于 辅 助 建 立 一 个 特 殊 节 点 软 件 的 开 发, 它 是 一 种 先 进 的 完 全 与WWW 集 成 的 分 布 式 版 本 控 制 系 统。
----
Crystaliz 公 司 的 产 品 大 都 是Web 上 的 协 同 应 用 系 统。 该 公 司 的 新 成 果A4(Agents、Agencies、Artifacts 和Appliances) 是 一 种 通 用 可 移 动Agent 构 架, 支 持 自 适 应 系 统 中 的 分 布 式 异 步 协 同。 选 择 可 移 动Agent 技 术 的 原 因 是 他 们 相 信 对 象 就 是 文 档, 文 档 就 是 对 象, 可 移 动Agent 是 支 持 对 象/ 文 档 迁 移、 复 制 和 分 割 问 题 的 一 个 极 具 发 展 前 途 的 机 制。
----
在 系 统 中, 组 件 即 对 象/ 文 档 就 是 具 有 状 态 并 能 迁 移 的 代 理, 这 样 就 可 以 用 简 单 的 方 式 来 解 决 命 名 和 负 载 平 衡 问 题。 同 样, 由 于 代 理 被 排 列 在 部 分 顺 序 空 间( 一 个 有 向 非 循 环 图), 因 此 代 理 可 以 利 用 交 互 模 式 在 上 下 文 中 被 操 作。 最 后, 信 息 空 间 的 管 理 和 操 作( 搜 索 和 获 得) 是 由 静 态 智 能 代 理 完 成。
四、 可 以 解 决 的 问 题
----
尽 管 还 没 有 演 示 表 明, 可 移 动Agent 可 以 使 特 定 应 用 程 序 的 开 发 更 容 易, 或 者 在 正 确 的 上 下 文 中, 提 高 使 用 的 可 靠 性 和 效 率, 但 是 实 际 上, 可 移 动Agent 技 术 已 可 以 解 决 一 些 领 域 的 问 题。
----
协 同 工 作 的 应 用 程 序 就 属 于 这 一 领 域。 在 协 同 工 作 应 用 程 序 中, 作 为 协 同 工 作 的 每 一 个 人 的“ 代 理”, 被 集 中 在 一 个 中 心 进 行 协 同 处 理, 然 后 再 返 回 各 自 的“ 家”, 并 显 示 结 果。 在 所 有 的 协 同 者 并 不 都 是 可 信 任 的 情 况 下, 集 中 到 一 处 协 同 工 作 的 可 移 动Agent 的 思 想 同 样 十 分 有 用。 例 如 两 家 相 互 竞 争 的 公 司 发 送 可 移 动Agent 到“ 中 立” 服 务 器, 在 服 务 器 上 进 行 协 同 工 作, 而 不 存 在 通 过 代 理 窃 取 对 方 机 密 信 息 的 危 险。
----
另 外 一 个 有 用 的 领 域 是 在 低 可 靠 性 网 络 上 处 理 数 据。 在 可 能 包 括 便 携 或 无 线 计 算 机 的 网 络 上, 有 限 的 网 络 连 接 只 能 用 来 传 输 从 某 地 到 某 地 的 代 理, 而 不 能 传 输 数 据。 在 这 种 情 况 下, 代 理 可 以 利 用 零 星 的 连 接 在 网 络 节 点 中 旅 行, 在 节 点 上 处 理 信 息, 而 不 必 担 心 网 络 连 接 是 否 会 断 开。 当 网 络 恢 复 连 接 后, 返 回 各 自 的“ 家” 或 到 路 线 图 中 的 下 一 站。
五、 局 限 性
----
在 应 用 系 统 商 品 化 之 前, 可 移 动Agent 系 统 仍 然 面 对 许 多 棘 手 的 问 题。 其 中 最 重 要 的 问 题 就 是 知 识 表 示 和 网 络 安 全 性。 代 理 如 何 表 示 知 识, 如 何 与 其 它 的 代 理 交 流 自 己 的 需 求 呢 ? 目 前 可 用 的“ 开 会” 和“ 协 同” 机 制 仍 具 有 较 大 的 局 限 性。
----
当 前 代 理 通 信 机 制 所 支 持 的 静 态 接 口 限 制 了 代 理 交 互 的 灵 活 性 和 可 能 性。 在 这 一 领 域 中 卓 有 成 效 的 工 作 是 知 识 查 询 和 操 作 语 言(KQML) 等 相 关 的 成 果、 语 言 和 系 统。KQML 既 是 一 种 消 息 传 递 格 式, 又 是 消 息 处 理 协 议, 支 持 运 行 时 代 理 之 间 的 知 识 共 享。 只 有 像KQML 等 技 术 的 应 用, 可 移 动Agent 才 有 希 望 满 足 电 子 商 务、 协 同 工 作、 网 络 互 联 等 领 域 的 商 用 应 用 程 序 所 需 要 的 复 杂 程 度。 然 而, KQML 实 现 的 复 杂 程 度 使 得 集 成KQML 和 代 理 系 统 相 当 困 难。
----
目 前, 商 用 代 理 系 统 刚 开 始 支 持 完 全 自 治 多 步 跳 代 理, 在 安 全 性 方 面 还 不 尽 人 意。 尽 管Java 安 全 性 模 型 使 开 发 者 可 以 进 一 步 解 决 恶 意 代 理 问 题, 如 破 坏 系 统 或 网 络 的 代 理。 但 是 很 少 有 人 能 解 决 一 些 诸 如 一 个 代 理 被 主 机 攻 击 的 逆 问 题。 例 如, 当 用 户 的 购 物 代 理 在 网 络 上 旅 行 时, 必 然 携 带 信 用 卡 号 码 等 重 要 信 息, 一 个“ 恶 意 代 理 服 务 器” 就 可 以 借 用 户 代 理 迁 移 或 静 止 时 窃 取 这 些 重 要 信 息。
----
另 外, 可 移 动Agent 技 术 也 没 有 注 意 标 准 计 算 机 安 全 性 的“ 最 弱 连 接 问 题”。 代 理 系 统 一 个 明 显 的 实 现 就 是 组 织 间 的 迁 移, 如 公 司A 的 一 个 代 理 迁 移 到 公 司B 的 服 务 器 上。 在 这 种 情 况 下, 协 同 网 络 的 安 全 性 就 只 能 像 最 弱 的 代 理 服 务 器 对 最 强 的“ 恶 意 代 理” 时 所 提 供 的 安 全 性。 在 可 移 动Agent 系 统 中, 任 何 一 个 小 小 的 安 全 性 漏 洞 都 可 以 变 成 协 同 网 络 上 的 一 个 大 的 缺 陷。 由 于 代 理 代 表 着 真 实 的 人, 那 么 鉴 别、 委 托 以 及 过 失 等 标 准 计 算 机 安 全 性 方 面 的 问 题, 尤 其 在 商 业 环 境 中, 将 非 常 关 键。
六、 几 个 典 型 系 统 的 比 较
----
1.General Magic 公 司 的Odyssey
----
作 为 可 移 动Agent 专 用 语 言 的 开 发 者,General Magic 公 司 的Telescript 曾 经 在 过 去 的 几 年 里 被 广 泛 采 用。 该 公 司 最 早 提 出 了 可 移 动Agent 术 语, 并 且 为 这 一 概 念 申 请 了 专 利。 随 着Java 的 发 明 及 跨 平 台 特 性 的 完 善,General Magic 公 司 开 始 开 发 完 全 用Java 实 现 的 代 理 系 统Odyssey, 并 合 并 了 一 些 在 开 发Telescript 中 用 到 的 概 念。
----
由 于Odyssey 大 量 使 用Java RMI, 因 此 它 需 要JDK 1.1 或 更 高 版 本 的 支 持。General Magic 公 司 还 提 供 在 代 理 传 输 中 支 持CORBA 的Internet Inter -ORB 协 议(IIOP) 和 微 软 公 司 的 分 布 公 共 对 象 模 型(DCOM) 的 软 件。Odyssey 成 为 支 持 多 代 理 传 输 机 制 的 唯 一 的 一 个 系 统。 另 外, 在 每 一 台 将 运 行Odyssey 代 理 服 务 器 的 机 器 上, 必 须 启 动 进 程“RMIregistry"(JDK 的 一 部 分)。 如 果 没 有 启 动 该 进 程,Odyssey 将 在 它 需 要 的 时 侯 启 动RMIregistry 进 程。
----
审 记 跟 踪 机 制 是Odyssey 系 统 独 有 的。 通 过 使 用Odyssey 所 提 供 的 一 个 类, 一 个 给 定 的 应 用 程 序 可 以 在 运 行 的 同 时, 了 解 自 己 的 状 态, 并 且 调 试 输 出 到 任 何 标 准 输 出 设 备, 如 一 个 窗 口 或 主 机 上 的 一 个 文 件。 这 一 特 点 对 于 调 试 代 理 的 程 序 员 而 言 非 常 重 要。 特 别 是 当 一 个 包 含 许 多 代 理、 进 行 复 杂 交 互 的 系 统 工 作 时, 它 可 以 用 简 单 的 方 式 描 述 每 一 个 代 理, 并 调 试 输 出, 甚 至 可 以 将 结 果 保 存 到 磁 盘 上, 而 不 像 其 它 系 统 只 能 输 出 到 控 制 台 窗 口。
----
然 而, 目 前 审 记 跟 踪 机 制 的 实 现 却 存 在 着 一 些 困 难。 例 如, 如 果 一 个 代 理 建 立 了 定 向 到 标 准 输 出 的 审 记 跟 踪, 那 么 这 个 代 理 的 输 出 将 显 示 到 随 时 都 在 运 行 的 虚 拟 机 上。 可 是, 如 果 一 个 代 理 建 立 了 定 向 到 窗 口 的 审 记 跟 踪, 那 么 当 该 代 理 不 在 已 启 动 的 审 记 跟 踪 的 虚 拟 机 上 时, 就 没 有 调 试 输 出 了。 一 个 更 好 的 办 法 就 是 记 录 该 审 记 代 理 直 到 该 代 理 返 回“ 原” 虚 拟 机, 并 重 新 访 问 窗 口 系 统。
----
审 记 跟 踪 机 制 存 在 的 另 一 个 问 题, 就 是 建 立 的 定 向 到 文 件 的 代 理 不 能 迁 移。 由 于Java 文 件 具 有 非 串 行 化 的 特 点, 因 此 如 果 代 理 试 图 迁 移, 那 么 将 出 现 错 误。
----
Odyssey 同 样 也 提 供 了 代 理 协 作 功 能, 允 许 代 理 在 网 络 的 特 定 机 器 上“ 开 会” 或“ 散 会”。 另 外 一 个 功 能 就 是 交 换 被 称 为“ 公 开” 的 对 象, 并 可 以 被 调 用。 一 个 代 理 可 以 公 开 任 意 个 对 象, 并 且 在 同 一 个Odyssey 系 统 上 的 其 它 代 理 可 以 全 局 调 用 公 开 的 对 象。
----
2.IBM 公 司 的Aglets
----
在 众 多 的 代 理 系 统 中,IBM 公 司 的Aglets Workbench 广 受 关 注。Aglets(“Agent” 加“Applet” 而 产 生 的 术 语) 之 所 以 流 行, 主 要 有 三 个 原 因:
- 软 件 包 易 于 安 装。
- 代 理 例 程 界 面 友 好( 具 有GUI)。
- 商 标 为IBM。
----
Aglets 的 最 佳 特 性 也 许 是Java 初 学 者 能 够 方 便 地 访 问 代 理。 更 重 要 的 是, 系 统 的 每 一 个 构 件 都 有 一 个 易 于 使 用 的GUI。 这 样, 用 户 就 不 必 在 系 统 上 看 到 实 现 可 移 动Agent 的 代 码。
----
为 了 使 用Aglets 系 统, 用 户 首 先 必 须 运 行 一 个Aglet 服 务 器。Aglets Workbench 所 提 供 的 主 服 务 器 叫 做Tahiti。 当 该 服 务 器 第 一 次 运 行 时, 将 弹 出 登 录 面 板, 使 用 户 确 认 自 己 在 代 理 系 统 中 的 身 份。 此 信 息 用 来 标 记 用 服 务 器 所 有 者 标 识 所 创 建 的 代 理。 登 录 之 后, 就 出 现 了 主 代 理 平 台 窗 口, 显 示 当 前 在 服 务 器 地 址 空 间 中 运 行 的 代 理 的 情 况、 一 组 辅 助 代 理 管 理 的 按 钮 及 提 供 调 试 支 持 的 菜 单。 通 过 这 一 界 面, 用 户 可 以 创 建、 配 置、 回 收 和 删 除Aglets。 另 外, 用 户 还 可 以 让 服 务 器 显 示 内 存 的 使 用 信 息、 线 程 状 态 以 及 日 志 消 息。 用 户 界 面 还 提 供 一 些 选 项: 一 般 选 项 支 持Tahiti 界 面 的 个 性 化 配 置, 网 络 选 项 帮 助 用 户 配 置 通 过Web 代 理 的HTTP 频 道, 安 全 性 选 项 允 许 所 有 者 指 定 哪 些Aglets 可 以 信 任、 是 否 显 示 警 告 消 息 等。
----
IBM 公 司 在 使 系 统 镜 象 到Java 中 的 若 干 模 型 方 面 迈 出 了 重 要 的 一 步, 这 些 模 型 包 括:Applet、AWT 回 调、Java Beans 以 及 类 似 于 即 将 面 世 的Java 消 息 服 务(JMS) 的 出 版 订 阅 消 息 模 型。 例 如, 熟 练 的Applet 程 序 员 将 会 欣 赏Aglet 模 型 映 射 到Applet 模 型 的 几 种 方 法。Applet 具 有 撤 消、 初 始 化、 启 动 和 停 止 方 法;Aglet 也 有 像 克 隆、 失 效、 调 度、 排 列 和 运 行 等 方 法, 而 且Aglets 具 有 与Applet 上 下 文 类 似 的Aglet 上 下 文。
----
Aglet 回 调 模 型 非 常 简 单。 当 一 个 动 作 正 在 一 个Aglet 上 执 行( 如 创 建、 撤 消、 迁 移 和 收 回) 时, 相 应 的 回 调 方 法 将 被 激 活, 使 得Aglet 有 机 会 作 出 反 应。 例 如 假 设 一 个 恶 意 的Aglet A 调 用 用 户 的 电 子 钱 包Aglet B 的 失 效 方 法, 从 而 使 它 暂 时 关 闭。 在Aglet B 的 失 效 方 法 被 调 用 之 前, 它 的onDeactivate 方 法 回 调 将 被 激 活, 让Aglet B 有 机 会 拒 绝 该 调 用。
----
作 为Aglet Workbench 的 一 部 分, 系 统 提 供 了 简 单 但 完 整 的 属 性 和 消 息 机 制。 属 性 系 统 可 以 让 一 个Aglet 用 任 意 的 属 性 值 对 来 标 记 自 己, 同 时 也 可 以 查 询 其 它 的Aglets。 消 息 结 构 允 许Aglets 用 同 步 或 异 步 方 式 来 交 换 包 含 任 意 内 容 的 消 息。 同 时, 由 于 一 个Aglet 不 需 要 处 理 所 接 收 的 每 条 消 息, 因 此Aglet 类 提 供 了 一 种 订 阅 模 式, 使 得Aglet 可 以 在 系 统 中 登 记 感 兴 趣 的 特 殊 消 息 类 型, 从 而 优 化 消 息 传 递 和 代 理 的 代 码。
----
3.ObjectSpace 公 司 的Voyager
----
基 于Java 的 可 移 动Agent 系 统Voyager 使 用100 % 纯Java 编 写, 也 需 要Java 1.1 支 持。 系 统 提 供 了 很 多 实 例, 有 助 于 用 户 理 解 虚 拟 对 象、 通 信 结 构 以 及 支 持 代 理 间 通 信 和 控 制 的 工 具。
----
虚 拟 对 象 是 一 种 到 远 程 对 象 或 代 理 的 通 信 处 理 代 理。 使 用 类 似RPC 的 机 制 进 行 通 信 的 系 统, 如RMI, 需 要 开 发 者 经 过 一 系 列 步 骤 来 描 述 接 口 和 一 个 对 象 的 实 现。 而Voyager 则 用 工 具“Vcc”( 虚 拟 代 码 编 译 器, 创 建 源 类 的 虚 拟 对 象 镜 象) 来 修 改 已 经 存 在 的Java 类( 源 代 码 或 类 文 件)。
----
例 如, 假 设 由 厂 商 提 供 的Java 软 件 包 中 包 含 一 个 名 叫Foobar.class 的 类 文 件。 通 过Vcc, 用 户 可 以 处 理 类Foobar.class, 并 且 创 建 一 个VFoobar.class 类 文 件。 通 过 使 用 新 的“VFoobar” 类, 用 户 可 以 在 网 络 上 对Foobar 类 的 实 例 进 行 创 建、 通 信 和 迁 移。 实 现 虚 拟 对 象 是Voyager 系 统 的 关 键。 一 旦 经 过Vcc 处 理, 任 何 对 象 都 表 现 出 代 理 的 某 些 属 性: 可 以 在 服 务 器 之 间 迁 移, 在 类 似RPC 的 机 制 中 被 其 它 虚 拟 对 象 远 程 访 问, 可 以 有 自 己 的 生 命 周 期。 这 样 的 虚 拟 对 象 并 不 需 要 有 自 己 的 控 制 线 程, 它 们 都 只 是 简 单 的 可 以 被 远 程 移 动 和 操 作 的 被 动 对 象。
----
Voyager 中 的 通 信 机 制 十 分 复 杂, 它 是 为 异 步、 同 步 以 及 未 来 的 远 程 方 法 调 用 提 供 的。 对 远 程 虚 拟 对 象 的 引 用 可 以 作 为 方 法 的 参 数 来 传 递, 并 且 可 以 被 串 行 化。 在 地 址 空 间 中 的 方 法 调 用 与 本 地 方 法 调 用 的 语 义 是 一 样 的, 它 们 具 有 多 种 形 式, 通 过 使 用 几 乎 同 样 的 语 法, 通 过 虚 拟 对 象 代 理 访 问 本 地 和 远 程 的 对 象。 最 后, 虚 拟 对 象 的 概 念 可 以 让 用 户 在 某 种 意 义 上 把 任 何 对 象 都 看 成 是 一 个 分 布 式 对 象, 具 有 可 移 动 对 象 的 一 些 特 性。
----
Voyager 的 迁 移 机 制 也 具 有 独 创 性。 像 所 有 其 它 的Java 可 移 动Agent 系 统 一 样,Voyager 也 提 供 一 个 代 理 服 务 器。 但 是 在 网 络 上, 所 有 节 点 并 不 一 定 都 需 要 运 行 这 样 一 个 服 务 器。 这 是 因 为 一 个 虚 拟 对 象 不 仅 可 以 在 代 理 服 务 器 之 间 迁 移, 而 且 也 可 以 迁 移 到 其 它 任 意 虚 拟 对 象 的Java 运 行 空 间。
----
虽 然Voyager 有 很 多 独 创 的 特 点, 但 是 也 存 在 一 些 局 限 性。 首 先, 虚 拟 对 象 的 使 用 改 变 了 许 多 开 发 者 常 用 的 开 发 软 件 方 式。 一 个Java 文 件 只 要 语 法 正 确 就 可 以 被Vcc 工 具 处 理。 然 而 在 大 多 数 情 况 下, 这 个 文 件 将 调 用 其 它 虚 拟 对 象 类, 而 其 它 类 也 调 用 另 外 的 虚 拟 对 象 类。 结 果, 依 赖 图 变 得 相 当 复 杂, 从 而 使 开 发 者 创 建 了 许 多 没 有 必 要 的 空Java 类。
----
另 外,ObjectSpace 公 司 把Voyager 称 为 激 活 代 理 的ORB( 对 象 请 求 经 纪 人, 从CORBA 中 演 化 出 的 术 语)。Voyager 提 供 的ORB 通 过 在 用 各 种 语 言 实 现 和 实 例 化 的 持 续 分 布 式 对 象 之 间 的 消 息 传 递, 来 实 现 对 象 间 的 通 信。 在 新 版 的 系 统 中 包 含 了 改 进 的Vcc 工 具, 增 加 了 一 个 分 布 式 持 续 系 统、 兼 容Java Beans 的 事 件 服 务、 命 名 服 务 和 支 持 多 点 传 送 通 信, 支 持 使 用UDP 进 行 通 信, 可 以 与CORBA 集 成, 并 提 供 一 个 更 为 强 健 和 完 整 的 安 全 性 模 型。
----
可 移 动Agent 市 场 方 兴 未 艾。 一 些 公 司, 包 括Crystaliz、GMD FOKUS、General Magic 和IBM 联 手 在 对 象 管 理 组 的 概 念 下 为CORBA 定 义 可 移 动Agent 工 具, 它 可 以 使 不 同 的 代 理 系 统 能 够 协 同 工 作, 这 也 是 使 代 理 技 术 与 我 们 日 常 工 作 和 生 活 息 息 相 关 的 重 要 的 步 骤。
中国计算机世界出版服务公司版权所有
|