1.1.ActiveX的定義
ActiveX是Microsoft提出的一組使用COM(ComponentObjectModel,部件對象模型)使得軟件部件在網絡環境中進行交互的技術集。它與具體的編程語言無關。作為針對Internet應用開發的技術,ActiveX被廣泛應用于WEB服務器以及客戶端的各個方面。同時,ActiveX技術也被用于方便地創建普通的桌面應用程序。
1.2.ActiveX的內容
ActiveX既包含服務器端技術,也包含客戶端技術。其主要內容是:
*ActiveX控制(ActiveXControl);用于向WEB頁面、MicrosoftWord等支持ActiveX的容器(Container)中插入COM對象。
*ActiveX文檔(ActiveXDocument);用于在WEBBrowser或者其它支持ActiveX的容器中瀏覽復合文檔(非HTML文檔),例如MicrosoftWord文檔,Microsoft Excel文檔或者用戶自定義的文檔等。
*ActiveX腳本描述(ActiveXScripting);用于從客戶端或者服務器端操縱ActiveX控制和Java程序,傳遞數據,協調它們之間的操作。
*ActiveX服務器框架(ActiveXServerFramework);提供了一系列針對WEB服務器應用程序設計各個方面的函數及其封裝類,諸如服務器過濾器、HTML數據流控制等。
*在InternetExplorer中內置Java虛擬機(JavaVirtualMachine),從而使JavaApplet能夠在InternetExplorer上運行,并可以與ActiveX控制通過腳本描述語言進行通信。
1.3.ActiveX與Java的比較
ActiveX提供了一種擴展包括Java在內的任何編程語言的機制,Java的開發人員可以在Applet中使用ActiveX技術,直接嵌入ActiveX控制,或者以ActiveX技術為橋梁,將其它開發商提供的多種語言的程序對象集成到Java中。與Java的字節碼技術相比,ActiveX提供了“代碼簽名”(CodeSigning)技術保證其安全性。
1.4.InternetExplorer和NetscapeNavigator
不言而喻,Microsoft的InternetExplorer全面支持ActiveX。同時,Microsoft提供了NetscapeNavigator的插件(Plug-In),從而使Navigator也可以瀏覽包含有ActiveX部件的WEB站點。
2.ActiveX控制和Internet
ActiveX控制是OLE控制的更新版本。控制(Control)是建立可編程部件(Component)的主要元素。ActiveX控制可以用于所有支持COM規范的容器中,或者作為Internet控制嵌入到WEB頁面中。用戶訪問該頁面時將下載該控制并自動在本地注 冊。利用腳本描述語言(Script)可以在控制之間以及客戶與服務器之間通過設置屬性(Property)、調用方法(Method)和激活事件(Event)進行通信。
ActiveX控制與以前的OLE控制相比,具有更少的接口,并且可以沒有窗口。所有的ActiveX控制都支持IUnknown接口。
目前,很多第三方開發商編制了各式各樣的ActiveX控制。在Internet上,有超過1000個ActiveX控制供用戶下載使用。在WINDOWS的SYSTEM目錄下,保存有很多Window提供的ActiveX控制。MicrosoftVisualC++(以下簡稱VC)提供的MFC(MicrosoftFoundationClasses)控制都是ActiveX控制。
考慮到當前Internet相對較低的傳輸速率,設計運行于Internet的ActiveX控制時,必須考慮以下幾個問題:
*控制盡可能小;
*持續存儲數據(PersistData)如何保存;
*如何在Internet上下載和安裝;
*控制如何在客戶端注冊;
3.ActiveX文檔和Internet
ActiveX文檔提供了傳統的嵌入對象的擴展方法。ActiveX文檔對象可以包含多個頁,顯示在整個客戶區中,并支持原有的菜單功能。與以往的嵌入對象不同的是,ActiveX文檔對象不再以一個陰影方框包圍來顯示,而是全框架(FullFrame),并總處于激活狀態。
MicrosoftOffice97提供了MicrosoftOfficeBinder,用來生成并瀏覽由MicrosoftWord、MicrosoftExcel或者用戶定義的ActiveX文檔等構成的復合文檔,每一種文檔類型都可以直接進行編輯修改。
ActiveX文檔可以作為對象嵌入到WEB網頁中,在WEB上發布。
4.ActiveX腳本描述語言
利用VBScript或者MicrosoftJScript,可以向Web頁面中加入可用于交互的ActiveX控制,將數據預處理或者檢驗過程放在客戶端進行,然后將結果傳往WEB服務器。
5.ActiveX服務器框架
在WEB服務器上創建擴展應用程序,動態生成WEB頁面。使用MFC提供的ISAPI類可以方便地建立WEB服務器端的擴展應用程序。
6.VisualC++5.0對ActiveX的支持
VC++5.0(企業版)為Internet開發提供了完整的解決發案,其內容是:
*使用MFC或者ATL開發ActiveX控制和ActiveX文檔。
*使用ISAPI設計WEB服務器端的部件。
*使用WinInet開發通過Internet存取文件的應用程序。
*使用AsynchronousMonikers生成從Internet下載數據的應用程序。
*使用ActiveXSDK開發其它類型的基于Internet的Win32應用程序,包括ActiveXScriptingHost,MicrosoftWebConferencing等。
|