COM 的雙重特性
- 物件特性:封裝、繼承、多型 → 設計貼近現實世界。
- 元件特性:二進制級整合與重用、獨立生產/取得/配置、介面自我描述且不變。
元件化程式設計方法
繼承並發展 OO 設計方法,強調真正的軟體重用與高度互操作性。
MTS (Microsoft Transaction Server) 架構
MTS 為分散式應用提供元件運行與配置環境,核心角色:
- MTS 物件:運行於 MTS 環境的 COM 元件實例,實作業務邏輯。
- MTS 服務進程:載入一或多個 MTS 物件(皆為進程內元件)。
- MTS 客戶:基底客戶(外部應用)或另一 MTS 物件(相對概念)。
- 資源管理器:管理持久資料,使用 DTC (Distributed Transaction Coordinator) 兩階段提交實現 ACID 交易。
- 資源分派器:ODBC 資源分派器、共享屬性管理器 (SPM)。
MTS 核心服務
| 服務 | 說明 |
| 物件管理器 | 統一環境管理元件;JIT 啟動:物件建立延遲至首次呼叫,釋放後可回收 |
| 安全管理器 | 角色基礎安全模型 (RBAC),靈活配置角色成員 |
| 交易管理器 | 基於 DTC 實現分散式交易,簡化業務邏輯代碼 |
MTS 程式設計概念
- 交易:一組資料操作的整體,具 ACID 特性(原子性、一致性、隔離性、持久性)。
- MTS 物件:每個物件擁有環境物件,可透過
GetObjectContext 存取交易、安全、屬性等服務。
- 安全性:推薦角色基礎模型,角色定義使用者邏輯群組。
多層軟體架構
+------------------+
| Presentation | (ASP, VB Forms, Win32 Apps)
+------------------+
↓ COM/DCOM 介面
+------------------+
| Business Logic | (MTS 物件,運行於 MTS 服務進程)
| (MTS Components)| 享受 JIT、交易、安全、資源分派
+------------------+
↓ COM/DCOM 介面
+------------------+
| Data Layer | (SQL Server, Oracle, Resource Managers)
+------------------+
- 層間透過 COM 介面通訊,進程/機器透明。
- MTS 為業務層提供統一配置管理環境,封裝系統級服務。
- 優點:可伸縮、可配置、靈活、可靠、交易/安全模型內建、跨平台潛力、軟體整合思想。
Web 應用整合
- ASP:伺服器端腳本環境,透過
Server.CreateObject 建立 COM 物件 (Active Server Object)。
- 複雜業務規則封裝於 ASP 元件 (COM 物件),.asp 腳本僅協調流程。
- ASP 物件可直接運行於 ASP 環境,或註冊至 MTS 享受交易、安全、物件集區等服務。
總結
基於 COM 的元件化設計結合 MTS 中介層服務,構建出可伸縮、可交易、安全的多層分散式應用架構。MTS 讓開發者專注業務邏輯,系統級關注點(併發、交易、安全、資源管理)由運行環境自動處理。
- 上一篇文章: COM 原理與應用:分散式 COM (DCOM) 架構與機制
- 下一篇文章: COM 可連接物件深度解析:事件、連接點、接收器與 IDispatch 實戰
Copyright ©
程式碼之家 All Rights Reserved