国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Borland的MIDAS技術(shù)

2019-11-18 18:51:01
字體:
供稿:網(wǎng)友
Borland 自 從 推 出 了Delphi 之 后, 深 受 程 序 設(shè) 計 人 員 的 青 睞。Delphi 的 每 一 個 新 版 本 都 給 用 戶 提 供 了 更 新、 更 好 的 功 能。 例 如,Delphi 1.0 版 本 給 用 戶 提 供 了 一 種 全 新 的 可 視 化 編 程 環(huán) 境, 使 用 戶 能 快 速 開 發(fā)Windows3.1 的 應(yīng) 用 程 序。Delphi 2.0 中 增 加 了 數(shù) 據(jù) 模 塊 (Data Module) 等 多 種 高 效 的 數(shù) 據(jù) 重 用 功 能。 現(xiàn) 在 第 三 代 版 本Delphi 3 ― ― 多 層 結(jié) 構(gòu) 的32 位 快 速 開 發(fā) 工 具 又 給 開 發(fā) 人 員 帶 來 了 全 新 的 多 層 結(jié) 構(gòu) 概 念。

---- 早 在1980 年 第 一 個 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 出 現(xiàn) 時, 數(shù) 據(jù) 庫 的 世 紀 就 已 悄 然 開 始。 那 時 的 觀 念 是 由 應(yīng) 用 程 序 控 制 關(guān) 系 型 數(shù) 據(jù) 庫, 這 種 數(shù) 據(jù) 處 理 的 模 式 一 般 稱 為 單 層 結(jié) 構(gòu)(1 -Tier)。 由 于 這 種 結(jié) 構(gòu) 的 數(shù) 據(jù) 庫 程 序 占 用 計 算 機 資 源 較 多, 于 是 在80 年 代 中 期, 數(shù) 據(jù) 庫 應(yīng) 用 開 始 轉(zhuǎn) 向 C/S 結(jié) 構(gòu), 也 就 是 所 謂 的 兩 層 結(jié) 構(gòu)(2 -Tier)。 這 種 結(jié) 構(gòu) 在 近 十 年 內(nèi) 不 但 得 到 了 廣 泛 的 運 用, 而 且 相 當 成 功。 然 而, 在 兩 層C/S 結(jié) 構(gòu) 成 功 的 背 后 卻 逐 漸 暴 露 出 其 構(gòu) 架 上 的 缺 陷。 其 中 最 明 顯 的 問 題 表 現(xiàn) 在 應(yīng) 用 程 序 的 伸 縮 性 和 維 護 方 面。 例 如, 一 個 跨 國 企 業(yè) 如 何 把 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 及 其 應(yīng) 用 程 序 分 散 到 十 分 緩 慢 的 網(wǎng) 絡(luò) 上, 如 何 控 制 數(shù) 據(jù) 的 統(tǒng) 一 性 和 完 整 性; 一 旦 應(yīng) 用 程 序 有 任 何 改 動, 維 護 人 員 就 必 須 修 改 每 一 個 客 戶 端 上 的 應(yīng) 用。

---- 新 一 代 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 在 傳 統(tǒng) 的 C/S 結(jié) 構(gòu) 中, 增 加 了 應(yīng) 用 程 序 服 務(wù) 器 ― ― 這 種 新 的 結(jié) 構(gòu) 就 是 所 謂 的n -Tier 或Multi -Tier。 應(yīng) 用 程 序 服 務(wù) 器 包 括 了 統(tǒng) 一 的 界 面、 業(yè) 務(wù) 規(guī) 則 的 制 定 和 數(shù) 據(jù) 處 理 邏 輯 的 規(guī) 定 等 等。 多 層 應(yīng) 用 服 務(wù) 技 術(shù) 允 許 分 割 應(yīng) 用 程 序, 本 地 計 算 機 上 無 須 安 裝 一 整 套 數(shù) 據(jù) 庫 工 具, 就 可 以 在 另 一 臺 機 器 上 存 取 數(shù) 據(jù)。 同 時 它 允 許 對 業(yè) 務(wù) 規(guī) 則 和 進 程 進 行 集 中 管 理, 并 在 整 個 網(wǎng) 絡(luò) 上 分 發(fā)、 實 現(xiàn) 進 程 負 載 的 動 態(tài) 調(diào) 節(jié)。

