程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> COM原理及應用----基於COM的程序設計

COM原理及應用----基於COM的程序設計

編輯:關於C++

1、COM的作用

COM作為一種軟件模型,提供了程序之間通信的標准,但其最大的貢獻在於對程序設計方法的變革。COM結合了對象技術和組件技術兩種特性。對象特性使得應用系統的設計和實現更加符合現實世界的面貌;組件特性使得應用系統可以充分發揮組件的優勢,以適應現代應用的需要。

2、組件的特性

組件之間可以在二進制級別上進行集成和重用;組件必須被獨立地生產、獲得和配置。

組件接口描述了組件對外提供的服務,組件和組件之間、組件和客戶之間同時通過接口進行交互。組件接口必須是能夠自我描述的,組件應該保持接口不變。

3、基於COM的組件化程序設計方法

組件化程序設計方法繼承並發展了面向對象程序設計方法。組件化程序設計方法強調真正的軟件重用和高度的互操作性。

4、MTS

MTS,Microsoft Transaction Server,它為我們提供基本的組件運行和配置環境。MTS為分布式應用提供了底層的基礎設施,它把應用系統的客戶程序與應用組件對象以及各種資源有機地組織起來。

在MTS應用中,所有的組件對象都運行在MTS運行環境中,這些組件對象實現了基本的應用邏輯規則。由於MTS把組件對象有機地管理起來,它的運行環境負責所有並發性處理、資源管理、安全性管理、環境管理等系統級特性處理,因此,開發人員在編寫組件對象時可以忽略這些要素,只需簡單地實現基本的應用邏輯規則即可。

MTS應用可以包括多個MTS服務進程,每個服務進程運行一個或多個組件對象,所以MTS應用的每個組件對象必須是進程內組件對象,它們運行在MTS服務進程中。在MTS服務進程中,除了這些應用組件對象之外,MTS也提供了許多服務,包括線程管理服務、環境管理服務、資源分發管理等等。MTS正是通過這種方式來提供各種系統服務的。

資源管理器是MTS應用管理永久數據的基本手段,它使用了Microsoft的DTC(distributed transaction coordinator,分布式事務協調器)系統服務,通過兩階段提交的方式實現了事務(transaction)功能。

MTS實現了兩種資源分發器:ODBC資源分發器和共享屬性管理器。

MTS只是一個COM組件對象的管理器,它通過一組內置的服務來簡化復雜應用系統的開發。

5、MTS程序設計概念

(1)事務

事務是一個抽象概念,它是指一組數據操作的整體。事務具有四個特性:原子性(atomicity)、一致性(consistency)、隔離性(isolation)和永久性(durability),這些特性可簡寫為ACID。

(2)MTS對象

MTS對象是指運行在MTS環境下的COM組件的一個實例,MTS為每個對象維護一個環境對象。

(3)MTS客戶

MTS客戶是指MTS對象的客戶程序,它可以是一個應用程序,運行在MTS環境之外,這種客戶我們稱為基客戶;MTS客戶也可以是另一個MTS對象,所以,MTS客戶與對象的概念也是一個相對概念。

(4)安全性控制

MTS推薦使用基於角色的安全模型,角色是MTS安全模型的核心,一個角色定義了用戶的邏輯組合。

6、MTS管理程序

MTS管理程序的主要功能為配置和發布MTS對象或組件,MTS對象是指運行在MTS環境中的COM對象,它所在的進程既為MTS服務進程。在MTS管理程序中,一個基本的概念是MTS包(MTS Package),MTS包的概念與MTS服務進程緊密相關。一個MTS包可以包括多個MTS組件,這些MTS組件共享同一個進程,共享同一套安全角色定義。

MTS管理程序使用了標准的MMC管理界面工具。

7、MTS特性

MTS作為COM對象的運行和管理環境,在分布式應用或一般的企業應用中所占的地位越來越重要。

(1)對象管理器

MTS實際上是一個功能強大的對象管理。MTS使COM對象由統一的環境管理,為基於COM的組件應用系統提供了配置和管理的基礎;並且MTS也使 DCOM技術的用法更為簡化,為建立基於COM分布式應用提供了極大的方便。MTS還有一個特性,即MTS對象的及時激活(JIT激活,Just-In- Time Activation)特性

(2)安全管理器

MTS的安全模型可以直接為應用系統所用,利用MTS管理程序用戶可以靈活地配置每個角色所對應的成員。

(3)事務管理器

事務特性是MTS環境的一個重要特性,MTS運行環境利用Microsoft DTC建立起來了事務特性。

8、多層軟件結構

COM、DCOM以及MTS構成了多層結構的基礎平台。層與層之間可以通過COM接口聯系起來,它們可以運行在不同的進程中,甚至運行在不同的機器上,COM及DCOM提供了進程透明和位置透明特性。MTS又為中間的業務層提供了統一的配置和管理環境,我們可以把業務邏輯封裝到MTS對象中,然後由 MTS負責運行和包裝這些業務組件。利用MTS提供的事務特性、安全模型,我們可以簡化業務邏輯代碼,即使是很復雜的業務邏輯,也可以當作普通的COM組件來實現。

9、多層應用軟件結構

在分布式應用系統中,直接面對客戶的表現層軟件與數據層往往是分離的。

在中間層,MTS可以把所有的業務組件管理起來,並提供運行環境。

10、多層軟件結構的優點

可伸縮性、可配置性、靈活性、可靠性、MTS事務和安全模型、跨平台特性和軟件集成思想。

11、Web應用基本結構

12、用COM設計Web應用

ASP是服務器一端的腳本環境。ASP腳本通過Server對象創建COM對象,這種對象稱為Active Server Object,簡稱ASP對象。

從完整的ASP應用的角度看,它可以把復雜的業務規則放到ASP組件中,然後在.asp文件中通過腳本代碼控制這些ASP對象。ASP對象既可以直接運行在ASP環境中,也可以運行在MTS環境中,享受MTS環境的特性。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved