DNA、 组 件 对 象 模 型
与 商 务 逻 辑 计 算

陈 文 博--夏 长 虹

返回


---- 以 可 重 用 组 件 构 造 大 型 应 用 软 件 的 方 法 由 来 已 久, 但 在 技 术 和 工 艺 方 面 趋 于 成 熟 则 是 近 几 年 的 事 情。 尽 管 在 技 术 标 准 方 面 仍 有 门 派 之 争, 但 组 件 的 思 想 方 法 已 被 各 家 所 认 同。 本 文 将 从 工 艺 技 术 的 视 角 讨 论 组 件 对 象 在 动 态Web 开 发 方 面 几 个 值 得 关 注 的 问 题。

---- 微 软 提 出 的DNA 概 念 是 借 助 生 命 科 学 中 脱 氧 核 糖 核 酸(DNA,Deoxyribonucleic Acid) 的 寓 意 来 诠 释 现 代 企 业 信 息 结 构 的 真 谛。 比 尔 · 盖 茨 称 之 为 数 字 神 经 系 统, 寓 示 信 息 系 统 可 以 灵 活 适 应 外 界 环 境 因 素 的 变 化, 作 出 相 应 的 反 应。 那 些 能 灵 活 适 应 客 观 环 境 变 化、 调 节 系 统 功 能 并 可 有 效 重 用 的 软 件 单 位 应 当 像 神 经 细 胞 一 样 充 满 生 命 的 活 力, 而 这 些 软 件 的 细 胞 就 是 组 件 对 象 模 型COM(Component Object Model) 的 各 种 衍 生 物。 如 果 从OLE 算 起,COM 沿 革 至 今 是 一 个 从 量 变 到 质 变 的 过 程。 现 在, 随 着Internet 技 术 的 飞 速 发 展,COM 组 件 又 被 用 于Web 应 用 系 统, 进 行 事 务 逻 辑 处 理( 一 般 来 说, 针 对 系 统 称 为 事 务 逻 辑, 针 对 应 用 称 为 商 务 逻 辑), 以 实 现 更 为 复 杂 的 商 务 应 用。 可 见,COM 既 是 一 种 技 术, 也 是 一 种 值 得 玩 味 的 开 发 方 法。

----Microsoft 提 出DNA 还 有 其 技 术 层 面 的 考 虑, Windows DNA(Windows Distributed Internet Applications Architecture) 在 具 体 的 技 术 范 畴 是 指 分 布 式 互 连 网 应 用 结 构, 其 思 想 的 形 成 有 一 定 的 外 部 原 因。 随 着Internet 技 术 的 发 展, 网 络 用 户 的 数 量 急 剧 增 长, 应 用 日 趋 复 杂, 传 统 的 客 户 机/ 服 务 器 两 层 结 构 愈 发 表 现 出 明 显 的 局 限 性。 为 适 应 更 快 更 复 杂 的 事 务 处 理 任 务 和 快 速 开 发 的 需 要, 一 种 新 的 分 布 式 应 用 设 计 方 法 便 应 运 而 生。

----Windows DNA 以" 表 现 层/ 事 务 逻 辑 层/ 数 据 服 务 层" 三 层 体 系 结 构 为 构 架, 并 将COM 概 念 应 用 于Internet, 利 用 COM 组 件 对 象 在 中 间 层 进 行 事 务 逻 辑 服 务, 处 理 各 种 复 杂 的 商 务 逻 辑 计 算 和 演 算 规 则。 其 中 使 用 一 系 列 普 通 的 服 务, 包 括Web 服 务、 组 件 服 务 和 信 息 服 务, 而 这 些 服 务 都 通 过COM 以 一 种 统 一 的 方 式 展 示 出 来, 使 诸 多 应 用 之 间 易 于 交 互 操 作 和 共 享 组 件。 按DNA 的 思 想, 应 用 系 统 结 构 可 由 图1 描 述。

---- 整 个 应 用 系 统 由 表 示 层(Presentation)、 事 务 逻 辑 层(Business Logic) 和 数 据 服 务 层(Data) 构 成。