---- 眾 所 周 知, 開 發(fā) 服 務(wù) 器 級 的 應(yīng) 用 程 序 要 比 開 發(fā) 單 純 應(yīng) 用 級 的 程 序 困 難 得 多, 有 很 多 系 統(tǒng) 服 務(wù) 需 要 考 慮。 如 果 沒 有 一 種 好 的 工 具, 對 于 大 多 數(shù) 程 序 員 來 說, 開 發(fā) 一 個 復(fù) 雜 的 多 層 結(jié) 構(gòu) 應(yīng) 用 只 能 是 一 種 理 想。 為 了 使 這 種 理 想 方 便 地 實 現(xiàn),Borland 公 司 推 出 了 開 發(fā) 多 層 結(jié) 構(gòu) 所 需 的 技 術(shù) 和 工 具 集 ― ―MIDAS。

MIDAS ― ― 多 層 分 布 式 應(yīng) 用 程 序 服 務(wù) 器---
  - 對MIDAS 這 個 名 字 一 般 有 兩 種 理 解。MIDAS 是Multi -tier Distributed application Services Suite( 多 層 分 布 式 應(yīng) 用 程 序 服 務(wù) 包) 的 縮 寫, 這 也 詮 釋 了MIDAS 技 術(shù) 的 實 質(zhì)。 也 許 因 為 這 個 本 義 太 長, 很 多 人 更 愿 意 把 它 理 解 成Multi -tier Made Easy, 這 也 是MIDAS 的 作 用。 多 層 計 算(Multi -tiered computing) 是 業(yè) 界 對 此 類 技 術(shù) 通 用 的 術(shù) 語, 而Multi -tier 是Borland 公 司 采 用 的 技 術(shù) 術(shù) 語。Borland 典 型 的 三 層 結(jié) 構(gòu) 如 下: 第 一 層 是 數(shù) 據(jù) 庫 服 務(wù) 器, 第 二 層 是 應(yīng) 用 服 務(wù) 器, 第 三 層 是 瘦 客 戶 機。

---- 數(shù) 據(jù) 庫 服 務(wù) 器 是 諸 如InterBase、Oracle、Sybase、MS SQL Server 等 數(shù) 據(jù) 庫, 應(yīng) 用 服 務(wù) 器 和 瘦 客 戶 機 由Delphi 建 立。 大 多 數(shù) 情 況 下, 數(shù) 據(jù) 庫 訪 問 軟 件( 例 如BDE, SQL *NET 等 等) 與 應(yīng) 用 服 務(wù) 器 運 行 在 同 一 臺 機 器 上。

---- 應(yīng) 用 服 務(wù) 器 主 要 基 于Borland 的 分 布 式 數(shù) 據(jù) 技 術(shù), 至 少 包 括 兩 方 面 的 內(nèi) 容:

---- 1. 內(nèi) 置 在Delphi 組 件 中;

---- 2. OLEnterPRise 產(chǎn) 品 對 分 布 式 計 算 和 負 載 平 衡 提 供 超 強 的 支 持。

---- 內(nèi) 置 在Delphi 組 件 中 使 你 能 很 容 易 地 使 用DCOM、Socket 或 OLEnterprise 連 接 兩 臺 機 器, 并 在 兩 者 之 間 來 回 傳 輸 數(shù) 據(jù) 集。OLEnterprise 工 具 提 供DCOM 的 選 擇 方 法 簡 化 了 連 接 兩 臺 機 器 的 任 務(wù), 尤 其 是 對 兩 臺 運 行Windows 95 的 機 器 更 是 如 此。OLEnterprise 使 用 戶 能 訪 問Object Broker, 它 允 許 在 幾 個 服 務(wù) 器 中 隨 機 分 配 任 務(wù) 負 載。 此 外, 還 可 以 在 幾 臺 機 器 上 裝 載 服 務(wù) 器 工 具, 每 次 實 行 連 接 時,Broker 會 選 擇 其 中 一 臺 機 器。 例 如, 如 果 你 有100 個 客 戶 端 和3 臺 服 務(wù) 器,Object Broker 會 隨 機 分 配 負 載 給3 臺 服 務(wù) 器, 每 臺 服 務(wù) 器 大 約 有33 個 客 戶 端。Broker 會 在 服 務(wù) 器 異 常 關(guān) 閉 時 提 供 支 持。 編 寫 幾 行 代 碼 可 以 提 供 服 務(wù) 器 錯 誤 處 理, 把 客 戶 端 從 出 現(xiàn) 問 題 的 服 務(wù) 器 切 換 到 另 一 臺 正 常 運 行 的 服 務(wù) 器。 另 外Broker 不 會 試 圖 把 一 個 新 的 客 戶 端 連 接 到 已 經(jīng) 關(guān) 閉 的 服 務(wù) 器 上, 相 反 它 會 自 動 連 接 到 其 中 一 臺 正 在 運 行 的 服 務(wù) 器 上。

