核心概念:邏輯架構 vs 實體架構
無論應用型態,始終存在兩種架構:邏輯架構 為分析應用的組織概念;實體架構 為實際部署實現。兩者鮮少完全對應,同一邏輯設計可對應多種實體部署。
五層邏輯架構 (Microsoft N 階準則)
- 資料層:持久化儲存。
- 資料存取層:封裝資料庫操作,提供統一介面。
- 商務邏輯層:實作商務規則與交易邏輯。
- 工作流程層 (商務介面):管理狀態、編排流程,對表示層提供簡單介面。
- 表示層:結果轉換呈現 (XSLT→HTML、語音、行動裝置適配等)。
SQL Server XML 技術套件雙核心
- 資料庫 XML 元件:資料庫原生讀取、處理、輸出 XML (FOR XML、OPENXML、xml 資料型別前身)。
- SQL Server XML ISAPI:透過 HTTP 直接存取資料庫,支援 URL 查詢、範本、XPath。
實體架構演進:負載分配決策
XML 功能允許將更多處理下沉至資料庫層 (預存程序處理 XML),但資料庫延展性最弱。兩大部署模式:
| 模式 | 特徵 | 優勢 | 劣勢 |
| 頭重 (Web 伺服器主導) | 商務邏輯、XML 轉換在 Web 層 | 硬體成本低、水平擴展容易、技能易尋 | 資料庫頻繁往返、網路流量大 |
| 腳重 (資料庫伺服器主導) | 預存程序處理 XML、商務規則 | 減少網路往返、集中邏輯 | DB 授權/硬體昂貴、擴展困難、單點風險 |
主流建議採用頭重架構,除非極特殊高效能需求。
傳統 N 階段實體架構 (無 XML)
Duwamish Online 傳統部署:IIS + ASP/COM+ 實現商務與工作流層,SQL Server 僅供資料存取。此為基準架構,後續將展示 XML ISAPI、資料庫端 XML 處理如何重塑各層職責。
後續主題預告
- 使用 XML ISAPI 直接透過 HTTP 存取資料庫的架構。
- 將商務邏輯下沉至預存程序 (XML 參數/回傳) 的架構。
- 混合模式:Web 服務 + 資料庫 XML 的最佳實踐。