📄 wzjh1.htm
字号:
立 一 个 一 到 多 的 关 系 表 是 非 常 困 难 的。 但 这 些 功 能 都 可 以 在Delphi 的 多 层 应 用 程 序 中 简 单 地 实 现,Delphi 的 编 译 应 用 程 序 比 基 于HTML 的 应 用 更 快 速、 更 易 于 应 答。 </p> <p><font color="#ffffff">----</font> 分 布 式 数 据 集 允 许 在 客 户 端 的 应 用 中 使 用 所 有 标 准 的Delphi 组 件, 包 括 数 据 库 工 具, 但 是 客 户 端 无 须 装 载BDE、ODBC 或 者 任 何 数 据 库 类 库 ( 例 如Oracle SQL *NET、 Sybase CT -Lib 等 等) 。 当 然 网 络 上 的 某 些 地 方 需 要BDE 或 类 似 的 引 擎, 但 是 客 户 端 无 须 装 载。 简 言 之, 现 在 只 需 要 一 套 服 务 器 端 的 数 据 库 工 具, 每 一 个 客 户 端 就 可 以 使 用 它。 </p> <p><font color="#ffffff">----</font> 分 布 式 数 据 集 是 缩 减 网 络 通 信 量 的 一 种 方 法。 从 服 务 器 端 下 载 数 据 后, 在 客 户 端 操 作 数 据 而 无 须 初 始 化 任 何 网 络 交 易, 除 非 需 要 更 改 服 务 器 端。 这 意 味 着 在 不 启 动 网 络 交 易 的 情 况 下, 可 以 编 辑、 插 入、 删 除 多 个 记 录。 更 改 服 务 器 数 据 时, 可 以 在 预 先 选 定 的 时 间 段 内 把 多 个 数 据 包 送 到 网 络 上。 </p> <p><font color="#ffffff">----</font> 另 外, 当 客 户 端 从 网 络 上 断 开 时, 仍 然 可 以 利 用“briefcase model" 访 问 数 据。 其 操 作 步 骤 如 下: 先 把 一 个 远 程 数 据 库 复 制 到 磁 盘 上, 然 后 关 闭 计 算 机, 再 重 新 引 导 它、 断 开 网 络 连 接、 编 辑 数 据, 接 着 重 新 联 网 并 修 改 数 据 库。 所 有 这 些 都 可 以 在 没 有 大 型 数 据 库 工 具 的 客 户 端 完 成。 这 说 明 为 了 操 作 数 据, 客 户 端 不 必 每 时 每 刻 都 与 服 务 器 连 接。 这 对 于 膝 上 型 计 算 机 用 户 和 想 要 保 持 数 据 库 通 信 量 最 小 的 站 点 是 非 常 理 想 的。 </p> <p><font color="#ffffff">----</font> MIDAS 技 术 的 另 一 方 面 是 提 供 访 问 数 据 库 约 束 条 件。 当 从 服 务 器 上 卸 载 数 据 时, 可 以 同 时 卸 载 一 套 自 动 执 行 的 约 束 条 件。 约 束 条 件 可 以 帮 助 程 序 员 确 保 用 户 输 入 合 法 的 数 据。 当 重 新 连 到 网 络 上 时, 数 据 可 以 被 正 确 地 修 改。 如 果 你 在 更 改 数 据 库 时 偶 然 发 生 了 一 个 错 误, 那 么 内 建 的 机 制 会 帮 助 程 序 员 报 告 和 处 理 错 误。 例 如, 如 果 另 一 个 用 户 已 经 更 改 了 你 正 试 图 更 改 的 那 条 记 录, 那 么 你 将 看 到 一 个 提 示 你 如 何 处 理 的 选 项 表。 在Delphi Object Repository 中 的 一 个 预 建 表 单 可 以 使 你 的 应 用 程 序 简 单 地 实 现 错 误 处 理。 </p> <p><font color="#ffffff">----</font> Borland 多 层 计 算 的 另 一 个 重 要 功 能 是 将 数 据 库 的 负 载 分 散 到 多 个 服 务 器 上。 这 样, 一 旦 发 生 错 误 也 能 恢 复。 概 括 起 来 讲, 这 些 技 术 存 在 于 三 种Broker 中: </p> <p><font color="#ffffff">----</font> 第 一 种 叫 做Remote Data Broker,Remote Data Broker 结 构 的 精 髓 是 让 每 一 个 客 户 端 不 再 需 要BDE, 取 而 代 之 的 是 一 个 中 央 化 的BDE, 以 集 中 管 理 的 方 式 降 低 每 一 个 客 户 在BDE 上 所 需 的 开 销 和 复 杂 度。 </p> <p><font color="#ffffff">----</font> 第 二 种 叫 做Constraint Broker, 它 所 扮 演 的 角 色 是 保 证 所 有 客 户 数 据 的 一 致 性 及 数 据 的 完 整 性。 </p> <p><font color="#ffffff">----</font> 第 三 种 是Business Object Broker, 它 的 目 的 是 给 一 些 关 键 性 的 商 业 应 用 程 序 提 供 一 个 快 速 且 可 信 赖 的 使 用 环 境。 为 了 满 足 这 种 高 层 次 的 要 求,Business Object Broker 会 自 动 地 将 应 用 程 序 做 适 当 的 划 分, 并 复 制 重 要 的 业 务 规 则 到 每 一 个 区 间, 以 达 到 速 度 的 要 求。 <font color="#a00000"></p> <p>实 现 工 具</font><font color="#ffffff">----</font><br> Borland 提 供 了 四 种Delphi 工 具 帮 助 用 户 实 现 分 布 式 数 据 集。 前 两 个 在 服 务 器 端: </p> <p><font color="#ffffff">----</font> 1. 远 程 数 据 模 块 像 标 准 数 据 模 块 一 样, 它 不 但 可 以 将 数 据 传 播 到 当 前 的 应 用 中, 而 且 会 传 到 网 络 上 的 特 定 区 域 中。 特 别 是 它 们 把 简 单 的 数 据 模 块 转 化 成COM 对 象, 允 许 你 通 过DCOM 访 问 远 程 服 务 器 上 的 数 据 库。 </p> <p><font color="#ffffff">----</font> 2. TProvider 组 件 就 像 可 以 驻 留 在 标 准 数 据 模 块 中 的TTable 组 件 一 样, 驻 留 在 远 程 数 据 模 块 中, 不 同 的 是TProvider 在 网 络 上 发 布 数 据 表。TTable 和TQuery 组 件 都 含 有Provider 属 性。 但 是 如 果 把 它 作 为 一 个 独 立 的 组 件 访 问, 会 有 更 大 的 灵 活 性 和 力 量。 特 别 是 把TProvider 组 件 与TTable 或TQuery 组 件 建 立 连 接, 网 络 上 的 其 它 程 序 就 可 通 过DCOM 从TTable 或TQuery 访 问 数 据。 远 程 数 据 模 块 的 任 务 就 是 使 客 户 端 访 问 服 务 器 上 特 定 的Provider。 </p> <p><font color="#ffffff">----</font> 在 客 户 端 可 以 利 用 两 个 组 件 访 问 服 务 器 提 供 的 数 据: </p> <p><font color="#ffffff">----</font> 1. TRemoteServer 组 件 把 客 户 端 连 到 服 务 器 上, 特 别 是 连 到 服 务 器 的 远 程 数 据 模 块 上。 更 明 确 地 说 是 连 到 远 程 数 据 模 块 支 持 的COM 接 口 上。TRemoteServer 能 浏 览 可 用 的 服 务 器, 一 旦 找 到 服 务 器,TRemoteServer 就 可 与 之 连 接。 </p> <p><font color="#ffffff">----</font> 2. TClientDataSet 与TRemoteServer 组 件 连 接 在 一 起, 在 服 务 器 上 就 得 到 一 个 特 定 的Provider 。 简 言 之,TClientDataSet 组 件 扮 演 了 与TQuery 或 TTable 同 样 的 角 色, 只 不 过 它 是 为 远 程 站 点 提 供 数 据 服 务。 如 同 在 许 多 标 准 的Delphi 应 用 程 序 中 传 统TDatabase、 TTable、 TDataSource、TDBGrid 组 件 的 配 置 结 构 一 样, 在 远 程 数 据 集 中 使 用TRemoteServer、TClientDataSet、TDataSource 和 TDBGrid 组 件, 它 们 的 配 置 只 是 稍 有 不 同。 在 这 个 新 的 方 案 中,TRemoteServer 的 作 用 类 似 于TDatabase 的 作 用, 而TClientDataSet 组 件 与TTable 或TQuery 组 件 所 起 的 作 用 又 极 其 相 似。 <font color="#a00000"></p> <p>结 论</font><font color="#ffffff">----</font> <br> MIDAS 为 多 层 结 构 的 应 用 开 发 提 供 了 强 大 的 功 能, 这 使 得 开 发 者 再 也 无 需 为 越 来 越 庞 大 的 数 据 及 应 用 发 愁 了。 在Delphi 3.0 Client/Server 版 中 打 包 了MIDAS 的 开 发 版, 它 可 以 用 于 多 层 结 构 应 用 的 开 发 及 调 试, 在 应 用 分 布 时, 还 需 要 另 外 购 买Borland MIDAS for Delphi。 MIDAS 是Borland 公 司 金 门 结 构 系 列 产 品 的 一 部 分。 在 不 久 的 将 来, 金 门 结 构 的 其 它 开 发 工 具 如:C + +Builder、JBuilder 中 也 将 打 包MIDAS, 以 帮 助 用 户 用C + +、Java 语 言 进 行 多 层 结 构 应 用 程 序 的 开 发。 </p> <hr> <p><small><em>中国计算机世界出版服务公司版权所有</em></small> </td> <td></td> <td vAlign="top"></td> </tr></TBODY></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -