Database 版 (精华区)

发信人: lizhenguo (夸父·追日), 信区: Database
标  题: 34
发信站: 哈工大紫丁香 (2001年09月26日18:47:54 星期三), 站内信件

 bbs.hit.edu.cn
PowerBuilder专栏
[回到开始][上一层][下一篇]
----------------------------------------------------------------------------
----
发信人: carsam (独自偷...), 信区: Database
标 题: PowerBuilder应用开发系列讲座(34)
发信站: 逸仙时空 Yat-sen Channel (Wed Jan 5 12:36:36 2000), 站内信件
PowerBuilder应用开发系列讲座(34)
----------------------------------------------------------------------------

----
分布式事务处理
   美 国Sybase 公 司 于 今 年 七 月 发 布 了PowerBuilder 6.0 的Beta 版, 正

式 的 版 本 也 将 于 不 久 的 将 来 推 出, 其 中 对 分 布 式 事务 处 理 的
支 持 是 新 版 本 中 增 强 得 最 多 的 功 能。 早 在1995 年,PowerSoft 公 司

就 提 出 了 在“ 分 布 式 事 务” 方 面 的 发 展 战 略, 并 在1996 年 发 布
的PowerBuilder 5.0 中 支 持 了 分 布 式 事 务 处 理 的 功 能,笔 者 在 以 前

的 讲 座 中 也 曾 经 讨 论 过 有 关 如 何 创 建 分 布 式PowerBuilder 应 用
的 问 题, 但 是 得 到 读 者 反 馈 意 见 却 很 少。 以 往, 一 个使 用PowerB

uilder 开 发 客 户/ 服 务 器 应 用 软 件 的 程 序 员 是 较 少会 想 到 使 用
分 布 式 事 务 来 分 割 应 用 的, 因 此 一 般 的 用 户对 分 布 式 事 务 的
概 念 和 意 义 也 不 甚 了 解, 这 里 我 们 来 进一 步 讨 论 一 下 分 布 式
事 务 处 理 及 其 应 用。
三 级 体 系 结 构
   首 先 我 们 介 绍 三 级 体 系 结 构 这 一 概 念。 所 谓 级是 指 一 种 功

能 划 分, 我 们 以 往 所 开 发 的 数 据 库 应 用 软 件一 般 是 基 于 客 户
/ 服 务 器 结 构 的, 我 们 称 之 为 两 级 体 系 结构。 也 就 是 说 整 个 系

统 可 以 分 成 两 个 功 能 块, 第 一 级 包 括了 软 件 的 应 用 层 和 表 现
层, 驻 留 于 客 户 端。 我 们 使 用PowerBuilder 开 发 出 的 应 用 主 要 用
于 第 一 级, 运 行 于 客 户 端。 第 二 级 包含 数 据 库 和 服 务 器 的 组
件。 一 个 基 于SQL 的 数 据 库 管 理 系统 一 般 安 装 在 服 务 器 端, 应 用

软 件 在 服 务 器 端 进 行 的 操作 主 要 是 数 据 存 储 和 检 索。 在 两 级
模 式 中 会 有 一 些 应 用逻 辑 以 存 储 过 程 和 触 发 器 的 形 式 存 储 在

服 务 器 端, 以 优化 服 务 器 的 性 能, 但 绝 大 多 数 的 应 用 逻 辑 是
放 在 客 户 端的。
   三 级 模 式 是 将 系 统 分 为 有 三 个 不 同 的“ 级”: 表现 级, 商 业

逻 辑 级 和 数 据 访 问 级。 表 现 级 是 处 理 用 户 界 面的 功 能; 数 据
访 问 级 是 数 据 源, 在 通 常 状 况 下 指 数 据 库;商 业 逻 辑 级 是 新 增

加 的 一 级, 指 程 序 中 作 出 智 能 决 策 的那 一 部 分 功 能。 在 早 期
的 应 用 中, 这 一 部 分 的 功 能 并 不 十分 复 杂, 一 般 将 其 放 在 表 现

级 即 可, 另 有 少 量 以 存 储 过 程或 触 发 器 的 形 式 放 在 数 据 访 问
一 级, 而 随 着 软 件 工 程 的发 展, 软 件 的 日 益 复 杂, 软 件 中 功 能

增 加 最 多 的 就 是 在 这一 级。 一 个MIS 系 统 的 功 能 由 早 先 的 对 某
一 个 表 的 简 单 查询, 发 展 到 涉 及 多 个 表 的 分 类 统 计 求 和, 根
据 复 杂 的 公 式分 析 计 算, 进 行 决 策 支 持 等, 如 将 这 些 增 强 的 功

