分布式事务处理
张健姿 01-6-22 下午 04:48:27
美 国Sybase 公 司 于 今 年 七 月 发 布 了PowerBuilder 6.0 的Beta 版, 正 式 的 版 本也 将 于 不 久 的 将 来 推 出, 其 中 对 分 布 式 事 务 处 理 的 支持 是 新 版 本 中 增 强 得 最 多 的 功 能。 早 在1995 年,PowerSoft 公司 就 提 出 了 在“ 分 布 式 事 务” 方 面 的 发 展 战 略, 并 在1996 年 发 布 的PowerBuilder 5.0 中 支 持 了 分 布 式 事 务 处 理 的 功 能,笔 者 在 以 前 的 讲 座 中 也 曾 经 讨 论 过 有 关 如 何 创 建 分布 式PowerBuilder 应 用 的 问 题, 但 是 得 到 读 者 反 馈 意 见 却 很少。 以 往, 一 个 使 用PowerBuilder 开 发 客 户/ 服 务 器 应 用 软 件的 程 序 员 是 较 少 会 想 到 使 用 分 布 式 事 务 来 分 割 应 用的, 因 此 一 般 的 用 户 对 分 布 式 事 务 的 概 念 和 意 义 也 不甚 了 解, 这 里 我 们 来 进 一 步 讨 论 一 下 分 布 式 事 务 处 理及 其 应 用。 三 级 体 系 结 构 首 先我 们 介 绍 三 级 体 系 结 构 这 一 概 念。 所 谓 级 是 指 一 种 功用 划 分, 我 们 以 往 所 开 发 的 数 据 库 应 用 软 件 一 般 是 基于 客 户/ 服 务 器 结 构 的, 我 们 称 之 为 两 级 体 系 结 构。 也就 是 说 整 个 系 统 可 以 分 成 两 个 功 能 块, 第 一 级 包 括 了软 件 的 应 用 层 和 表 现 层, 驻 留 于 客 户 端。 我 们 使 用PowerBuilder 开 发 出 的 应 用 主 要 用 于 第 一 级, 运 行 于 客 户 端。 第 二级 包 含 数 据 库 和 服 务 器 的 组 件。 一 个 基 于SQL 的 数 据 库管 理 系 统 一 般 安 装 在 服 务 器 端, 应 用 软 件 在 服 务 器 端进 行 的 操 作 主 要 是 数 据 存 储 和 检 索。 在 两 级 模 式 中 会有 一 些 应 用 逻 辑 以 存 储 过 程 和 触 发 器 的 形 式 存 储 在服 务 器 端, 以 优 化 服 务 器 的 性 能, 但 绝 大 多 数 的 应 用逻 辑 是 放 在 客 户 端 的。 三 级模 式 是 将 系 统 分 为 有 三 个 不 同 的“ 级”: 表 现 级, 商业 逻 辑 级 和 数 据 访 问 级。 表 现 级 是 处 理 用 户 界 面 的 功用; 数 据 访 问 级 是 数 据 源, 在 通 常 状 况 下 指 数 据 库;商 业 逻 辑 级 是 新 增 加 的 一 级, 指 程 序 中 作 出 智 能 决 策的 那 一 部 分 功 能。 在 早 期 的 应 用 中, 这 一 部 分 的 功 能并 不 十 分 复 杂, 一 般 将 其 放 在 表 现 级 即 可, 另 有 少 量以 存 储 过 程 或 触 发 器 的 形 式 放 在 数 据 访 问 一 级, 而 随着 软 件 工 程 的 发 展, 软 件 的 日 益 复 杂, 软 件 中 功 能 添加 最 多 的 就 是 在 这 一 级。 一 个MIS 系 统 的 功 能 由 早 先 的对 某 一 个 表 的 简 单 查 询, 发 展 到 涉 及 多 个 表 的 分 类 统计 求 和, 根 据 复 杂 的 公 式 分 析 计 算, 进 行 决 策 支 持等, 如 将 这 些 增 强 的 功 能 仍 全 部 放 置 在 表 现 级, 会 使得 客 户 机 越 来 越 不 堪 重 负, 因 此 就 有 人 提 出 在 系 统 中将 商 业 逻 辑 分 离 出 来, 单 独 形 成 了 一 级, 这 就 形 成 了三 级 结 构。 随 着 三 级 结 构 的 进 一 步 发 展, 一 般 总 是 把运 行 在 商 业 逻 辑 级 的 软 件 编 写 成 为 了 一 个 为 客 户 机所 调 用, 能 够 完 成 一 定 的 逻 辑 功 能 的 专 用 软 件, 同 数据 库 服 务 器 相 区 别, 我 们 称 之 为 应 用 服 务 器。 在 一 个网 络 中, 可 以 有 着 多 个 不 同 功 能 的 应 用 服 务 器, 为 客户 机 或 其 它 的 应 用 服 务 器 提 供 专 业 服 务, 这 样, 三 级结 构 就 发 展 成 为 了N 级, 这 就 是 所 谓 的 分 布 式 计 算 方式。 分 布式 计 算 的 优 势: 采 用 分 布 式 计 算 有 着 多方 面 的 技 术 优 势, 包 括: 逻 辑封 装 性: 这 是 分 布 式 模 式 中 最 具 诱 惑 力 的 特 征, 这 种模 式 的 根 基 在 于 将 以 往 全 部 由 客 户 机 完 成 的 事 务 逻辑 中 的 一 部 分 从 客 户 端 分 开。 当 使 公 司 需 要 动 态 改 变一 个 应 用 软 件 的 商 业 逻 辑 规 则 时, 只 要 改 变 一 个 应 用服 务 器 的 程 序 即 可, 而 不 需 要 更 改 客 户 端 用 户 界 面,这 样 就 无 需 中 断 用 户, 为 最 终 用 户 重 新 发 放 新 的 界 面软 件 或 亲 自 上 门 为 其 安 装 调 试 并 重 新 培 训 用 户, 提 高了 工 作 效 率。 这 种 多 级 模 式 对 于 需 经 常、 快 速 改 变 使用 程 序 的 行 业 很 有 帮 助。 瘦 客 户 机: 这 种 类 型 的 应 用在 运 行 时 最 显 著 的 特 点 就 是 减 少 甚 至 消 除 了 传 统 的两 级 体 系 结 构 中, 以 客 户 机 为 中 心 或 称 为“ 肥 客 户” 的 模 式, 减 轻 了 客 户 机 的 功 能 负 担, 使 其 消 肿 成 为了“ 瘦 客 户”。“ 肥 客 户” 是 用 户 感 到 十 分 苦 恼 的 事情, 用 户 为 使 用 更 强 功 能 的 软 件, 就 必 须 付 出 高 昂 的维 护 费 用, 不 断 地 为 个 人 电 脑 的 软 硬 件 设 备 升 级。 近日 流 行 的NC 也 正 是 看 到 一 般 用 户 在 维 护PC 机 运 行 时 负担 过 重, 而 提 出 通 过 网 络 将 一 部 分 的 任 务 交 给 了 服 务器 完 成。 这 两 种 方 法 有 着 相 通 之 处。 功用: 性 能 的 提 高 是 三 级 模 式 最 终 被 用 户 采 用 的 主 要 缘由。 将 复 杂 的 应 用 和 商 业 逻 辑 分 离 出 来 由 专 门 的 一 台应 用 服 务 器 来 处 理, 既 可 以 提 高 应 用 的 执 行 速 度, 也可 以 减 少 网 络 调 用 的 通 讯 量。 不 过 这 种 性 能 提 高 是 有一 定 代 价 的。 这 就 是 开 发 时 要 将 应 用 逻 辑 分 割 为 客 户端 逻 辑 和 服 务 器 端 逻 辑, 这 就 增 加 了 设 计 的 复 杂 性。 安 全性 管 理: 在 分 布 式 计 算 模 式 中, 由 于 所 有 的 商 业 逻 辑都 驻 留 在 服 务 器 端, 信 息 管 理 部 门 就 可 以 十 分 方 便 地监 控 服 务 器 的 运 行 情 况, 很 容 易 地 控 制 访 问 服 务 器 以及 与 服 务 器 应 用 打 交 道 人 员 的 数 量。 这 可 以 大 大 简 化管 理 员 对 系 统 的 管 理, 减 轻 系 统 维 护 的 工 作 量, 并 确保 系 统 的 可 靠 运 行。 分 布式 事 务 处 理 最 广 泛 和 最 成 功 的 应 用 当 数Internet/Intranet 技术 了, 尽 管 许 多 人 并 不 意 识 到Internet 就 是 一 个 三 级 体 系结 构 的 代 表。 随 着Internet/Intranet 使 用 的 不 断 深 化, 用 户 对Web 服 务 器 所 查 询 的 信 息 就 不 只 局 限 于 以 文 件 方 式 存 放在 服 务 器 端 的 静 态 的 超 文 本 文 件 了。 这 时 我 们 需 要 借助 关 系 型 数 据 库 来 存 放 变 化 的 数 据, 并 在Web 服 务 器 与数 据 库 服 务 器 之 间 以JDBC、CGI 等 协 议 建 立 起 两 者 的 连接, 使Web 服 务 器 能 够 实 现 对 数 据 库 的 即 席 查 询, 并 将结 果 返 回 浏 览 器。 我 们 可 以 发 现, 在 这 样 一 个Intranet 结构 中, 浏 览 器--Web 服 务 器-- 数 据 库 服 务 器 就 分 别 对 应 于客 户 端-- 应 用 服 务 器-- 数 据 库 服 务 器 三 级 体 系 结 构 中的 三 个 环 节,Intranet 就 是 一 个 典 型 的 三 级 体 系 结 构 的 使用。 因 此, 我 们 可 以 认 为,Internet 模 式 的 技 术 优 势 如 用户 界 面 简 单, 管 理 人 员 易 于 维 护