---- 分 布 式 數(shù) 據(jù) 集 可 以 基 于DCOM, 在 客 戶 端 沒 有 任 何 數(shù) 據(jù) 庫 工 具 的 情 況 下 讀 取 遠 程 數(shù) 據(jù)。 有 些 用 戶 可 能 會 有 這 樣 的 疑 問: 通 過 瀏 覽 器 和Web 服 務(wù) 器 也 能 在 客 戶 端 沒 有 任 何 數(shù) 據(jù) 庫 工 具 的 情 況 下 觀 察 遠 程 機 器 上 的 數(shù) 據(jù) 集, 為 什 么 還 要 采 用 分 布 式 數(shù) 據(jù) 集 呢 ? 這 是 因 為 瀏 覽 器 的 功 能 遠 不 如Borland 分 布 式 數(shù) 據(jù) 集 的 功 能。 如 果 沒 有 一 種 強 大 的 第 三 方 工 具( 如IntraBuilder), 要 增 強 瀏 覽 器 的 約 束 條 件, 或 者 在 瀏 覽 器 中 加 入 或 建 立 一 個 一 到 多 的 關(guān) 系 表 是 非 常 困 難 的。 但 這 些 功 能 都 可 以 在Delphi 的 多 層 應(yīng) 用 程 序 中 簡 單 地 實 現(xiàn),Delphi 的 編 譯 應(yīng) 用 程 序 比 基 于HTML 的 應(yīng) 用 更 快 速、 更 易 于 應(yīng) 答。

---- 分 布 式 數(shù) 據(jù) 集 允 許 在 客 戶 端 的 應(yīng) 用 中 使 用 所 有 標 準 的Delphi 組 件, 包 括 數(shù) 據(jù) 庫 工 具, 但 是 客 戶 端 無 須 裝 載BDE、ODBC 或 者 任 何 數(shù) 據(jù) 庫 類 庫 ( 例 如Oracle SQL *NET、 Sybase CT -Lib 等 等) 。 當 然 網(wǎng) 絡(luò) 上 的 某 些 地 方 需 要BDE 或 類 似 的 引 擎, 但 是 客 戶 端 無 須 裝 載。 簡 言 之, 現(xiàn) 在 只 需 要 一 套 服 務(wù) 器 端 的 數(shù) 據(jù) 庫 工 具, 每 一 個 客 戶 端 就 可 以 使 用 它。

---- 分 布 式 數(shù) 據(jù) 集 是 縮 減 網(wǎng) 絡(luò) 通 信 量 的 一 種 方 法。 從 服 務(wù) 器 端 下 載 數(shù) 據(jù) 后, 在 客 戶 端 操 作 數(shù) 據(jù) 而 無 須 初 始 化 任 何 網(wǎng) 絡(luò) 交 易, 除 非 需 要 更 改 服 務(wù) 器 端。 這 意 味 著 在 不 啟 動 網(wǎng) 絡(luò) 交 易 的 情 況 下, 可 以 編 輯、 插 入、 刪 除 多 個 記 錄。 更 改 服 務(wù) 器 數(shù) 據(jù) 時, 可 以 在 預(yù) 先 選 定 的 時 間 段 內(nèi) 把 多 個 數(shù) 據(jù) 包 送 到 網(wǎng) 絡(luò) 上。

---- 另 外, 當 客 戶 端 從 網(wǎng) 絡(luò) 上 斷 開 時, 仍 然 可 以 利 用“briefcase model" 訪 問 數(shù) 據(jù)。 其 操 作 步 驟 如 下: 先 把 一 個 遠 程 數(shù) 據(jù) 庫 復(fù) 制 到 磁 盤 上, 然 后 關(guān) 閉 計 算 機, 再 重 新 引 導(dǎo) 它、 斷 開 網(wǎng) 絡(luò) 連 接、 編 輯 數(shù) 據(jù), 接 著 重 新 聯(lián) 網(wǎng) 并 修 改 數(shù) 據(jù) 庫。 所 有 這 些 都 可 以 在 沒 有 大 型 數(shù) 據(jù) 庫 工 具 的 客 戶 端 完 成。 這 說 明 為 了 操 作 數(shù) 據(jù), 客 戶 端 不 必 每 時 每 刻 都 與 服 務(wù) 器 連 接。 這 對 于 膝 上 型 計 算 機 用 戶 和 想 要 保 持 數(shù) 據(jù) 庫 通 信 量 最 小 的 站 點 是 非 常 理 想 的。