----Windows DNA 的 出 现, 使Internet 商 务 开 发 活 动 的 面 貌 焕 然 一 新, 是Internet 企 业 应 用 方 式 的 又 一 次 重 大 变 革, 其 价 值 不 容 忽 视。 以 往 针 对Web 的 商 务 开 发 则 是 另 外 一 番 景 象, 所 有 的 事 务 逻 辑 处 理 只 能 由HTML、JavaScript 和CGI 等 技 术 来 实 现, 选 择 余 地 非 常 有 限。ASP 技 术 的 面 世 使 动 态Web 的 开 发 方 式 有 很 大 改 观, 但 随 之 也 出 现 了 一 些 新 情 况, 那 就 是 页 面 的 脚 本 语 言 结 构 十 分 复 杂, 逻 辑 不 清 晰, 可 读 性 差。 这 不 仅 给 编 程 人 员 本 身 带 来 不 便, 也 给 系 统 的 维 护 带 来 不 小 的 困 难, 特 别 是 当 应 用 逻 辑 需 求 发 生 变 动 时, 修 改 这 些 臃 肿、 晦 涩 的 解 释 性 脚 本 源 代 码 真 是 味 同 嚼 蜡。 而 且 仅 用ASP 技 术 也 难 以 应 付 复 杂 而 细 致 的 商 务 逻 辑 处 理 任 务。

---- 在 原 先 有 的 一 些 商 务 应 用 系 统 中 虽 然 也 用 到 了COM 组 件, 但 由 于 没 有 将 事 务 逻 辑 处 理 单 独 分 离 出 来 作 为 一 个 层 次 来 对 待 并 用MTS 进 行 统 一 管 理, 各 个COM 组 件 间 潜 伏 着 很 多 不 协 调 性, 而 且 当 多 个 客 户 同 时 对 一 个COM 组 件 进 行 操 作 时, 将 给 系 统 带 来 很 大 的 威 胁。 尽 管COM 的 威 力 是 不 容 忽 视 的, 但 传 统 的 软 件 开 发 模 式 和 运 行 环 境 并 没 有 将COM 的 作 用 充 分 发 挥 出 来。

---- 在 没 有 按DNA 的 模 式 进 行 开 发 活 动 时, 人 们 制 作、 使 用COM 组 件 处 于 无 序 的 状 态, 往 往 是 进 行 开 发 之 后 就 忽 略 了 再 利 用 问 题, 浪 费 了 大 量 的 人 力、 物 力 资 源。 其 实, 商 务 逻 辑 的 专 业 性 很 强, 研 发 工 作 应 该 有 所 分 工, 尽 量 延 长COM 组 件 的 生 命 周 期。 而 且 还 应 为 组 件 的 有 关 信 息 建 立 标 准 的 技 术 文 档, 使 之 有 利 于 组 件 的 商 品 化 进 程。

----Windows DNA 的 技 术 思 想 使 应 用 开 发 有 了 明 确 的 分 工。 一 部 分 人 员 专 注 于 事 务 逻 辑 层COM 组 件 的 开 发 和 测 试 工 作; 另 一 部 分 人 员 根 据 商 务 逻 辑 的 需 要 选 择 和 使 用COM 组 件, 使 用 组 件 提 供 的 统 一 对 外 接 口 而 无 须 了 解 其 功 能 实 现 的 内 部 细 节, 最 终 以 精 练 的ASP 脚 本 语 言 把 组 件 集 成 到 页 面 之 中, 从 而 有 效 降 低 了 开 发 难 度, 加 快 了 开 发 进 度。 由 于 事 务 逻 辑 处 理 都 是 由COM 组 件 完 成,ASP 脚 本 的 负 担 就 很 轻 了, 主 要 承 担COM 组 件 的" 黏 合 " 任 务。ASP 页 面 也 就 变 得 清 晰、 易 读, 便 于 调 试, 更 不 会 出 现 开 发 活 动 因 研 发 人 员 的 中 途 变 动 而 使 整 个 工 作 搁 浅 的 局 面。COM 组 件 可 利 用VB、VC 和C + + 等 多 种 语 言 工 具 实 现, 其 处 理 事 务 逻 辑 的 能 力 十 分 强 大。

---- 将 应 用 逻 辑 组 件 集 中 置 于 中 间 层, 组 件 对 象COM 的 可 重 用 性 减 少 了 应 用 系 统 整 体 的 管 理 和 维 护 费 用。 当 多 个 页 面 需 要 进 行 相 同 的 事 务 处 理 时, 只 需 调 用 同 一COM 组 件 而 无 须 编 写 冗 长 而 又 重 复 的ASP 脚 本 代 码; 当 进 行 类 似 的 系 统 开 发, 需 要 进 行 相 同 的 事 务 处 理 时, 可 方 便 地 使 用 已 有 的COM 组 件; 当 商 务 逻 辑 变 更 时, 又 不 必 改 变 整 个 页 面 源 代 码, 只 需 调 整 或 替 换 中 间 层 相 应 的COM 组 件, 即 可 灵 活 适 应 商 务 逻 辑 的 改 变。

