- internet4U -

Internet, plug-iny III

TENTOKR┴T SOFTWAROV╔

      Mo₧nostφ rozÜi°ovßnφ funkcφ www prohlφ₧eΦ∙ je celß °ada. V dneÜnφm Φlßnku si je rozt°φdφme a podφvßme se na n∞ blφ₧e. Mluvit budeme o r∙zn²ch druzφch plug-in∙ pro Netscape Navigator a Microsoft Explorer, p°iΦem₧ u toho druhΘho vezmeme v potaz i ActiveX componenty.

      Snad nejd∙le₧it∞jÜφ souΦßstφ dneÜnφch prohlφ₧eΦ∙ se stßvß jazyk Φi platforma Java, i kdy₧ ta nab²vß skuteΦn∞ celΘ °ady forem a nem∙₧eme ji omezit jen na sv∞t www. Modifikace chovßnφ prohlφ₧eΦ∙, a tedy i pohled na www strßnky jsou ale jeÜt∞ pest°ejÜφ pat°φ sem JavaScript, VirtualBasic, CGI aplikace i specißlnφ formy programovßnφ www server∙, ale to ji₧ p°esahuje tΘma Φlßnku.

      Sv∞t prohlφ₧eΦ∙

      World Wide Web umo₧≥uje zobrazovat rozdφlnΘ typy dat v rßmci jednoho dokumentu, p°iΦem₧ do dat pat°φ mimo textu zvuk, obraz, ale t°eba takΘ p°φkazy pro ovlßdßnφ robotickΘ pa₧e. Je samoz°ejm∞ nezbytnΘ, aby pro podobnß data byl pou₧it² poΦφtaΦ nßle₧it∞ vybaven, na toto tΘma jsme se ovÜem "bavili" v d°φv∞jÜφch Φφslech Φasopisu. Nad urΦitou ·rove≥ zßkladnφho vybavenφ je to otßzka osobnφch preferencφ, zda vy₧adujete kameru nad postelφ Φi zmφn∞nou robotickou motoriku.

      Podφvejme se ale na softwarovou strßnku, na dopl≥ky nezbytnΘ pro pov²Üenφ naÜeho www prohlφ₧eΦe do stavu, v jakΘm ho pot°ebujeme. Zde je ovÜem u₧ivatel pln∞ v moci p∙vodnφho autora strßnek musφ akceptovat jφm pou₧itΘ technologie a prost°ednictvφm nich si strßnku zobrazit. Autor mß plnΘ prßvo se s ohledem na svΘ schopnosti a pot°eby rozhodnout, zda vyu₧ije mo₧nostφ JavaScriptu Φi ActiveX. Podotkn∞me, ₧e tyto technologie jsou z hlediska dosa₧itelnΘho v²sledku do znaΦnΘ mφry zßm∞nnΘ a mφra jejich vyu₧φvßnφ m∙₧e zßviset na prßv∞ probφhajφcφm m≤dnφm trendu.

      P∙vodn∞ byly novΘ typy dat podporovßny v prohlφ₧eΦφch formou pomocn²ch aplikacφ (helper∙), kterΘ byly spuÜt∞ny do volnΘho pam∞¥ovΘho prostoru pro prezentaci danΘ Φßsti dokumentu. Ji₧ ze samotnΘho popisu vypl²vß °ada omezenφ a nepohodlφ podobnΘho postupu.

      Plug-iny

      Od verze 2.0 Netscape Navigoru je ale mo₧nΘ helpery nahrazovat zßsuvn²mi moduly plug-iny. Mφsto otev°enφ pro prohlφ₧eΦ neznßm²ch dat do externφch prohlφ₧eΦ∙, plug-in je umo₧≥uje prezentovat v rßmci kompozice strßnky a mnohem d∙sledn∞ji respektovat autorovu prßci. Mo₧nosti plug-in∙ a typ∙ podporovan²ch dat jsou prakticky neomezenΘ, proto₧e mate°sk² prohlφ₧eΦ tu p°edßvß kontrolu samostatnΘmu k≤du nezßvisl²ch programßtor∙ a omezuje je maximßln∞ z hlediska dostupnΘ pam∞ti.

      Plug-iny byly vyvinuty firmou Netscape pro podporu nov²ch typ∙ dat v rßmci okna Navigatoru, bez nutnosti spouÜt∞t externφ prohlφ₧eΦe. DalÜφm cφlem bylo uvolnit ruce programßtor∙m, aby mohli sami rozhodovat o zp∙sobu zobrazovßnφ dat. Poslednφm po₧adavkem bylo samoz°ejm∞ crossplatformnφ zp°φstupn∞nφ dat.

      Plug-iny mohou poskytovat multimedißlnφ funkce, zobrazovat formßtovanΘ informace, spouÜt∞t aplikace, zajiÜ¥ovat komunikaci mezi aplikacemi nebo spravovat odkazy na jinß mφsta Internetu. Plug-in m∙₧e reprezentovat t°eba tabulkov² procesor, umo₧≥ujφcφ p°φmo v prohlφ₧eΦi (lokßln∞) pracovat s tabulkami.

      Princip jejich funkce je jednoduch²: pokud Navigator narazφ na neznßm² typ dat, vyhledß na disku plug-in tomuto typu p°i°azen² a nahraje jej do pam∞ti. Jakmile nenφ jeho slu₧eb pot°eba, je pam∞¥ zase uvoln∞na. Pokud nenφ adekvßtnφ plug-in nalezen, pokusφ se prohlφ₧eΦ pomoci u₧ivateli s jeho nalezenφm vlastnφ nahrßnφ a instalace ovÜem z∙stßvajφ "manußlnφ" pracφ.

      Netscape definoval t°i odliÜnΘ typy plug-in∙: embedded, full-page a hidden. NejtypiΦt∞jÜφm p°φkladem jsou ty prvnφ, zapuÜt∞nΘ, kterΘ se objevujφ jako souΦßst v∞tÜφch HTML dokument∙. Takto je t°eba mo₧nΘ pracovat s MPEG filmy, kterΘ se jevφ jako "pohyblivΘ" obrßzky a jsou viditelnΘ p°φmo jako souΦßst strßnek. Full-page alias celostrßnkovΘ plug-iny se chovajφ adekvßtn∞ svΘmu nßzvu pro takto podporovanΘ typy dat se prost∞ otev°e novΘ okno prohlφ₧eΦe pro ilustraci staΦφ otev°φt libovoln² pdf dokument.

      Hidden (skrytΘ) plug-iny b∞₧φ na pozadφ www strßnky a umo₧≥ujφ u₧ivateli rolovat strßnkou a prohlφ₧et si ji, zatφmco plug-in pracuje. To je nejjednoduÜÜφ metoda pro vytvß°enφ strßnek s MIDI hudbou jako doprovodem.

      Nev²hodou plug-in∙ je p°edevÜφm nutnost jejich shßn∞nφ a n∞kterΘ plug-iny p°itom mohou p°edstavovat megabajty dat ke sta₧enφ. Vzhledem k tradiΦnφmu stavu Internetu, plnΘho zm∞n a nestabilnφch beta-verzφ, m∙₧e b²t n∞kdy problΘm plug-in v∙bec rozchodit. BezpeΦnost vaÜich dat nenφ zcela garantovßna a n∞jak² prohnil² kousek k≤du se m∙₧e na vaÜem disku docela pobavit jak se to prokßzalo nap°φklad u starÜφ verze Shockwave. Plug-iny musφ b²t pro danou platformu zkompilovßny, a na rozdφl od Javy tak pro urΦit² operaΦnφ systΘm v∙bec nemusφ b²t dostupnΘ. JeÜt∞ horÜφ je, ₧e nemusφ fungovat ve vÜech prohlφ₧eΦφch, a pokud jich pou₧φvßte vφc, budete si mo₧nß muset plug-in nahrßt v n∞kolika r∙zn²ch verzφch.

      Existuje mnoho r∙zn²ch p°ehled∙ dostupn²ch plug-in∙: nejvhodn∞jÜφm zaΦßtkem je urΦit∞ BrowserWatch Plug--In Plaza! (http://browserwatchinternet.com/plug-in.html.), kde nalezneme celou °adu d∙le₧it²ch informacφ, t²kajφcφch se i ostatnφch tΘmat tohoto Φlßnku. Snad jen p°ipome≥me, ₧e z nekoneΦnΘ °ady plug-in∙ vyΦnφvß Shockwave firmy Macromedia, kter² se stal de facto (a doΦasn∞) standardem pro interaktivnφ multimΘdia na www.

      JavaScript a VBScript

      JavaScript je skriptovacφ jazyk vyvinut² firmou Netscape, op∞t pro vytvß°enφ interaktivnφch strßnek. V ₧ßdnΘm p°φpad∞ nemß nic spoleΦnΘho s Javou, jak by se mohlo podle nßhodnΘ podoby nßzv∙ zdßt.

      Pokud n∞jak² program podporuje skriptovacφ jazyk, znamenß to, ₧e obsahuje jeho interpreter a mß implementovanou urΦitou velmi limitovanou mno₧inu instrukcφ bezprost°edn∞ spojen²ch s n∞jakou jeho Φinnostφ, ji₧ m∙₧e provßd∞t. Jde o jednoduchou formu programovßnφ, ale dß se jφ dosßhnout p∙sobiv²ch v²sledk∙.

      Pro b∞h JavaScriptu je nezbytn² pouze prohlφ₧eΦ tento jazyk podporujφcφ, co₧ z t∞ch dvou opravdu d∙le₧it²ch Φinφ oba dva. To velmi nahrßvß pou₧φvßnφ JavaScriptu, zvlßÜt∞ kdy₧ p°iΦteme jeÜt∞ jeden malink² d∙vodek jde z°ejm∞ o nejjednoduÜÜφ zp∙sob zaΦlen∞nφ jistΘ formy interaktivity do vaÜφ strßnky.

      Vy₧aduje to jistΘ znalosti HTML programovßnφ a v²sledek zaΦlen∞n² p°φmo do zdrojovΘho k≤du strßnky vypadß n∞jak takto:

      <script language="JavaScript">

      document.write("Toto je JavaScript!")

      </script>

      Proti prßci s C++ Φi Javou je to p°ece jen jednoduÜÜφ i kdy₧ pro tento skriptovacφ jazyk neexistuje takovß rozmanitost neustßle zdokonalovan²ch v²vojov²ch prost°edφ na druhΘ stran∞ v∞tÜina problΘm∙ schopn∞jÜφch alternativ se JavaScriptu prost∞ net²kß.

      Dobr²m startem je prostudovßnφ si strßnek "VOODOO\S INTRODUCTION TO JAVASCRIPT" (http://rummelplatz.uni-mannheim.de/~skoch/js/tutorial.htm).

      VB Script je velmi v²konn² skriptovacφ jazyk, navr₧en² pro vytvß°enφ aktivnφho obsahu www strßnek. Umo₧≥uje v²vojß°∙m spojovat a automatizovat akce objekt∙ na strßnce obsa₧en²ch, vΦetn∞ ActiveX Controls (viz dßle) a aplet∙ napsan²ch v jazyku Java. Je to nov∞jÜφ pohled na problematiku oΦima firmy Microsoft.

      Java a Java aplety

      Java je jazyk vyvinut² spoleΦnostφ Sun Microsystems, jen₧ umo₧≥uje www strßnkßm obsahovat k≤d, kter² je provßd∞n prohlφ₧eΦem. Java je vlastn∞ interpretovßna, co₧ umo₧≥uje Java programy spouÜt∞t na libovolnΘm systΘmu, kter² mß "virtual machine", implementujφcφ dostateΦn∞ aktußlnφ verzi Javy. Z programßtorskΘho hlediska je Java objektov² jazyk velmi se podobajφcφ C++, ovÜem s tou v²jimkou, ₧e chyb∞jφ problematickΘ rutiny pro prßci s pam∞tφ, kterΘ jsou z°ejm∞ nejv∞tÜφ slabinou C++. Kvalita v²sledku ovÜem jako v₧dy zßvisφ na programßtorovi. Program m∙₧e b∞₧et v samostatnΘm okn∞, nebo takΘ jen sofistikovan∞ manipulovat s Φßstmi strßnky. HotJava je mimochodem www prohlφ₧eΦ zcela napsan² v programovacφm jazyku Java, a je tak mezi svou konkurencφ jednoznaΦn∞ "nejcrossplaformn∞jÜφ" je naprosto identick² pro vÜechny platformy.

      P°i interpretaci jsou v pr∙b∞hu Java program∙ ty jsou v∞tÜinou oznaΦovßny jako Java aplety p°φkazy postupn∞ p°eklßdßny do spustitelnΘ formy. Kvalita interpreteru, tedy stabilita a v²slednß rychlost program∙, se m∙₧e velmi liÜit podle systΘmu a dostupnΘho hardwaru. Nov² p°φstup (paradoxnφ oznaΦenφ ve spojenφ s n∞Φφm tak mlad²m, jako je Java) je pou₧φvßnφ tzv. JIT (Just In Time) p°ekladaΦ∙, kterΘ hned po nahrßnφ aplety p°elo₧φ; potΘ u₧ s nimi ji₧ m∙₧eme pracovat. Rychlost je a₧ desetkrßt v∞tÜφ ne₧ p°i pln∞ interpretaΦnφm postupu.

      D∙le₧it²m kriteriem pou₧itelnosti Javy je bezpeΦnost dat na lokßlnφm disku p°ipojenΘho poΦφtaΦe. Java byla vymyÜlena tak, aby se nahran²m aplet∙m daly vymezit "hracφ mantinely". Zabudovan² "Java security manager" je konzultovßn, kdykoli se Java pokusφ operovat na vaÜem disku Φi v internφm sφ¥ovΘm prost°edφ, a v naprostΘ v∞tÜin∞ p°φpad∙ zabrßnφ jak²mkoli akcφm mimo rßmec prohlφ₧eΦe. S rozÜi°ovßnφm p∙sobnosti Javy na intranety a kancelß°skΘ aplikace (viz Office firmy Corel) budou ovÜem restriktivnφ pravomoci manageru oslabovßny a boj s nov²mi bezpeΦnostnφmi slabinami Javu nepochybn∞ jeÜt∞ Φekß.

      V∞tÜina operaΦnφch systΘm∙ dnes nabφzφ Java p°ehrßvaΦe, jejich₧ slu₧by jsou dostupnΘ vÜem standardnφm aplikacφm, kterΘ jsou schopny je vyu₧φt. Pokud si jen trochu hrajete s Interpreterem, m∙₧ete mφt brzy na svΘm poΦφtaΦi t°eba t°i nebo Φty°i implementace Javy. V∞tÜinou bude rozhodujφcφ ta pou₧φvanß ve www prohlφ₧eΦi nap°. Microsoft Explorer je natolik Üikovn², ₧e nabφzφ mo₧nost volby.

      V ka₧dΘm p°φpad∞ p°edevÜφm komerΦnφ mφsta vy₧adujφcφ identifikaci u₧ivatele jsou dnes z 90 % postaveny na Jav∞, a bez ohledu na ActiveX a dalÜφ technologie se bez nφ ji₧ brzy nikdo neobejde. Java m∙₧e b²t vyu₧ita i mimo rßmec www, nap°φklad v prost°edφ Internetu nebo intranetu, kde demonstruje efektivnφ pou₧itφ architektury klient-server Φi sφ¥ov²ch poΦφtaΦ∙ NC. Programy budou nahrßvßny z ·st°ednφho serveru p°φmo do pam∞ti bezdiskov²ch poΦφtaΦ∙. LevnΘ, efektivnφ, i kdy₧ urΦit∞ ne nejrychlejÜφ. To je ale budoucnost, kterß se stane realitou na p°elomu tisφciletφ.

      Prozatφm je vφce v²vojß°∙ ne₧ hotov²ch program∙, ale jejich skuteΦnß zßplava je ji₧ nepochybn∞ na cest∞. PoΦφtejte vÜak s tφm, ₧e budou pro sv∙j b∞h vy₧adovat p°φtomnost jist²ch knihoven k≤du (Classes) na vaÜem poΦφtaΦi jinak by velikost nahrßvan²ch aplet∙ byla p°φliÜ velikß.

      CGI

      CGI (Common Gateway Interface) pat°φ vlastn∞ do soudku ovlßdßnφ server∙, ovÜem p°φmo se dot²kß i u₧ivatel∙, kdykoli se prohlφ₧enß strßnka chovß dostateΦn∞ nestandardnφm zp∙sobem. CGI skripty jsou metodou,

      jak doprogramovßvat nap°. v jazyce Pearl funkce le₧φcφ mimo mo₧nosti formßtu i plug-in∙ pro www servery. M∙₧eme si je p°edstavit jako miniprogramy, operujφcφ v rßmci hostitelskΘho systΘmu. O t∞chto formßch skriptovßnφ rovn∞₧ platφ v∞tÜina z komentß°∙ k JavaScriptu.

      Takto lze dynamicky generovat strßnky obsahujφcφ data hledanß v databßzi Φi je skuteΦn∞ po Φßstech sesklßdat podle u₧ivatelova zadßnφ. Nßsledek je z°ejm² strßnky existujφ doΦasn∞ a poznamenßvat si jejich adresu nemß ₧ßdn² smysl. To b²vß problΘm u vyhledßvacφch strßnek (AltaVista), kde °ada nabφdnut²ch odkaz∙ nikam nevede.

      ActiveX

      Technologie ActiveX je jistß forma alternativy jazyku Java firmy Microsoft. Jde o prost°edek pro vytvß°enφ interaktivnφch www mφst, nabφzejφcφ technologie pro klienty i servery formou Active Controls, ActiveX Documents a ActiveX Scripting. Tzv. ActiveX Controls fungujφ velmi podobn∞ tradiΦnφmu OLE mohou b²t ulo₧eny na klientov∞ disku nebo je lze nahrßt v okam₧iku pot°eby z internetovΘho serveru. ActiveX Scripting um∞jφ koordinovat aktivity jednotliv²ch "Controls" v rßmci www strßnek. Pro takovΘto skriptovßnφ jsou prozatφm dostupnΘ jazyky VB Script a JavaScript.

      ActiveX Documents p°edstavujφ slibnou technologii, nahrazujφcφ klasickΘ strßnky. TakovΘto aktivnφ dokumenty s interaktivnφmi funkcemi, vytvo°enΘ prßv∞ zmφn∞n²mi prost°edky, lze toti₧ prohlφ₧et a modifikovat p°φmo ve www prohlφ₧eΦi, pokud samoz°ejm∞ ActiveX podporuje. Na tomto principu bude postaven Internet Explorer 4.0 a Windows 98, s mo₧nostφ takto vytvß°et vlastnφ u₧ivatelskΘ rozhranφ.

      Jak vidno, jdou mo₧nosti ActiveX daleko za funkΦnost klasick²ch plug-in∙. ZejmΘna mohou b²t zaΦlen∞ny do strßnky a automaticky nahrßny p°i jejφm prohlφ₧enφ. Bohu₧el z hlediska crossplatformnosti a bezpeΦnosti dat jsou slep²mi mezi jednook²mi. ╪ada z jejich funkcφ je p°φliÜ Windows-centrickß a nezapomφnejme, ₧e jako servery a pro vytvß°enφ strßnek se pou₧φvajφ p°edevÜφm jinΘ platformy. SluÜnΘ mno₧stvφ ActiveX Controls je dostupn²ch pro Windows 95/NT, pro 3.x a ostatnφ systΘmu je to velmi slabΘ. Programovacφ rozhranφ ActiveX je pom∞rn∞ komplikovanΘ, ovÜem Visual Basic verze 5 zvlßdne jejich snadnΘ generovßnφ, avÜak op∞t pouze pro Windows 95/NT. P°ipome≥me, ₧e ActiveX musφ b²t specificky psßny pro danou platformu, na rozdφl od interpretovanΘ Javy.

      Velmi zßva₧nΘ bezpeΦnostnφ problΘmy pronßsledujφ ActiveX od samotnΘho poΦßtku a nevychovanΘ strßnky mohou t°eba mazat soubory na mφstnφm disku. P∙vodnφ forma zabezpeΦenφ (Authenticode, digital ID pracujφcφ na principu identifikace v²robce, kterΘho by bylo mo₧no hnßt k zodpov∞dnosti) se ukßzala nedostaΦujφcφ. ActiveX Controls by m∞ly b²t oznaΦeny digitßlnφm podpisem v²robce a prohlφ₧eΦ by p°ed jejich nahrßnφm m∞l u₧ivatele informovat, zda je podpis p°φtomen, a v takovΘm p°φpad∞ zobrazit i zßkladnφ informace o v²robci vΦetn∞ www adresy. Na u₧ivateli potom je, zda si dan² produkt pustφ do poΦφtaΦe (jen tento, vÜechny budoucφ od danΘho v²robce...).

      Mno₧stvφ bezpeΦnostnφch d∞r v ActiveX zaplavilo na poΦßtku roku odborn² tisk a v podstat∞ opozdilo v²voj Exploreru 4.0 i Windows 98, proto₧e Microsoft musel r∙znß odhalenφ "kontrovat" rychl²mi aktualizacemi odkryt²ch slabin architektury. Bezprost°ednφ pou₧itφ Φekß ActiveX spφÜe v intranetech ne₧ Internetu....

Jaroslav Zapletal

internet4U