什麼是 COM+?
COM+ 不是 COM 新版本,而是COM 更高層次的應用模型。它整合 COM、DCOM、MTS(Microsoft Transaction Server)三大技術,形成統一、強大的元件應用架構,底層仍基於 COM,但將元件軟體提升至應用層,底層細節交由作業系統處理,與 OS 結合更緊密。
Windows DNA 策略
Windows Distributed interNet Application Architecture:分散式網際應用架構,COM+ 是其核心中介層技術。
COM+ 基礎結構
- COM+ 管理工具:採用 MMC 標準介面,管理元件、應用程式、服務。
- COM+ 目錄:取代註冊表,以資料庫儲存元件設定資訊(隔離性、擴充性更好)。
- 物件環境:每個物件擁有獨立的 Object Context,封裝交易、安全性、同步等運行時屬性。
核心系統服務
1. 佇列元件
- 基於 MSMQ (Microsoft Message Queue Server)。
- 支援同步/非同步透明呼叫:客戶端呼叫即返回,訊息可靠傳遞至伺服器端處理。
- 有效分離客戶端與元件生命週期,提升系統容錯與擴充性。
2. 事件模型
- 改良 COM 可連接物件機制。
- 採用多通道發布/訂閱模式:事件發送者與接收者解耦,支援多對多、跨進程/機器事件路由。
3. 負載平衡
- 動態負載平衡,透明於客戶端與元件程式碼。
- 無需撰寫程式碼,設定即可啟用。
4. 記憶體內資料庫 (IMDB)
- 全新服務,儲存應用程式非持久狀態資訊。
- 優化查詢/存取效能,可快取後端資料庫資料表或應用暫時資料。
5. 其他服務
- 交易特性:分散式交易(兩階段提交),ACID 特性。
- 安全性:角色基礎存取控制 (RBAC),整合 Windows 安全模型。
- 物件集區:重用昂貴物件實例,減少建構/解構開銷。
- 管理服務:應用程式部署、監控、診斷。
COM+ 應用優勢
- 開發者專注業務邏輯,系統服務(交易、安全、同步、資源管理)由 COM+ 執行環境自動提供。
- 支援多層架構:表現層、業務層、資料層分離,層間透過 COM 介面通訊,進程/機器透明。
- Web 應用整合:ASP/ASP.NET 可建立 COM+ 物件(
Server.CreateObject),享受交易、安全、物件集區等服務。
總結
COM+ 將 COM 元件技術提升為企業級應用平台,提供交易、訊息佇列、事件、負載平衡、記憶體資料庫、安全、物件集區等系統級服務,大幅簡化分散式應用開發,是 Windows DNA 架構的核心中介層。