ActiveX與OLE和Java的區(qū)別
2024-09-06 20:39:18
供稿:網(wǎng)友
ActiveX涵蓋了Java和微軟的OLE部件技術(shù),但與兩者有所區(qū)別。ActiveX與OLE都基于構(gòu)件對(duì)象模型(Component Object Model,COM),但它們?yōu)殚_(kāi)發(fā)者提供了本質(zhì)上不同的服務(wù)。
COM提供了底層的對(duì)象束定機(jī)制,這種機(jī)制允許對(duì)象之間相互通信。
OLE利用COM提供應(yīng)用程序的上層服務(wù),例如: 對(duì)象的鏈接與嵌入,使用戶能夠創(chuàng)建復(fù)合文檔。另一方面,ActiveX提供了一種機(jī)制使控件能嵌入到Web頁(yè)面中,并對(duì)事件作出響應(yīng)。
總的來(lái)講,OLE側(cè)重于單機(jī)應(yīng)用程序的重用和配合,而ActiveX更側(cè)重于網(wǎng)絡(luò)和Internet。采用ActiveX技術(shù),使臺(tái)式計(jì)算機(jī)接口和Internet接口合二為一,消除了如文件之類的本地資源和網(wǎng)絡(luò)資源之間的差別,對(duì)應(yīng)用程序和最終用戶做到網(wǎng)絡(luò)透明。
ActiveX與Java是兩種不相同但相類似的技術(shù)。Java是一種平臺(tái)無(wú)關(guān)的Intenet語(yǔ)言,用Java寫的程序是一系列虛機(jī)器字節(jié)代碼,它可以在任何運(yùn)行Java虛擬機(jī)(JVM)的平臺(tái)上運(yùn)行。而ActiveX是一套技術(shù)規(guī)范,它本身與語(yǔ)言無(wú)關(guān)。利用ActiveX技術(shù),不同的開(kāi)發(fā)語(yǔ)言可以互相利用已有的構(gòu)件,這大大擴(kuò)充了一種語(yǔ)言的功能。例如使用Visual C++創(chuàng)建一個(gè)定時(shí)器構(gòu)件,開(kāi)發(fā)人員可以在Visual Basic,Dephi,Visual C++,PowerBuilder以及其它支持ActiveX的語(yǔ)言中重用這個(gè)定時(shí)器構(gòu)件,不必自行開(kāi)發(fā)(如圖一)。ActiveX比Java最大的優(yōu)點(diǎn)就是保留了原有的技術(shù)投資,新的應(yīng)用可以在老的基礎(chǔ)上繼續(xù)開(kāi)發(fā)。@@11181000.GIF;圖1 ActiveX控件的開(kāi)發(fā)和使用@@另外,由于ActiveX的底層支持(COM)和Java在許多概念上十分相似,使得COM和Java的集成變得十分方便。
通過(guò)集成,ActiveX擴(kuò)展了Java語(yǔ)言的功能。現(xiàn)在,Java程序員可以利用多媒體效果,一個(gè)擴(kuò)充的軟件對(duì)象集包括ActiveX控件,ActiveX文檔和ActiveX腳本去增強(qiáng)Javaapplets的功能,如在Java applets中增加聲音、影像、打印、數(shù)據(jù)庫(kù)訪問(wèn),虛擬現(xiàn)實(shí)以及其他一些操作系統(tǒng)級(jí)的特征。同樣,用其它語(yǔ)言開(kāi)發(fā)的對(duì)象也可以鏈接Java applets。圖二顯示了Java與ActiveX集成。
總之,ActiveX已經(jīng)把目前最強(qiáng)有力的Web技術(shù)聯(lián)接到一起,Web開(kāi)發(fā)者可以利用廣泛的技術(shù)在保留原有投資基礎(chǔ)上建立Internet的應(yīng)用。@@11181001.GIF;圖2 Java和ActiveX的集成@@