能 仍 全 部放 置 在 表 现 级, 会 使 得 客 户 机 越 来 越 不 堪 重 负, 因
此 就 有人 提 出 在 系 统 中 将 商 业 逻 辑 分 离 出 来, 单 独 形 成 了 一
级,这 就 形 成 了 三 级 结 构。 随 着 三 级 结 构 的 进 一 步 发 展, 一 般

总 是 把 运 行 在 商 业 逻 辑 级 的 软 件 编 写 成 为 了 一 个 为 客 户机 所

调 用, 能 够 完 成 一 定 的 逻 辑 功 能 的 专 用 软 件, 同 数 据库 服 务
器 相 区 别, 我 们 称 之 为 应 用 服 务 器。 在 一 个 网 络 中,可 以 有 着

多 个 不 同 功 能 的 应 用 服 务 器, 为 客 户 机 或 其 它的 应 用 服 务 器
提 供 专 业 服 务, 这 样, 三 级 结 构 就 发 展 成 为了N 级, 这 就 是 所
谓 的 分 布 式 计 算 方 式。
   分 布 式 计 算 的 优 势:
   采 用 分 布 式 计 算 有 着 多 方 面 的 技 术 优 势, 包 括:
   逻 辑 封 装 性: 这 是 分 布 式 模 式 中 最 具 诱 惑 力 的特 征, 这 种

模 式 的 根 基 在 于 将 以 往 全 部 由 客 户 机 完 成 的事 务 逻 辑 中 的 一

部 分 从 客 户 端 分 开。 当 使 公 司 需 要 动 态改 变 一 个 应 用 软 件 的
商 业 逻 辑 规 则 时, 只 要 改 变 一 个 应用 服 务 器 的 程 序 即 可, 而
不 需 要 更 改 客 户 端 用 户 界 面, 这样 就 无 需 中 断 用 户, 为 最 终 用

户 重 新 发 放 新 的 界 面 软 件或 亲 自 上 门 为 其 安 装 调 试 并 重 新 培

训 用 户, 提 高 了 工 作效 率。 这 种 多 级 模 式 对 于 需 经 常、 快 速 改

变 应 用 程 序 的 行业 很 有 帮 助。 瘦 客 户 机: 这 种 类 型 的 应 用 在
运 行 时 最 显 著的 特 点 就 是 减 少 甚 至 消 除 了 传 统 的 两 级 体 系 结

构 中, 以客 户 机 为 中 心 或 称 为“ 肥 客 户” 的 模 式, 减 轻 了 客 户
机 的功 能 负 担, 使 其 消 肿 成 为 了“ 瘦 客 户”。“ 肥 客 户” 是 用 户

感 到 十 分 苦 恼 的 事 情, 用 户 为 使 用 更 强 功 能 的 软 件, 就 必须 付

出 高 昂 的 维 护 费 用, 不 断 地 为 个 人 电 脑 的 软 硬 件 设备 升 级。
近 日 流 行 的NC 也 正 是 看 到 一 般 用 户 在 维 护PC 机 运行 时 负 担 过 重

, 而 提 出 通 过 网 络 将 一 部 分 的 任 务 交 给 了服 务 器 完 成。 这 两
种 方 法 有 着 相 通 之 处。
   性 能: 性 能 的 提 高 是 三 级 模 式 最 终 被 用 户 采 用的 主 要 原 因

。 将 复 杂 的 应 用 和 商 业 逻 辑 分 离 出 来 由 专 门的 一 台 应 用 服 务

器 来 处 理, 既 可 以 提 高 应 用 的 执 行 速 度,也 可 以 减 少 网 络 调
用 的 通 讯 量。 不 过 这 种 性 能 提 高 是 有一 定 代 价 的。 这 就 是 开 发

时 要 将 应 用 逻 辑 分 割 为 客 户 端逻 辑 和 服 务 器 端 逻 辑, 这 就 增
加 了 设 计 的 复 杂 性。
   安 全 性 管 理: 在 分 布 式 计 算 模 式 中, 由 于 所 有 的商 业 逻 辑

都 驻 留 在 服 务 器 端, 信 息 管 理 部 门 就 可 以 十 分方 便 地 监 控 服
务 器 的 运 行 情 况, 很 容 易 地 控 制 访 问 服 务器 以 及 与 服 务 器 应
用 打 交 道 人 员 的 数 量。 这 可 以 大 大 简化 管 理 员 对 系 统 的 管 理
, 减 轻 系 统 维 护 的 工 作 量, 并 确 保系 统 的 可 靠 运 行。
   分 布 式 事 务 处 理 最 广 泛 和 最 成 功 的 应 用 当 数Internet/Intran

et 技 术 了, 尽 管 许 多 人 并 不 意 识 到Internet 就 是 一 个 三 级 体 系结

