COM+
COM+是COM和MTS的統一。
COM+特性:
與 COM 一樣,COM+ 基于二進制組件和基于接口的編程。通過使用透明 RPC 層,可以跨越進程和計算機邊界進行遠程方法調用。正如 COM 組件那樣,COM+ 組件可以在成品中升級和擴展,而不會對使用它們的客戶端應用程序造成負面影響。
與 MTS 一樣,COM+ 支持分布式事務和基于角色的安全性。它提供內置線程池方案,該方案與 MTS 的線程池方案一樣透明。COM+ 編程模型同樣利用偵聽通過聲明性屬性向開發人員公開平臺服務。但是,COM+ 比 MTS 更進一步地利用了基于屬性的編程。除了事務性服務和集成安全性外,COM+ 還公開自定義對象構造、同步、對象池等服務。COM+ 的其他新功能(如排隊組件和 COM+ 事件)也通過可配置的屬性公開。
COM+并不是COM的新版本,我們可以把它理解為COM的新發展,或者為COM更高層次上的應用。COM+的底層結構仍然以COM為基礎,它幾乎包容了COM的所有內容。有一種說法這樣認為,COM+是COM、DCOM和MTS(Microsoft Transaction Server)的集成,這種說法有一定的道理,因為COM+確實綜合了這些技術要素。但更重要的一點是,COM+倡導了一種新的概念,它把COM組件軟件提升到應用層而不再是底層的軟件結構,它通過操作系統的各種支持,使組件對象模型建立在應用層上,把所有組件的底層細節留給操作系統。
COM是個開放的組件標準,它有很強的擴充和擴展能力,從COM到DCOM,再到MTS的發展過程也充分說明了這一點。對COM有使用經驗的讀者一定可以感覺到,雖然COM已經改變了Windows程序員的應用開發模式,把組件的概念融入到Windows應用中,但是由于種種原因,DCOM和MTS的許多優越性還沒有為廣大的Windows程序員所認識。MTS針對企業應用和Web應用的特點,在COM/DCOM的基礎上又添加了許多功能和特性,包括事務特性、安全模型、管理和配置等,MTS使COM成為一個完整的組件體系結構。由于歷史的原因,COM、DCOM和MTS相互之間并不很融洽,難以形成統一的整體,不過,這種狀況很快就要結束,因為COM+將把這三者有效地統一起來,形成一個全新的、功能強大的組件體系結構,并且把DCOM和MTS的各種優勢以更為簡捷的方式帶給Windows 2000程序員和用戶。
COM+不再局限于COM的組件技術,它更加注重于分布式網絡應用的設計和實現,已經成為Microsoft系統平臺策略和軟件發展策略的一部分。COM+繼承了COM幾乎全部的優勢,同時又避免了COM實現方面的一些不足。COM+緊緊地與操作系統結合起來,通過系統服務為應用程序提供全面的服務。
COM組件類型:
進程內組件:組件是在主調應用程序的進程范圍內運行,是以DLL方式實現的。組件的實現是快速的,但由于和應用程序公用一個進程,導致了不安全的因素。
進程外組件:它又可分為兩類。本地服務器進程組件,它是組件與調用組件者在同一機器上;遠程服務器進程組件,它是組件使用遠程過程調用RPCs和客戶應用程序進行通信。
COM+特性:
與 COM 一樣,COM+ 基于二進制組件和基于接口的編程。通過使用透明 RPC 層,可以跨越進程和計算機邊界進行遠程方法調用。正如 COM 組件那樣,COM+ 組件可以在成品中升級和擴展,而不會對使用它們的客戶端應用程序造成負面影響。
與 MTS 一樣,COM+ 支持分布式事務和基于角色的安全性。它提供內置線程池方案,該方案與 MTS 的線程池方案一樣透明。COM+ 編程模型同樣利用偵聽通過聲明性屬性向開發人員公開平臺服務。但是,COM+ 比 MTS 更進一步地利用了基于屬性的編程。除了事務性服務和集成安全性外,COM+ 還公開自定義對象構造、同步、對象池等服務。COM+ 的其他新功能(如排隊組件和 COM+ 事件)也通過可配置的屬性公開。
COM+并不是COM的新版本,我們可以把它理解為COM的新發展,或者為COM更高層次上的應用。COM+的底層結構仍然以COM為基礎,它幾乎包容了COM的所有內容。有一種說法這樣認為,COM+是COM、DCOM和MTS(Microsoft Transaction Server)的集成,這種說法有一定的道理,因為COM+確實綜合了這些技術要素。但更重要的一點是,COM+倡導了一種新的概念,它把COM組件軟件提升到應用層而不再是底層的軟件結構,它通過操作系統的各種支持,使組件對象模型建立在應用層上,把所有組件的底層細節留給操作系統。
COM是個開放的組件標準,它有很強的擴充和擴展能力,從COM到DCOM,再到MTS的發展過程也充分說明了這一點。對COM有使用經驗的讀者一定可以感覺到,雖然COM已經改變了Windows程序員的應用開發模式,把組件的概念融入到Windows應用中,但是由于種種原因,DCOM和MTS的許多優越性還沒有為廣大的Windows程序員所認識。MTS針對企業應用和Web應用的特點,在COM/DCOM的基礎上又添加了許多功能和特性,包括事務特性、安全模型、管理和配置等,MTS使COM成為一個完整的組件體系結構。由于歷史的原因,COM、DCOM和MTS相互之間并不很融洽,難以形成統一的整體,不過,這種狀況很快就要結束,因為COM+將把這三者有效地統一起來,形成一個全新的、功能強大的組件體系結構,并且把DCOM和MTS的各種優勢以更為簡捷的方式帶給Windows 2000程序員和用戶。
COM+不再局限于COM的組件技術,它更加注重于分布式網絡應用的設計和實現,已經成為Microsoft系統平臺策略和軟件發展策略的一部分。COM+繼承了COM幾乎全部的優勢,同時又避免了COM實現方面的一些不足。COM+緊緊地與操作系統結合起來,通過系統服務為應用程序提供全面的服務。
COM組件類型:
進程內組件:組件是在主調應用程序的進程范圍內運行,是以DLL方式實現的。組件的實現是快速的,但由于和應用程序公用一個進程,導致了不安全的因素。
進程外組件:它又可分為兩類。本地服務器進程組件,它是組件與調用組件者在同一機器上;遠程服務器進程組件,它是組件使用遠程過程調用RPCs和客戶應用程序進行通信。
總結