ActiveX控件是什么?

ActiveX控件是什么?

ActiveX控件是什么?


一、ActiveX的由來
ActiveX最初只不別均過仿敏是一個商標名稱而已,它所涵蓋的技術并不是各自孤立的,其中多數都與Internet和Web有一定的關聯 。更重要的是,ActiveX的整體技術是由M來自icrosoft的COM360問答(Compone負酒社這井掉九總爾ntObjectModel,組件對象模型)構筑的 。但不要誤認為ActiveX是定義了所有包含基于COM的技術 。COM與MicrosoftOffice和Windows以及助親希Microsoft現在所做的一切都有關聯,但顯然這些產品并不是Ac漸則民tiveX家族中的成孝橘員 。
ActiveX是從Microsoft的復合文檔技術—又免甲—OLE成長起來的 。OLE最初發布的版游便硫示列德變本,只是巧大團瞄準復合文檔,但在后續版本OLE2中,導入了COM 。COM是應OLE設計者的需求而誕生的 。其基本的出發點是想讓某個軟件通過一個通用的機構為另一個軟件提供服務 。因而,COM的第一個使用者是OLE2 。實際上,COM與復合文檔間,沒有多大關系 。后來,COM就作為與復合文檔完全無關的技術,開始被廣泛使用 。這樣一來,Microsoft就開始"染指"通用平臺技術 。但COM不是產品,它需要一個商標名稱 。不巧,市場專家們選用了"OLE"作為商標名稱 。于是,使用COM的技術都開始貼上和袁米雜高了OLE的標簽 。當然,這左控冷武征些技術中的絕大部分與復合文檔沒有關系 。Microsoft要想向人們解釋:"OLE不單單是指復合文檔!",這要花費相南揚吃殺羅熱讀律當的精力和時間 。
福免率年認代于是,在1996年春引消吸何,Microsoft改變了主季是傷九功幾速出意,選擇了ActiveX作為新商標名 。Ac軍告脫語破鐘聲色六tiveX是指寬松定義的、基于COM的技術集合,而OLE仍然僅指復合文檔 。當然,最重要的核心還是COM 。
讓對象模型完全獨立于編程語言,這是一個非常新奇的思想 。從C++和Java的對象上,我們就能有所了解 。但所謂COM對象究竟是什么?為了便于理解,可以把COM看作是某種(軟件)打包技術,即把它看作是使軟件的不同部分,按照一定的面向對象的形式,組政體合成可以交互的過程和一組支持庫 。COM對象可以用C++、Java和VB等任意一種語言編寫,并可以DLL或作為不同過程工作的執行文件的形式來實現 。使用COM對象的客戶端,無需關心對象是用什么語言寫的,也無需關心它是以DLL、還是以另外的過程來執行的 。從客戶端來看,無任何區別 。
這樣一個通用的處理技巧非常有用 。例如,由用戶協調運行的兩個應用,可以將它們的共同作業部分,作為COM對象間的交互來實現(當然,現在的OLE復合文檔也能做到) 。為在瀏覽器中執行而從Web服務器下載的代碼,瀏覽器可把它看作是COM對象 。即是說,COM技術也是一種打包可下載代碼的標準方法(ActiveX控件執行這種功能) 。
憲識被音樣后音成么甚至連應用與本機勞東音酸多吃OS進行交互的方法,也可價市以用COM來指定(Windows和WindowsNT用的新API,多數是作為COM對象來定義的) 。COM雖然起源于復合文檔,但卻可有效地適用于許多軟件問題 。
二、ActiveX王國
Active平臺是Microsoft的世界觀 。其基本思想是:使用ActiveX控件,來構筑包括從與用戶交互和適應COM的事務處理監視器到Web服務器、全部實現自動化的機構 。Active平臺包括兩大部分:ActiveServer和ActiveClient 。
ActiveServer實際上是中間層 。使用組件或Active服務器頁面,來提供用于業務邏輯和主要應用處理的場所 。ActiveServer的技術,其核心是NTServer、Microsoft事務處理服務器、數據管理服務、目錄服務、Web服務以及網絡服務 。
事務處理服務器是把線程產生和數據庫多重化等傳統的TP監控功能與Microsoft的基于組件的編程模型結合起來 。數據管理服務等Active平臺的其他組件是用OLEDB和ODBC,訪問DB2、Oracle、SQLServer等的數據源 。目錄服務是在DCOM(DistributedCOM,分布式COM)的周圍,提供目錄服務層,這樣使遠程對象在網絡上能相互搜索 。Web服務以Internet信息服務器為中心進行構筑,它為服務器上的Web應用開發,提供腳本生成(Scripting)機構 。網絡服務以DCOM為中心進行構筑,通過以同步MS-RPC為中介的網絡,使之能夠連接控件 。

猜你喜歡