首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

COM 原理與應用:基於 COM 的元件化程式設計與 MTS 架構

     編輯:關於C++

COM 的雙重特性

  • 物件特性:封裝、繼承、多型 → 設計貼近現實世界。
  • 元件特性:二進制級整合與重用、獨立生產/取得/配置、介面自我描述且不變。

元件化程式設計方法

繼承並發展 OO 設計方法,強調真正的軟體重用與高度互操作性。

MTS (Microsoft Transaction Server) 架構

MTS 為分散式應用提供元件運行與配置環境,核心角色:

  • MTS 物件:運行於 MTS 環境的 COM 元件實例,實作業務邏輯。
  • MTS 服務進程:載入一或多個 MTS 物件(皆為進程內元件)。
  • MTS 客戶:基底客戶(外部應用)或另一 MTS 物件(相對概念)。
  • 資源管理器:管理持久資料,使用 DTC (Distributed Transaction Coordinator) 兩階段提交實現 ACID 交易。
  • 資源分派器:ODBC 資源分派器、共享屬性管理器 (SPM)。

MTS 核心服務

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 讓開發者專注業務邏輯,系統級關注點(併發、交易、安全、資源管理)由運行環境自動處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
服務說明
物件管理器統一環境管理元件;JIT 啟動:物件建立延遲至首次呼叫,釋放後可回收
安全管理器角色基礎安全模型 (RBAC),靈活配置角色成員
交易管理器基於 DTC 實現分散式交易,簡化業務邏輯代碼