分佈式事務處理

分佈式事務處理


張健姿
01-6-22 下午 04:48:27


美 國Sybase 公 司 於 今 年 七 月 發 布 了PowerBuilder 6.0 的Beta 版, 正 式 的 版 本也 將 於 不 久 的 將 來 推 出, 其 中 對 分 布 式 事 務 處 理 的 支持 是 新 版 本 中 增 強 得 最 多 的 功 能。 早 在1995 年,PowerSoft 公司 就 提 出 了 在“ 分 布 式 事 務” 方 面 的 發 展 戰 略, 並 在1996 年 發 布 的PowerBuilder 5.0 中 支 持 了 分 布 式 事 務 處 理 的 功 能,筆 者 在 以 前 的 講 座 中 也 曾 經 討 論 過 有 關 如 何 創 建 分佈 式PowerBuilder 應 用 的 問 題, 但 是 得 到 讀 者 反 饋 意 見 卻 很少。 以 往, 一 個 使 用PowerBuilder 開 發 客 戶/ 服 務 器 應 用 軟 件的 程 序 員 是 較 少 會 想 到 使 用 分 布 式 事 務 來 分 割 應 用的, 因 此 一 般 的 用 戶 對 分 布 式 事 務 的 概 念 和 意 義 也 不甚 了 解, 這 裏 我 們 來 進 一 步 討 論 一 下 分 布 式 事 務 處 理及 其 應 用。
三 級 體 系 結 構
首 先我 們 介 紹 三 級 體 系 結 構 這 一 概 念。 所 謂 級 是 指 一 種 功能 劃 分, 我 們 以 往 所 開 發 的 數 據 庫 應 用 軟 件 一 般 是 基於 客 戶/ 服 務 器 結 構 的, 我 們 稱 之 爲 兩 級 體 系 結 構。 也就 是 說 整 個 系 統 可 以 分 成 兩 個 功 能 塊, 第 一 級 包 括 了軟 件 的 應 用 層 和 表 現 層, 駐 留 於 客 戶 端。 我 們 使 用PowerBuilder 開 發 出 的 應 用 主 要 用 於 第 一 級, 運 行 於 客 戶 端。 第 二級 包 含 數 據 庫 和 服 務 器 的 組 件。 一 個 基 於SQL 的 數 據 庫管 理 系 統 一 般 安 裝 在 服 務 器 端, 應 用 軟 件 在 服 務 器 端進 行 的 操 作 主 要 是 數 據 存 儲 和 檢 索。 在 兩 級 模 式 中 會有 一 些 應 用 邏 輯 以 存 儲 過 程 和 觸 發 器 的 形 式 存 儲 在服 務 器 端, 以 優 化 服 務 器 的 性 能, 但 絕 大 多 數 的 應 用邏 輯 是 放 在 客 戶 端 的。
三 級模 式 是 將 系 統 分 爲 有 三 個 不 同 的“ 級”: 表 現 級, 商業 邏 輯 級 和 數 據 訪 問 級。 表 現 級 是 處 理 用 戶 界 面 的 功能; 數 據 訪 問 級 是 數 據 源, 在 通 常 狀 況 下 指 數 據 庫;商 業 邏 輯 級 是 新 增 加 的 一 級, 指 程 序 中 作 出 智 能 決 策的 那 一 部 分 功 能。 在 早 期 的 應 用 中, 這 一 部 分 的 功 能並 不 十 分 復 雜, 一 般 將 其 放 在 表 現 級 即 可, 另 有 少 量以 存 儲 過 程 或 觸 發 器 的 形 式 放 在 數 據 訪 問 一 級, 而 隨着 軟 件 工 程 的 發 展, 軟 件 的 日 益 復 雜, 軟 件 中 功 能 增加 最 多 的 就 是 在 這 一 級。 一 個MIS 系 統 的 功 能 由 早 先 的對 某 一 個 表 的 簡 單 查 詢, 發 展 到 涉 及 多 個 表 的 分 類 統計 求 和, 根 據 復 雜 的 公 式 分 析 計 算, 進 行 決 策 支 持等, 如 將 這 些 增 強 的 功 能 仍 全 部 放 置 在 表 現 級, 會 使得 客 戶 機 越 來 越 不 堪 重 負, 因 此 就 有 人 提 出 在 系 統 中將 商 業 邏 輯 分 離 出 來, 單 獨 形 成 了 一 級, 這 就 形 成 了三 級 結 構。 隨 着 三 級 結 構 的 進 一 步 發 展, 一 般 總 是 把運 行 在 商 業 邏 輯 級 的 軟 件 編 寫 成 爲 了 一 個 爲 客 戶 機所 調 用, 能 夠 完 成 一 定 的 邏 輯 功 能 的 專 用 軟 件, 同 數據 庫 服 務 器 相 區 別, 我 們 稱 之 爲 應 用 服 務 器。 在 一 個網 絡 中, 可 以 有 着 多 個 不 同 功 能 的 應 用 服 務 器, 爲 客戶 機 或 其 它 的 應 用 服 務 器 提 供 專 業 服 務, 這 樣, 三 級結 構 就 發 展 成 爲 了N 級, 這 就 是 所 謂 的 分 布 式 計 算 方式。
分 布式 計 算 的 優 勢:
採 用 分 布 式 計 算 有 着 多方 面 的 技 術 優 勢, 包 括:
邏 輯封 裝 性: 這 是 分 布 式 模 式 中 最 具 誘 惑 力 的 特 徵, 這 種模 式 的 根 基 在 於 將 以 往 全 部 由 客 戶 機 完 成 的 事 務 邏輯 中 的 一 部 分 從 客 戶 端 分 開。 當 使 公 司 需 要 動 態 改 變一 個 應 用 軟 件 的 商 業 邏 輯 規 則 時, 只 要 改 變 一 個 應 用服 務 器 的 程 序 即 可, 而 不 需 要 更 改 客 戶 端 用 戶 界 面,這 樣 就 無 需 中 斷 用 戶, 爲 最 終 用 戶 重 新 發 放 新 的 界 面軟 件 或 親 自 上 門 爲 其 安 裝 調 試 並 重 新 培 訓 用 戶, 提 高了 工 作 效 率。 這 種 多 級 模 式 對 於 需 經 常、 快 速 改 變 應用 程 序 的 行 業 很 有 幫 助。 瘦 客 戶 機: 這 種 類 型 的 應 用在 運 行 時 最 顯 著 的 特 點 就 是 減 少 甚 至 消 除 了 傳 統 的兩 級 體 系 結 構 中, 以 客 戶 機 爲 中 心 或 稱 爲“ 肥 客 戶” 的 模 式, 減 輕 了 客 戶 機 的 功 能 負 擔, 使 其 消 腫 成 爲了“ 瘦 客 戶”。“ 肥 客 戶” 是 用 戶 感 到 十 分 苦 惱 的 事情, 用 戶 爲 使 用 更 強 功 能 的 軟 件, 就 必 須 付 出 高 昂 的維 護 費 用, 不 斷 地 爲 個 人 電 腦 的 軟 硬 件 設 備 升 級。 近日 流 行 的NC 也 正 是 看 到 一 般 用 戶 在 維 護PC 機 運 行 時 負擔 過 重, 而 提 出 通 過 網 絡 將 一 部 分 的 任 務 交 給 了 服 務器 完 成。 這 兩 種 方 法 有 着 相 通 之 處。
性能: 性 能 的 提 高 是 三 級 模 式 最 終 被 用 戶 採 用 的 主 要 原因。 將 復 雜 的 應 用 和 商 業 邏 輯 分 離 出 來 由 專 門 的 一 臺應 用 服 務 器 來 處 理, 既 可 以 提 高 應 用 的 執 行 速 度, 也可 以 減 少 網 絡 調 用 的 通 訊 量。 不 過 這 種 性 能 提 高 是 有一 定 代 價 的。 這 就 是 開 發 時 要 將 應 用 邏 輯 分 割 爲 客 戶端 邏 輯 和 服 務 器 端 邏 輯, 這 就 增 加 了 設 計 的 復 雜 性。
安 全性 管 理: 在 分 布 式 計 算 模 式 中, 由 於 所 有 的 商 業 邏 輯都 駐 留 在 服 務 器 端, 信 息 管 理 部 門 就 可 以 十 分 方 便 地監 控 服 務 器 的 運 行 情 況, 很 容 易 地 控 制 訪 問 服 務 器 以及 與 服 務 器 應 用 打 交 道 人 員 的 數 量。 這 可 以 大 大 簡 化管 理 員 對 系 統 的 管 理, 減 輕 系 統 維 護 的 工 作 量, 並 確保 系 統 的 可 靠 運 行。
分 布式 事 務 處 理 最 廣 泛 和 最 成 功 的 應 用 當 數Internet/Intranet 技術 了, 盡 管 許 多 人 並 不 意 識 到Internet 就 是 一 個 三 級 體 繫結 構 的 代 表。 隨 着Internet/Intranet 使 用 的 不 斷 深 化, 用 戶 對Web 服 務 器 所 查 詢 的 信 息 就 不 只 局 限 於 以 文 件 方 式 存 放在 服 務 器 端 的 靜 態 的 超 文 本 文 件 了。 這 時 我 們 需 要 藉助 關 系 型 數 據 庫 來 存 放 變 化 的 數 據, 並 在Web 服 務 器 與數 據 庫 服 務 器 之 間 以JDBC、CGI 等 協 議 建 立 起 兩 者 的 連接, 使Web 服 務 器 能 夠 實 現 對 數 據 庫 的 即 席 查 詢, 並 將結 果 返 回 瀏 覽 器。 我 們 可 以 發 現, 在 這 樣 一 個Intranet 結構 中, 瀏 覽 器--Web 服 務 器-- 數 據 庫 服 務 器 就 分 別 對 應 於客 戶 端-- 應 用 服 務 器-- 數 據 庫 服 務 器 三 級 體 系 結 構 中的 三 個 環 節,Intranet 就 是 一 個 典 型 的 三 級 體 系 結 構 的 應用。 因 此, 我 們 可 以 認 爲,Internet 模 式 的 技 術 優 勢 如 用戶 界 面 簡 單, 管 理 人 員 易 於 維 護 等 也 正 是 多 級 計 算 方式 的 優 勢 所 在。 此 外, 由 於PowerBuilder 支 持 分 布 式 事 務 處理, 這 就 使 得PowerBuilder 很 容 易 地 支 持 了 作 爲 分 布 式 事 務的 特 例---Internet 的 開 發 了。
分 布 式 應 用 的 開 發
盡 管分 布 式 計 算 是 一 個 較 新 的 概 念, 但 是 使 用PowerBuilder 開 發分 布 式 應 用 卻 十 分 簡 單, 只 要 您 會 使 用PowerBuilder 中 的 用戶 自 定 義 的 不 可 視 對 象, 您 就 會 很 快 地 掌 握 分 布 式PowerBuilder 的 開 發。 在PowerBuilder 中, 應 用 服 務 器 一 端 的 功 能 都 是 通過 不 可 視 用 戶 對 象 實 現 的, 開 發 人 員 可 以 將PowerBuilder 的自 定 義 用 戶 的 對 象 放 於 應 用 服 務 器 一 側, 被 稱 作 遠 端對 象, 在 客 戶 端 放 置 該 用 戶 對 象 的 代 理 對 象。 此 外,在 服 務 器 一 側 有 一 個 新 的transport 對 象 用 於 監 聽 任 何 一個 用 戶 或 其 它 應 用 服 務 器 的 請 求, 在 客 戶 端 有 一 個connection 對 象 用 以 建 立 同 遠 端 對 象 的 連 接。 客 戶 端 的 應 用 程 序通 過connection 對 象 連 接 應 用 服 務 器, 連 接 建 立 後, 客 戶端 的 應 用 就 可 以 象 調 用 本 地 對 象 一 樣 調 用 應 用 服 務器 上 的 對 象 函 數 了。 當 然, 我 們 這 裏 指 的 用 戶 可 以 是一 般 意 義 上 的 客 戶, 也 可 以 指 應 用 服 務 器 以 一 個 客 戶的 身 份 調 用 其 它 應 用 服 務 器。
遠 端的 用 戶 對 象 中 的 商 業 邏 輯 可 以 是 採 用PowerScript 編 寫 的,作 爲 一 個 不 可 視 用 戶 對 象 的 特 例, 這 個 對 象 可 以 調 用任 何 函 數 或 使 用 數 據 庫 命 令, 它 也 可 以 使 用 不 可 視 的DataStore 來 封 裝 數 據 庫 訪 問,PowerBuilder 5.0 可 以 支 持 除 可 視 對 象 以外 的 所 有 的 數 據 類 型。 在 客 戶 端 使 用 這 種 形 式 調 用 就象 在 使 用 存 儲 過 程 一 樣 將 參 數 通 過 網 絡 傳 遞 給 服 務器, 服 務 器 的 運 行 結 果 返 回 客 戶 端。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章