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