---- MIDAS 技 術(shù) 的 另 一 方 面 是 提 供 訪 問 數(shù) 據(jù) 庫 約 束 條 件。 當 從 服 務(wù) 器 上 卸 載 數(shù) 據(jù) 時, 可 以 同 時 卸 載 一 套 自 動 執(zhí) 行 的 約 束 條 件。 約 束 條 件 可 以 幫 助 程 序 員 確 保 用 戶 輸 入 合 法 的 數(shù) 據(jù)。 當 重 新 連 到 網(wǎng) 絡(luò) 上 時, 數(shù) 據(jù) 可 以 被 正 確 地 修 改。 如 果 你 在 更 改 數(shù) 據(jù) 庫 時 偶 然 發(fā) 生 了 一 個 錯 誤, 那 么 內(nèi) 建 的 機 制 會 幫 助 程 序 員 報 告 和 處 理 錯 誤。 例 如, 如 果 另 一 個 用 戶 已 經(jīng) 更 改 了 你 正 試 圖 更 改 的 那 條 記 錄, 那 么 你 將 看 到 一 個 提 示 你 如 何 處 理 的 選 項 表。 在Delphi Object Repository 中 的 一 個 預(yù) 建 表 單 可 以 使 你 的 應(yīng) 用 程 序 簡 單 地 實 現(xiàn) 錯 誤 處 理。

---- Borland 多 層 計 算 的 另 一 個 重 要 功 能 是 將 數(shù) 據(jù) 庫 的 負 載 分 散 到 多 個 服 務(wù) 器 上。 這 樣, 一 旦 發(fā) 生 錯 誤 也 能 恢 復(fù)。 概 括 起 來 講, 這 些 技 術(shù) 存 在 于 三 種Broker 中:

---- 第 一 種 叫 做Remote Data Broker,Remote Data Broker 結(jié) 構(gòu) 的 精 髓 是 讓 每 一 個 客 戶 端 不 再 需 要BDE, 取 而 代 之 的 是 一 個 中 央 化 的BDE, 以 集 中 管 理 的 方 式 降 低 每 一 個 客 戶 在BDE 上 所 需 的 開 銷 和 復(fù) 雜 度。

---- 第 二 種 叫 做Constraint Broker, 它 所 扮 演 的 角 色 是 保 證 所 有 客 戶 數(shù) 據(jù) 的 一 致 性 及 數(shù) 據(jù) 的 完 整 性。

---- 第 三 種 是Business Object Broker, 它 的 目 的 是 給 一 些 關(guān) 鍵 性 的 商 業(yè) 應(yīng) 用 程 序 提 供 一 個 快 速 且 可 信 賴 的 使 用 環(huán) 境。 為 了 滿 足 這 種 高 層 次 的 要 求,Business Object Broker 會 自 動 地 將 應(yīng) 用 程 序 做 適 當 的 劃 分, 并 復(fù) 制 重 要 的 業(yè) 務(wù) 規(guī) 則 到 每 一 個 區(qū) 間, 以 達 到 速 度 的 要 求。

實 現(xiàn) 工 具----
Borland 提 供 了 四 種Delphi 工 具 幫 助 用 戶 實 現(xiàn) 分 布 式 數(shù) 據(jù) 集。 前 兩 個 在 服 務(wù) 器 端:

---- 1. 遠 程 數(shù) 據(jù) 模 塊 像 標 準 數(shù) 據(jù) 模 塊 一 樣, 它 不 但 可 以 將 數(shù) 據(jù) 傳 播 到 當 前 的 應(yīng) 用 中, 而 且 會 傳 到 網(wǎng) 絡(luò) 上 的 特 定 區(qū) 域 中。 特 別 是 它 們 把 簡 單 的 數(shù) 據(jù) 模 塊 轉(zhuǎn) 化 成COM 對 象, 允 許 你 通 過DCOM 訪 問 遠 程 服 務(wù) 器 上 的 數(shù) 據(jù) 庫。

