InPRise 自 從 推 出 了Delphi 之 后, 深 受 程 序 設(shè) 計(jì) 人 員 的 青 睞。Delphi 的提 供 給 用 戶一種 全 新 的 可 視 化 的 環(huán) 境, 快 速 開 發(fā)Windows 的 應(yīng) 用 程 序。Delphi 除 了提 供 給 使 用 者 快 速 地32 位 開 發(fā) 環(huán) 境 以 外, 還 增 加 了 如 數(shù) 據(jù) 模 塊(Data Module) 等多 種 高 效 的 數(shù) 據(jù) 重 用 功 能和多 層C/S 和b/s的快 速 開 發(fā) 工 具。
Delphi 到 底 提 供 了 那 些 新 的 技 術(shù) 呢? 以 下 將 為 大 家 概 述 這 些 新 技 術(shù) 的背 景 和 特 性, 以 及Delphi 是 如 何 將 這 些 技 術(shù) 實(shí) 際 運(yùn) 用 在 程 序 設(shè) 計(jì) 中 的。
Delphi 的技 術(shù) 表 現(xiàn) 在 以 下 三 個(gè) 方 面:
1.數(shù) 據(jù) 庫(kù) 的 處 理
Web 上 的Client/Server 技 術(shù)
數(shù) 據(jù) 分 析、 企 業(yè) 組 件 和 提 高 程 序 設(shè) 計(jì) 人 員 的 生 產(chǎn) 力
數(shù) 據(jù) 庫(kù) 的 處 理 技 術(shù)
第 一 代 數(shù) 據(jù) 庫(kù)處 理 系 統(tǒng) 采 用 單 層 結(jié) 構(gòu), 但這 種 結(jié) 構(gòu) 很 浪 費(fèi) 計(jì) 算 機(jī) 資 源。第 二 代 數(shù) 據(jù) 庫(kù) 采 用 了C/S 結(jié) 構(gòu), 也 就 是 所 謂 的 兩 層 結(jié) 構(gòu)(2-Tier)。 C/S得 到 了 廣 泛 的 應(yīng) 用 并 獲 得 了 極 大 的 成 功。 但 在 其 結(jié) 構(gòu) 上 也 存 在 一 些 問(wèn) 題, 主要 表 現(xiàn) 在 應(yīng) 用 程 序 的 可伸 縮性和 可維 護(hù) 性方 面。 比如, 在 網(wǎng) 絡(luò) 上 如 何 維 護(hù) 數(shù) 據(jù) 的 統(tǒng) 一 性和 完 整 性; 一 旦 應(yīng) 用 程 序 有 任 何 改 動(dòng), 維 護(hù) 人 員 就 必 須 對(duì) 每 個(gè) 客 戶 端 進(jìn) 行 修 改。新 一 代 的 數(shù) 據(jù) 庫(kù) 系 統(tǒng) 是 的C/S 結(jié) 構(gòu) 中 增 加 一 個(gè) 應(yīng) 用服 務(wù) 器(application Server), 這 種 結(jié) 構(gòu) 叫 做n-Tier 或Multi-Tier。
Delphi 針 對(duì) 這 種 新 一 代 的 數(shù) 據(jù) 庫(kù) 系 統(tǒng) 構(gòu) 架 模 型, 提 出 了 三 種Broker 和數(shù) 據(jù) 庫(kù) 引 擎, 來(lái) 適 應(yīng)多層應(yīng)用 需 求。第 一 種 叫 做Remote Data Broker,Remote Data Broker 結(jié) 構(gòu) 的 精 髓 是 讓每 一 個(gè) 客 戶 端 不 再 需 要BDE, 取 而 代 這 的 是 一 個(gè) 中 央 化 的BDE, 以 集 中 管 理 的 方 式降 低 每 一 個(gè) 客 戶 在BDE 上 調(diào) 整 的 開 銷 和 復(fù) 雜 度。第 二 種 叫 做Constraint Broker, 顧 名 思 義, 它 所 扮 演 的 角 色 就 是 保 證 所有 客 戶 數(shù) 據(jù) 的 一 致 性 及 數(shù) 據(jù) 的 完 整 性。第 三 種 是Business Object Broker, 它 的 目 的 是 給 一 些 關(guān) 鍵 性 的 商 業(yè) 應(yīng)用 程 序 提 供 一 個(gè) 快 速 而 且 可 信 賴 的 使 用 環(huán) 境。 為 了 達(dá) 成 這 種 高 層 次 的 要求,Business ObjectBroker 自 動(dòng) 的 將 應(yīng) 用 程 序 做 適 當(dāng) 的 劃 分, 并 復(fù) 制 重 要 的 業(yè) 務(wù)規(guī) 則 到 每 一 個(gè) 區(qū) 間, 以 達(dá) 到 速 度 的 要 求。
Web -Enable的C/S 技 術(shù)
1. Web BroKer
當(dāng) 一 個(gè)C/S 結(jié) 構(gòu) 的 數(shù) 據(jù) 庫(kù) 系 統(tǒng), 改成Web-Enabled 的 時(shí) 候, 首 先 要 考 慮 的 是 如 何 把 結(jié) 果 顯 示 在 不 同 的 機(jī) 器 上, 其 次 是
如 何 將 已 經(jīng) 開 發(fā) 出 來(lái) 的 程 序 方 便 地 分 發(fā) 到 不 同 地 方 的 用 戶。Delphi 中Web Broker 的 目 的 就 是 讓 服 務(wù) 器 執(zhí) 行 的 結(jié) 果, 方 便 地 以HTML格 式 快 速 地 顯 示 在Web 瀏 覽 器 上 面。Web Broker 中 包 含 了 幾 個(gè) 重 要 的 核 心 成 分。WebServer Application: 建 立ISAPI/NSAPI 或CGI 的DLL 或 執(zhí) 行 程 序。 WebBridge: 讓 開 發(fā) 人 員 開 發(fā) 一 些 可 在ISAPI/NSAPI 中 共 用 的API,2 使 得程 序 的 開 發(fā) 不 會(huì) 因Netscape 或Microsfot 的 標(biāo) 準(zhǔn) 改 變 而 受 重 大 的 影 響。
WebModeules:WebModule 所 扮 演 的 角 色 就 好 象 是WebServer 的 信 息 中 心,
它 分 派 每 個(gè) 使 用 者 的 要 求, 定 義URI 和 新 建HTML 網(wǎng) 頁(yè)。
sessions:Session 可 同 時(shí) 處 理 許 多 數(shù) 據(jù) 庫(kù) 處 理 的 要 求, 針 對(duì) 每 一 個(gè) 用 戶
請(qǐng) 求, 在 中 央 的BDE 中 新 建 不 同 的BDE 區(qū) 段 來(lái) 應(yīng) 答 用 戶。
WebDispatcher: 是 一 個(gè) 處 理 數(shù) 據(jù) 庫(kù) 需 求 的 中 心, 允 許Delphi 的 開 發(fā) 者 把
傳 統(tǒng) 的Client/Serv er 數(shù) 據(jù) 庫(kù) 所 產(chǎn) 生 的 內(nèi) 容 傳 送 到Web 上 去。
HTML Producers: 主 要 的 目 的 是 將 數(shù) 據(jù) 庫(kù) 信 息 或 其 它 程 序 的 結(jié) 果 轉(zhuǎn) 換
為HTML 的 格 式。
2.ActiveForm
ActiveForm 是 開 發(fā)Web-Enabled 的Client/Server 應(yīng) 用 程 序 另 外 一 個(gè) 重
要 的 部 分, 它 針 對(duì) 以Windows 為 基 礎(chǔ) 的Client/Server 結(jié) 構(gòu) 的 數(shù) 據(jù) 庫(kù) 系 統(tǒng)。
Delphi 提 供 了 一 個(gè) 最 容 易 的 方 式, 將Delphi 的Form 轉(zhuǎn)成ActiveForm。ActiveForm 是 一 個(gè)ActiveX 控 件, 它 使 用Delphi 的Form 為 載 體 來(lái) 裝其 他Delphi 的 組 件, 為 了 適 應(yīng) 網(wǎng) 絡(luò) 頻 寬 不 足 的 限 制,ActiveForm 配 合Remote DataBroker 可 以 產(chǎn) 生 小 巧 且 無(wú) 須 編 程 的Multi-Tier 數(shù) 據(jù) 庫(kù) 應(yīng) 用 程 序。
另 一 個(gè) 有 力 的 工 具 叫Web Deployment, 它 可 以 自 動(dòng) 的 產(chǎn) 生HTML文 件, 傳 送ActiveForm 和 其 他 所 必 需 的 文 件 到 客 戶 端,Web Deploymcnt 可 以 支持CAB 的 文 件 格 式(節(jié)約30%), 以 增 加 文 件 下 傳 的 速 度, 除 此 之 外, 它 還 提 供Code Signing 機(jī)制 去 提 高 其 網(wǎng) 絡(luò) 安 全 性。Delphi 還 提 供 了 新 的 編 譯 技 術(shù) ― ―VCL Package 技 術(shù)。
Delphi 3 另 外 值 得 一 提 的 部 分 是 在 客 戶 端 的 開 發(fā) 應(yīng) 用, 主 要 表 現(xiàn) 在 三 個(gè)
主 要 方 面: 數(shù) 據(jù) 分 析, 組 件 制 造 中 心 和 減 小 了 程 序 開 發(fā) 的 難 度。
數(shù) 據(jù) 分 析
正 確 的 數(shù) 據(jù) 分 析, 在 業(yè) 務(wù) 決 策 分 析 上 是 相 當(dāng) 的 重 要。 當(dāng) 大 量 的 數(shù) 據(jù) 放 在 用
戶 面 前 的 時(shí), 用 戶 要 搞 清 這 些 繁 雜 的 數(shù) 據(jù) 背 后 的 真 實(shí) 意 義 可 不 是 件 容 易 的 事。 如
何 將 現(xiàn) 有 的 數(shù) 據(jù) 轉(zhuǎn) 成 有 用 的 信 息, 來(lái) 輔 助 決 策 者 做 出 最 正 確 的 決 擇 呢? 一 般 來(lái) 說(shuō),
運(yùn) 用 圖 形 及 報(bào) 表 形 式 是 最 好 不 過(guò) 的 了,Delphi 提 供 了 三 個(gè) 重 要 的 組
件,Decision Cube,TeeCharts 和Quick Report。
Decision Cube 讓 使 用 者 能 依 據(jù) 個(gè) 人 需 求, 動(dòng) 態(tài) 查 詢 數(shù) 據(jù), 顯 示 多 維 數(shù) 據(jù)和 動(dòng) 態(tài) 圖 表, 產(chǎn) 生 不 同 性 質(zhì) 的 有 用 分 析 結(jié) 果, 充 分 顯 示 數(shù) 據(jù) 背 后 的 相 互 關(guān) 系, 提 供
給 快 策 者 最 快 最 有 用 的 信 息, 幫 助 他 作 出 最 正 確 的 決 定;TeeCharts 是 一 個(gè) 三 維 的可 視 化 圖 表, 使 得 數(shù) 據(jù) 更 容 易 被 理 解:Quick Report 是 一 個(gè) 超 強(qiáng) 的 報(bào) 表 生 成 組 件群, 除 了 提 供 一 般 的 報(bào) 表 外, 還 可 以 產(chǎn) 生HTML 的 報(bào) 表 格 式, 讓 所 產(chǎn) 生 的 報(bào) 表 得 以
在Web 上 發(fā) 布。
組 件 制 造 中 心
企 業(yè) 組 件 的 制 作 基 礎(chǔ) 是 運(yùn) 用ActiveX 的 技 術(shù), 配 合 對(duì)COM 支 持 能 力, 以 一 步到 位ActiveX 的 工 具, 建 立 企 業(yè) 組 件, 提 供 企 業(yè) 內(nèi) 組 件 的 最 大 重 用 能 力。 用Delphi 制 造 出 來(lái) 的 組 件 可 以 運(yùn) 用 于 各 種 不 同 的 開 發(fā) 工 具 中, 例如C++Builder、IntraBuilder、VB 等。
由 于 企 業(yè) 內(nèi) 部 和Intranet 的 需 求 越 來(lái) 越 復(fù) 雜, 應(yīng) 用 程 序 開 發(fā) 越 來(lái) 越 困 難。程 序 開 發(fā) 人 員 迫 切 需 要 一 種 強(qiáng) 有 力 的 快 速 開 發(fā) 工 具。Delphi 大 幅 度 提 升 從 多 層C/S 的 數(shù) 據(jù) 庫(kù) 應(yīng) 用 到Web Client/Server 結(jié) 構(gòu) 的 應(yīng) 用能力, 甚 至 對(duì) 程序 設(shè) 計(jì) 人 員 所 面 臨 的 困 難, 都 細(xì) 心 的 考 慮 并 給 出 了 最 佳 的 解 決 方 案。
三 程 模 型:
1、小數(shù)據(jù)量的瀏覽:瀏覽器 + 應(yīng)用程序(asp/php/jsp) + WEB服務(wù)器 + 遠(yuǎn)程數(shù)據(jù)庫(kù)
2、大數(shù)據(jù)量的操作:瀏覽器+WEB服務(wù)器+應(yīng)用程序服務(wù)器+數(shù)據(jù)庫(kù)
現(xiàn)在好像1,比較流行,君不見到處都招(ASP/PHP/JSP) 程序員。
但我覺得2,的優(yōu)勢(shì)比較明顯:
1.效率高。(經(jīng)過(guò)編譯的)
2.安全性:可靈活加載加密算法,原代碼不可見。
3.可利用各種中間件技術(shù)。
4.有交互功能:(比如一個(gè)拍賣網(wǎng)站,你就不必老是,刷新網(wǎng)頁(yè)了。)(據(jù)說(shuō)新一代的xml語(yǔ)言支持交互功能)
總覺得(ASP/PHP/JSP) 是一個(gè)時(shí)期的過(guò)渡產(chǎn)品(個(gè)人觀點(diǎn))。肯定要被新一代如XML語(yǔ)言技術(shù)所取代。
(未完)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注