|
Z archiwum ActiveX |
|
Cezary G│owi±ski | |
O becnie ju┐ trudno sobie wyobraziµ system czy aplikacje, kt≤re nie maj▒ wbudowanych mechanizm≤w wsp≤│pracy. Jednym ze sposob≤w - przez wielu znawc≤w uznawany za bardzo udany - przeniesienia takich mechanizm≤w do sieci WWW jest ActiveX. Pod t▒ nazw▒ kryje siΩ technologia bazuj▒ca na dawnej architekturze OLE Automation. Jej podstaw▒ jest standard COM (Component Object Model) okre╢laj▒cy spos≤b komunikacji pomiΩdzy r≤┐nymi modu│ami program≤w. Komponenty ActiveX, og≤lnie m≤wi▒c, to integralne fragmenty kodu skompilowane na odpowiedni format, kt≤ry umo┐liwia ich wykonywanie np. przez przegl▒darkΩ internetow▒. Skompilowane pliki wynikowe maj▒ w≤wczas rozszerzenie *.OCX. Komponenty ActiveX korzystaj▒ z dobrodziejstwa technologii COM. DziΩki niej maj▒ mo┐liwo╢µ wsp≤│pracy z innymi komponentami i us│ugami systemowymi. Jednak przez to ich budowa nie jest dowolna, gdy┐ musi odpowiadaµ wspomnianej specyfikacji. Wykorzystanie technologii COM powoduje, ┐e komponenty ActiveX maj▒ szerokie zastosowanie zar≤wno w systemie, aplikacjach, jak i sieci. Zastosowania sieciowe u│atwia protok≤│ DCOM (Distributed Component Object Model). DziΩki niemu mo┐liwe jest zdalne wykonywanie procedur w ╢rodowisku rozproszonym, takim jak sieci komputerowe. ActiveX jest dobrze zintegrowane ze ╢rodowiskiem Internetu. W jΩzyku HTML wprowadzono znacznik <OBJECT> pozwalaj▒cy m.in. osadzaµ w kodzie odwo│ania do komponent≤w ActiveX. DziΩki temu istnieje mo┐liwo╢µ umieszczenia na stronach WWW r≤┐nych kontrolek realizuj▒cych interaktywne elementy reaguj▒ce na zdarzenia. Jak korzystaµ z ActiveX? Generalnie komponenty ActiveX s▒ automatycznie ╢ci▒gane i uruchamiane. Jest to zatem proces "przezroczysty" dla u┐ytkownika, kt≤ry nawet nie wie o ich istnieniu. Zajmuj▒ one okre╢lony obszar strony przejmuj▒c nad nim kontrolΩ. Od komponentu zale┐y, jak bΩdzie wy╢wietlana jego zawarto╢µ, jak bΩd▒ obs│ugiwane zdarzenia zachodz▒ce w jego obszarze, jak bΩdzie realizowany dostΩp do danych i inne zaprogramowane funkcje. Komponenty ActiveX mo┐na obecnie tworzyµ za pomoc▒ wielu popularnych kompilator≤w najwa┐niejszych jΩzyk≤w programowania. Komponenty ActiveX s▒ alternatyw▒ dla aplet≤w Javy. Daj▒ podobne mo┐liwo╢ci fun-kcjonalne, a w niekt≤rych przypadkach je prze-wy┐szaj▒. Podstawow▒ r≤┐nic▒ jest to, ┐e aplet jest to "program" wykonywany przez maszynΩ wirtualn▒ Javy, kt≤ra jest pomostem z systemem operacyjnym. ActiveX nie ma takiego ograniczenia i mo┐e praktycznie korzystaµ z tych samych funkcji, co programy wykonywalne. W│asne komponenty Aby pos│u┐yµ siΩ komponentem ActiveX mo┐na skorzystaµ z gotowego lub samemu napisaµ i skompilowaµ do kodu po╢redniego. Og≤lna zasada tworzenia komponent≤w ActiveX jest nastΩpuj▒ca: tworzymy interfejs naszego obiektu (oczywi╢cie je╢li jest potrzebny). NastΩpnie programujemy obs│ugΩ zdarze± i kompilujemy ca│o╢µ do kodu po╢redniego w formacie *.OCX. Gdy komponent jest gotowy mo┐emy wykorzystaµ go osadzaj▒c na naszej stronie internetowej. Format OCX ma tΩ zaletΩ ┐e mo┐e byµ interpretowany (wykonany) przez przegl▒darkΩ WWW. Poniewa┐ gotowe komponenty s▒ zapisywane w formie pliku, to mo┐na je r≤wnie┐ udostΩpniaµ innym u┐ytkownikom Internetu. W tej chwili w sieci mo┐na znale╝µ ju┐ du┐o gotowych komponent≤w (patrz ramka "ActiveX w sieci"). CzΩ╢ciowo s▒ one ju┐ instalowane z systemem Windows oraz z przegl▒dark▒ Internet Explorer. Umieszczenie komponentu ActiveX w pliku HTML odbywa siΩ za po╢rednictwem znacznika <OBJECT>, kt≤rego podstawowymi parametrami s▒ nazwa i numer pod jakim komponent zosta│ zapisany w rejestrze. U┐ywanie ActiveX nie musi poci▒gaµ za sob▒ zawsze "╢ci▒gania" komponentu do przegl▒darki. CzΩ╢µ funkcji mo┐e zostaµ zrealizowana bezpo╢rednio na serwerze WWW (mowa o Internet Information Serverze 3.0). Koncepcja ta polega na wykonaniu skrypt≤w, obiekt≤w, komponent≤w umieszczonych w kodzie HTML okre╢lonej strony jeszcze przed wys│aniem jej do przegl▒darki. Wykonanie ma miejsce w│a╢nie na serwerze. Mechanizm ten nazwano Active Server Pages. Za jego po╢rednictwem mo┐na korzystaµ z ActiveX Scripts oraz ActiveX Server Components. Podej╢cie to w znacznym stopniu poprawia funkcjonalno╢µ wielu stron. ActiveX w sieci www.microsoft.com/activex/ www.activex.com/ www.gamelan.com/ www.active-x.com/ www.activex.portbank.com www.techweb.com/activexpress Przyk│adowy obiekt ActiveX
<HTML> <BODY> <CENTER>Prosta kontrolna ActiveX</CENTER> <BR> <CENTER> <OBJECT ID="CommandPrzycisk" WIDTH=96 HEIGHT=32 CLASSID="CLSID:D7053240-CE69-11CD-A777-00DD01143C57"> <PARAM NAME="Caption" VALUE="Przycisk"> <PARAM NAME="Size" VALUE="2540;846"> <PARAM NAME="FontCharSet" VALUE="0"> <PARAM NAME="FontPitchAndFamily" VALUE="2"> <PARAM NAME="ParagraphAlign" VALUE="3"> </OBJECT> </CENTER> </BODY> </HTML> Niebezpiecze±stwa ActiveX Poniewa┐ Internet jest sieci▒ publiczn▒, wszystko co siΩ w niej pojawia mo┐e byµ spenetrowane przez dowolnego u┐ytkownika. St▒d te┐ du┐y nacisk po│o┐ony jest na bezpiecze±stwo. Komponenty ActiveX s▒ przecie┐ przesy│ane przez sieµ i uruchamiane na komputerze u┐ytkownika pod kontrol▒ przegl▒darki. Jednak teoretycznie jest mo┐liwe, by kto╢ do│▒czy│ lub podmieni│ taki komponent, ┐eby ten powodowa│ zniszczenia na komputerze u┐ytkownika. Co jest teoretycznie mo┐liwe, okaza│o siΩ praktycznie do zrealizowania. Pocz▒tkowa wersja ActiveX zawiera│a wiele dziur, kt≤re udawa│o siΩ wykorzystaµ w celach destrukcyjnych. Dopiero kolejne wersje wyeliminowa│y niedor≤bki. Aby zapewniµ bezpiecze±stwo komponenty ActiveX s▒ m.in. wyposa┐one w podpis identyfikuj▒cy autora. DziΩki temu przed wykonaniem kodu mo┐liwe jest sprawdzenie ╝r≤d│a jego pochodzenia. Pakiety do tworzenia ActiveX
Microsoft - Visual Basic 5.0
(c) Copyright LUPUS |