---- 2. TProvider 組 件 就 像 可 以 駐 留 在 標 準 數(shù) 據(jù) 模 塊 中 的TTable 組 件 一 樣, 駐 留 在 遠 程 數(shù) 據(jù) 模 塊 中, 不 同 的 是TProvider 在 網(wǎng) 絡(luò) 上 發(fā) 布 數(shù) 據(jù) 表。TTable 和TQuery 組 件 都 含 有Provider 屬 性。 但 是 如 果 把 它 作 為 一 個 獨 立 的 組 件 訪 問, 會 有 更 大 的 靈 活 性 和 力 量。 特 別 是 把TProvider 組 件 與TTable 或TQuery 組 件 建 立 連 接, 網(wǎng) 絡(luò) 上 的 其 它 程 序 就 可 通 過DCOM 從TTable 或TQuery 訪 問 數(shù) 據(jù)。 遠 程 數(shù) 據(jù) 模 塊 的 任 務(wù) 就 是 使 客 戶 端 訪 問 服 務(wù) 器 上 特 定 的Provider。

---- 在 客 戶 端 可 以 利 用 兩 個 組 件 訪 問 服 務(wù) 器 提 供 的 數(shù) 據(jù):

---- 1. TRemoteServer 組 件 把 客 戶 端 連 到 服 務(wù) 器 上, 特 別 是 連 到 服 務(wù) 器 的 遠 程 數(shù) 據(jù) 模 塊 上。 更 明 確 地 說 是 連 到 遠 程 數(shù) 據(jù) 模 塊 支 持 的COM 接 口 上。TRemoteServer 能 瀏 覽 可 用 的 服 務(wù) 器, 一 旦 找 到 服 務(wù) 器,TRemoteServer 就 可 與 之 連 接。

---- 2. TClientDataSet 與TRemoteServer 組 件 連 接 在 一 起, 在 服 務(wù) 器 上 就 得 到 一 個 特 定 的Provider 。 簡 言 之,TClientDataSet 組 件 扮 演 了 與TQuery 或 TTable 同 樣 的 角 色, 只 不 過 它 是 為 遠 程 站 點 提 供 數(shù) 據(jù) 服 務(wù)。 如 同 在 許 多 標 準 的Delphi 應(yīng) 用 程 序 中 傳 統(tǒng)TDatabase、 TTable、 TDataSource、TDBGrid 組 件 的 配 置 結(jié) 構(gòu) 一 樣, 在 遠 程 數(shù) 據(jù) 集 中 使 用TRemoteServer、TClientDataSet、TDataSource 和 TDBGrid 組 件, 它 們 的 配 置 只 是 稍 有 不 同。 在 這 個 新 的 方 案 中,TRemoteServer 的 作 用 類 似 于TDatabase 的 作 用, 而TClientDataSet 組 件 與TTable 或TQuery 組 件 所 起 的 作 用 又 極 其 相 似。

結(jié) 論----
MIDAS 為 多 層 結(jié) 構(gòu) 的 應(yīng) 用 開 發(fā) 提 供 了 強 大 的 功 能, 這 使 得 開 發(fā) 者 再 也 無 需 為 越 來 越 龐 大 的 數(shù) 據(jù) 及 應(yīng) 用 發(fā) 愁 了。 在Delphi 3.0 Client/Server 版 中 打 包 了MIDAS 的 開 發(fā) 版, 它 可 以 用 于 多 層 結(jié) 構(gòu) 應(yīng) 用 的 開 發(fā) 及 調(diào) 試, 在 應(yīng) 用 分 布 時, 還 需 要 另 外 購 買Borland MIDAS for Delphi。 MIDAS 是Borland 公 司 金 門 結(jié) 構(gòu) 系 列 產(chǎn) 品 的 一 部 分。 在 不 久 的 將 來, 金 門 結(jié) 構(gòu) 的 其 它 開 發(fā) 工 具 如:C + +Builder、JBuilder 中 也 將 打 包MIDAS, 以 幫 助 用 戶 用C + +、java 語 言 進 行 多 層 結(jié) 構(gòu) 應(yīng) 用 程 序 的 開 發(fā)。

上一篇:控制Windows分辨率

下一篇:講述如何開發(fā)一個控件,很有價值(七)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 汤原县| 定日县| 张家口市| 松江区| 达日县| 紫阳县| 新郑市| 门源| 南宁市| 高陵县| 琼海市| 阿拉善右旗| 原阳县| 南召县| 泸溪县| 微博| 晴隆县| 靖安县| 天气| 平谷区| 阳春市| 女性| 剑川县| 芦溪县| 襄汾县| 洛隆县| 武川县| 新安县| 鄂州市| 平山县| 宜阳县| 潮州市| 马尔康县| 柳河县| 依安县| 清水河县| 资溪县| 曲周县| 淮阳县| 咸丰县| 宁国市|