---- 这 种 应 用 模 式 显 著 提 高 了 系 统 的 运 营 效 率 和 安 全 性。 在 中 间 层,IIS 负 责 应 用 逻 辑 层Web 页 面 的 管 理,MTS 负 责 应 用 逻 辑 层COM 组 件 的 管 理。MTS 在 多 线 程 支 持 下 工 作, 实 现 对COM 组 件 的 分 布 式 连 接 管 理、 线 程 池 自 动 管 理 及 高 性 能 事 务 处 理 的 监 视。 应 用 程 序 使 用 组 件 可 以 共 享 与 数 据 库 的 连 接, 使 数 据 库 不 再 和 每 个 活 动 客 户 保 持 一 一 连 接, 而 是 若 干 个 客 户 通 过 共 享 组 件 和 数 据 库 连 接, 降 低 了 数 据 库 的 负 担, 提 高 了 系 统 性 能。 此 外, 客 户 通 过 组 件 访 问 数 据 库 时,MTS 的 安 全 管 理 机 制 可 以 按 权 限 将 特 定 组 件 授 给 不 同 的 用 户 组, 使 商 务 活 动 的 安 全 性 和 系 统 结 构 有 机 地 结 合 在 一 起。

---- 显 然,DNA 思 想 为 企 业 开 发 复 杂、 健 壮、 生 命 力 强 的 商 务 系 统 提 供 了 一 个 十 分 有 价 值 的 模 式, 已 广 泛 应 用 于 金 融、 电 信、 能 源、 医 疗、 交 通、 工 商 财 务 等 各 种 行 业, 充 分 展 示 了 强 大 的 生 命 力。

---- 目 前, 在 金 融 管 理 信 息 系 统 已 有 很 多 成 功 的 开 发 案 例, 较 好 解 决 了 各 业 务 系 统 相 对 独 立、 金 融 信 息 零 乱 分 散、 决 策 缺 乏 科 学 依 据 的 问 题。 金 融 管 理 信 息 系 统 主 要 是 利 用 金 融 行 业 现 有 的 通 讯 网 络, 采 用 先 进 的Internet/Intranet 技 术 实 现 业 务 数 据 信 息、 办 公 管 理 信 息、 行 业 信 息 以 及 外 部 信 息 的 集 成, 构 建 金 融 行 业 的 综 合 信 息 平 台。 用 户 可 查 询 各 种 相 关 信 息, 并 生 成 相 关 的 报 表 或 图 形 结 果, 为 决 策 者 提 供 详 细 准 确 的 依 据。 系 统 可 及 时 向 社 会 公 众 提 供 银 行 存 贷 款 利 率 和 金 融 法 规 等 详 细 的 金 融 信 息, 为 金 融 电 子 化 打 下 了 坚 实 的 基 础。 系 统 采 用 多 层 体 系 结 构 和COM 组 件 技 术, 将 事 务 逻 辑 处 理 层 和 表 示 层 分 开, 具 有 较 好 的 可 伸 缩 性; 客 户 端 完 全 基 于 浏 览 器 方 式, 界 面 友 好, 操 作 简 捷, 维 护 方 便。 系 统 利 用Windows NT 和SQL Server 等 多 级 权 限 控 制, 进 一 步 确 保 系 统 的 安 全 性; 利 用Microsoft Transaction Server(MTS) 进 行 组 件 管 理, 提 高 了 系 统 性 能。 由 于 这 类 系 统 是 以DNA 思 想 为 基 础 的, 其 健 壮 性、 友 好 性 不 容 辩 驳, 已 为 很 多 地 方 的 市 级 银 行 所 采 用。 此 外, 像 电 子 证 券 交 易 系 统、 财 务 预 决 算 系 统 等 许 多 成 功 的 应 用 也 都 采 用 了DNA 的 思 想 进 行 建 模 和 开 发, 可 见 其 应 用 范 围 之 广。

---- 总 之, 以 DNA 思 想 所 构 建 的 系 统 为 开 发 人 员、 运 营 维 护 人 员 和 最 终 客 户 都 提 供 了 多 种 方 便。 特 别 是COM 组 件 的 使 用 使 在Internet/Intranet 上 快 速、 低 成 本 地 建 立 高 效、 安 全、 健 壮 的 商 务 应 用 系 统 成 为 可 能。