构 的 代 表。 随 着Internet/Intranet 使 用 的 不 断 深 化, 用 户 对Web 服
务 器 所 查 询 的 信 息 就 不 只 局 限 于 以 文 件 方 式 存 放 在 服务 器 端

的 静 态 的 超 文 本 文 件 了。 这 时 我 们 需 要 借 助 关 系型 数 据 库 来
存 放 变 化 的 数 据, 并 在Web 服 务 器 与 数 据 库 服务 器 之 间 以JDBC、
CGI 等 协 议 建 立 起 两 者 的 连 接, 使Web 服 务器 能 够 实 现 对 数 据 库

的 即 席 查 询, 并 将 结 果 返 回 浏 览 器。我 们 可 以 发 现, 在 这 样 一

个Intranet 结 构 中, 浏 览 器--Web 服务 器-- 数 据 库 服 务 器 就 分 别 对
应 于 客 户 端-- 应 用 服 务 器-- 数 据 库 服 务 器 三 级 体 系 结 构 中 的
三 个 环 节,Intranet 就 是 一个 典 型 的 三 级 体 系 结 构 的 应 用。 因 此

, 我 们 可 以 认 为,Internet 模 式 的 技 术 优 势 如 用 户 界 面 简 单, 管

理 人 员 易 于 维 护 等也 正 是 多 级 计 算 方 式 的 优 势 所 在。 此 外,
由 于PowerBuilder 支持 分 布 式 事 务 处 理, 这 就 使 得PowerBuilder 很 容
易 地 支 持 了作 为 分 布 式 事 务 的 特 例---Internet 的 开 发 了。
分 布 式 应 用 的 开 发
  尽 管 分 布 式 计 算 是 一 个 较 新 的 概 念, 但 是 使 用PowerBuilder 开

发 分 布 式 应 用 却 十 分 简 单, 只 要 您 会 使 用PowerBuilder 中的 用 户
自 定 义 的 不 可 视 对 象, 您 就 会 很 快 地 掌 握 分 布 式PowerBuilder 的

开 发。 在PowerBuilder 中, 应 用 服 务 器 一 端 的 功 能 都 是 通 过不 可
视 用 户 对 象 实 现 的, 开 发 人 员 可 以 将PowerBuilder 的 自定 义 用 户
的 对 象 放 于 应 用 服 务 器 一 侧, 被 称 作 远 端 对 象,在 客 户 端 放 置

该 用 户 对 象 的 代 理 对 象。 此 外, 在 服 务 器 一侧 有 一 个 新 的tran
sport 对 象 用 于 监 听 任 何 一 个 用 户 或 其 它应 用 服 务 器 的 请 求,
在 客 户 端 有 一 个connection 对 象 用 以 建立 同 远 端 对 象 的 连 接。 客

户 端 的 应 用 程 序 通 过connection 对象 连 接 应 用 服 务 器, 连 接 建 立

后, 客 户 端 的 应 用 就 可 以 象调 用 本 地 对 象 一 样 调 用 应 用 服 务
器 上 的 对 象 函 数 了。 当然, 我 们 这 里 指 的 用 户 可 以 是 一 般 意
义 上 的 客 户, 也 可 以指 应 用 服 务 器 以 一 个 客 户 的 身 份 调 用 其
它 应 用 服 务 器。
  远 端 的 用 户 对 象 中 的 商 业 逻 辑 可 以 是 采 用PowerScript 编 写 的

, 作 为 一 个 不 可 视 用 户 对 象 的 特 例, 这 个 对 象 可 以调 用 任 何
函 数 或 使 用 数 据 库 命 令, 它 也 可 以 使 用 不 可 视的DataStore 来 封
装 数 据 库 访 问,PowerBuilder 5.0 可 以 支 持 除 可视 对 象 以 外 的 所 有

的 数 据 类 型。 在 客 户 端 使 用 这 种 形 式调 用 就 象 在 使 用 存 储 过
程 一 样 将 参 数 通 过 网 络 传 递 给 服务 器, 服 务 器 的 运 行 结 果 返
回 客 户 端。
--
我想自由自在地飞......
飞过大海...
飞过沙漠...
飞翔在星的夜空......
※ 来源:.逸仙时空 Yat-sen Channel bbs.zsu.edu.cn.[FROM: 202.116.90.29]
----------------------------------------------------------------------------
----
[回到开始][上一层][下一篇]
欢迎访问Cterm主页

--
《列子·汤问》:“夸父不量力,欲追日影,逐之于隅谷之际。渴欲 得饮,赴饮河渭
。河渭不足,将走北饮大泽。未至,道渴而死。”

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:206.348毫秒