Delphi 也是一个多 层C/S 和b/s的32 位 快 速 开 发 工 具
Inprise 自 从 推 出 了Delphi 之 后, 深 受 程 序 设 计 人 员 的 青 睐。Delphi 的提 供 给 用 户一种 全 新 的 可 视 化 的 环 境, 快 速 开 发Windows 的 应 用 程 序。Delphi 除 了提 供 给 使 用 者 快 速 地32 位 开 发 环 境 以 外, 还 增 加 了 如 数 据 模 块(Data Module) 等多 种 高 效 的 数 据 重 用 功 能和多 层C/S 和b/s的快 速 开 发 工 具。
Delphi 到 底 提 供 了 那 些 新 的 技 术 呢? 以 下 将 为 大 家 概 述 这 些 新 技 术 的背 景 和 特 性, 以 及Delphi 是 如 何 将 这 些 技 术 实 际 运 用 在 程 序 设 计 中 的。
Delphi 的技 术 表 现 在 以 下 三 个 方 面:
1.数 据 库 的 处 理
Web 上 的Client/Server 技 术
数 据 分 析、 企 业 组 件 和 提 高 程 序 设 计 人 员 的 生 产 力
数 据 库 的 处 理 技 术
第 一 代 数 据 库处 理 系 统 采 用 单 层 结 构, 但这 种 结 构 很 浪 费 计 算 机 资 源。第 二 代 数 据 库 采 用 了C/S 结 构, 也 就 是 所 谓 的 两 层 结 构(2-Tier)。 C/S得 到 了 广 泛 的 应 用 并 获 得 了 极 大 的 成 功。 但 在 其 结 构 上 也 存 在 一 些 问 题, 主要 表 现 在 应 用 程 序 的 可伸 缩性和 可维 护 性方 面。 比如, 在 网 络 上 如 何 维 护 数 据 的 统 一 性和 完 整 性; 一 旦 应 用 程 序 有 任 何 改 动, 维 护 人 员 就 必 须 对 每 个 客 户 端 进 行 修 改。新 一 代 的 数 据 库 系 统 是 的C/S 结 构 中 增 加 一 个 应 用服 务 器(Application Server), 这 种 结 构 叫 做n-Tier 或Multi-Tier。
Delphi 针 对 这 种 新 一 代 的 数 据 库 系 统 构 架 模 型, 提 出 了 三 种Broker 和数 据 库 引 擎, 来 适 应多层应用 需 求。第 一 种 叫 做Remote Data Broker,Remote Data Broker 结 构 的 精 髓 是 让每 一 个 客 户 端 不 再 需 要BDE, 取 而 代 这 的 是 一 个 中 央 化 的BDE, 以 集 中 管 理 的 方 式降 低 每 一 个 客 户 在BDE 上 调 整 的 开 销 和 复 杂 度。第 二 种 叫 做Constraint Broker, 顾 名 思 义, 它 所 扮 演 的 角 色 就 是 保 证 所有 客 户 数 据 的 一 致 性 及 数 据 的 完 整 性。第 三 种 是Business Object Broker, 它 的 目 的 是 给 一 些 关 键 性 的 商 业 应用 程 序 提 供 一 个 快 速 而 且 可 信 赖 的 使 用 环 境。 为 了 达 成 这 种 高 层 次 的 要求,Business ObjectBroker 自 动 的 将 应 用 程 序 做 适 当 的 划 分, 并 复 制 重 要 的 业 务规 则 到 每 一 个 区 间, 以 达 到 速 度 的 要 求。
Web -Enable的C/S 技 术
1. Web BroKer
当 一 个C/S 结 构 的 数 据 库 系 统, 改成Web-Enabled 的 时 候, 首 先 要 考 虑 的 是 如 何 把 结 果 显 示 在 不 同 的 机 器 上, 其 次 是
如 何 将 已 经 开 发 出 来 的 程 序 方 便 地 分 发 到 不 同 地 方 的 用 户。Delphi 中Web Broker 的 目 的 就 是 让 服 务 器 执 行 的 结 果, 方 便 地 以HTML格 式 快 速 地 显 示 在Web 浏 览 器 上 面。Web Broker 中 包 含 了 几 个 重 要 的 核 心 成 分。WebServer Application: 建 立ISAPI/NSAPI 或CGI 的DLL 或 执 行 程 序。 WebBridge: 让 开 发 人 员 开 发 一 些 可 在ISAPI/NSAPI 中 共 用 的API,2 使 得程 序 的 开 发 不 会 因Netscape 或Microsfot 的 标 准 改 变 而 受 重 大 的 影 响。
WebModeules:WebModule 所 扮 演 的 角 色 就 好 象 是WebServer 的 信 息 中 心,
它 分 派 每 个 使 用 者 的 要 求, 定 义URI 和 新 建HTML 网 页。
Sessions:Session 可 同 时 处 理 许 多 数 据 库 处 理 的 要 求, 针 对 每 一 个 用 户
请 求, 在 中 央 的BDE 中 新 建 不 同 的BDE 区 段 来 应 答 用 户。
WebDispatcher: 是 一 个 处 理 数 据 库 需 求 的 中 心, 允 许Delphi 的 开 发 者 把
传 统 的Client/Serv er 数 据 库 所 产 生 的 内 容 传 送 到Web 上 去。
HTML Producers: 主 要 的 目 的 是 将 数 据 库 信 息 或 其 它 程 序 的 结 果 转 换
为HTML 的 格 式。
2.ActiveForm
ActiveForm 是 开 发Web-Enabled 的Client/Server 应 用 程 序 另 外 一 个 重
要 的 部 分, 它 针 对 以Windows 为 基 础 的Client/Server 结 构 的 数 据 库 系 统。
Delphi 提 供 了 一 个 最 容 易 的 方 式, 将Delphi 的Form 转成ActiveForm。ActiveForm 是 一 个ActiveX 控 件, 它 使 用Delphi 的Form 为 载 体 来 装其 他Delphi 的 组 件, 为 了 适 应 网 络 频 宽 不 足 的 限 制,ActiveForm 配 合Remote DataBroker 可 以 产 生 小 巧 且 无 须 编 程 的Multi-Tier 数 据 库 应 用 程 序。
另 一 个 有 力 的 工 具 叫Web Deployment, 它 可 以 自 动 的 产 生HTML文 件, 传 送ActiveForm 和 其 他 所 必 需 的 文 件 到 客 户 端,Web Deploymcnt 可 以 支持CAB 的 文 件 格 式(节约30%), 以 增 加 文 件 下 传 的 速 度, 除 此 之 外, 它 还 提 供Code Signing 机制 去 提 高 其 网 络 安 全 性。Delphi 还 提 供 了 新 的 编 译 技 术 — —VCL Package 技 术。
Delphi 3 另 外 值 得 一 提 的 部 分 是 在 客 户 端 的 开 发 应 用, 主 要 表 现 在 三 个
主 要 方 面: 数 据 分 析, 组 件 制 造 中 心 和 减 小 了 程 序 开 发 的 难 度。
数 据 分 析
正 确 的 数 据 分 析, 在 业 务 决 策 分 析 上 是 相 当 的 重 要。 当 大 量 的 数 据 放 在 用
户 面 前 的 时, 用 户 要 搞 清 这 些 繁 杂 的 数 据 背 后 的 真 实 意 义 可 不 是 件 容 易 的 事。 如
何 将 现 有 的 数 据 转 成 有 用 的 信 息, 来 辅 助 决 策 者 做 出 最 正 确 的 决 择 呢? 一 般 来 说,
运 用 图 形 及 报 表 形 式 是 最 好 不 过 的 了,Delphi 提 供 了 三 个 重 要 的 组
件,Decision Cube,TeeCharts 和Quick Report。
Decision Cube 让 使 用 者 能 依 据 个 人 需 求, 动 态 查 询 数 据, 显 示 多 维 数 据和 动 态 图 表, 产 生 不 同 性 质 的 有 用 分 析 结 果, 充 分 显 示 数 据 背 后 的 相 互 关 系, 提 供
给 快 策 者 最 快 最 有 用 的 信 息, 帮 助 他 作 出 最 正 确 的 决 定;TeeCharts 是 一 个 三 维 的可 视 化 图 表, 使 得 数 据 更 容 易 被 理 解:Quick Report 是 一 个 超 强 的 报 表 生 成 组 件群, 除 了 提 供 一 般 的 报 表 外, 还 可 以 产 生HTML 的 报 表 格 式, 让 所 产 生 的 报 表 得 以
在Web 上 发 布。
组 件 制 造 中 心
企 业 组 件 的 制 作 基 础 是 运 用ActiveX 的 技 术, 配 合 对COM 支 持 能 力, 以 一 步到 位ActiveX 的 工 具, 建 立 企 业 组 件, 提 供 企 业 内 组 件 的 最 大 重 用 能 力。 用Delphi 制 造 出 来 的 组 件 可 以 运 用 于 各 种 不 同 的 开 发 工 具 中, 例如C++Builder、IntraBuilder、VB 等。
由 于 企 业 内 部 和Intranet 的 需 求 越 来 越 复 杂, 应 用 程 序 开 发 越 来 越 困 难。程 序 开 发 人 员 迫 切 需 要 一 种 强 有 力 的 快 速 开 发 工 具。Delphi 大 幅 度 提 升 从 多 层C/S 的 数 据 库 应 用 到Web Client/Server 结 构 的 应 用能力, 甚 至 对 程序 设 计 人 员 所 面 临 的 困 难, 都 细 心 的 考 虑 并 给 出 了 最 佳 的 解 决 方 案。
三 程 模 型:
1、小数据量的浏览:浏览器 + 应用程序(ASP/PHP/JSP) + WEB服务器 + 远程数据库
2、大数据量的操作:浏览器+WEB服务器+应用程序服务器+数据库
现在好像1,比较流行,君不见到处都招(ASP/PHP/JSP) 程序员。
但我觉得2,的优势比较明显:
1.效率高。(经过编译的)
2.安全性:可灵活加载加密算法,原代码不可见。
3.可利用各种中间件技术。
4.有交互功能:(比如一个拍卖网站,你就不必老是,刷新网页了。)(据说新一代的XML语言支持交互功能)
总觉得(ASP/PHP/JSP) 是一个时期的过渡产品(个人观点)。肯定要被新一代如XML语言技术所取代。
(未完)