HotJava, produkt firmy Sun Microsystems Computer Company predstavuje nov² WWW prehliadaΦ, plne implementovan² v programovacom jazyku Java. HotJava je prvou vΣΦÜou u₧φvate╛skou aplikßciou vytvorenou pomocou jazyka Java. DemonÜtruje nielen mohutnΘ mo₧nosti prostredia programovacieho jazyka Java, ale je aj ideßlnou platformou pre distrib·ciu programov napφsan²ch v jazyku Java prostrednφctvom Internetu - najkomplexnejÜej, distribuovanej heterogΘnnej poΦφtaΦovej siete vo svete. HotJava a jej prudko sa rozÜiruj·ca sie¥ovß populßcia Java programov naz²van²ch "applety" (miniaplikßcie) s· najzrete╛nejÜφmi demonÜtrßciami dynamick²ch mo₧nostφ Javy.
HotJava zahα≥a mno₧stvo inovaΦn²ch Φαt a mo₧nostφ id·cich za rßmec prvej generßcie statick²ch prehliadaΦov WWW strßnok. Jednou z jej v²znamn²ch Φαt je jej rozÜφrite╛nos¥ a schopnos¥ "stiahnu¥" Java programy (applety) z ╛ubovo╛nΘho miesta prostrednφctvom siete a uskutoΦni¥ ich spustenie na poΦφtaΦi u₧φvate╛a. HotJava je vybudovanß na technikßch prezerania sietφ zalo₧en²ch na systΘme Mosaic, prφpadne in²ch prehliadaΦoch, priΦom rozÜiruje ich mo₧nosti pridanφm dynamickΘho sprßvania sa, Φo transformuje statickΘ dokumenty na dynamickΘ aplikßcie. HotJava sa takto dostßva ∩aleko za mo₧nosti staticky orientovan²ch WWW prehliadaΦov a vnßÜa ve╛mi ₧iadan· interaktφvnos¥ do koncepcie WWW prehliadaΦov. Transformuje staticky sa zobrazuj·ce ·daje s·Φasn²ch WWW prehliadaΦov do novΘho a dynamicky sa javiaceho systΘmu hypertextov. Umo₧≥uje tvorbu a zobrazovanie animovan²ch aplikßciφ. Tvorcovia WWW strßnok m⌠₧u takto distribuova¥ svoje aplikßcie prostrednφctvom Internetu jednoduch²m kliknutφm tlaΦφtka na ich u₧φvate╛skom poΦφtaΦi.
Koncepcia hypertextov nie je vo svojej podstate nijako novß, jej praktickß realizßcia si vÜak vy₧iadala nieko╛ko desa¥roΦφ. MyÜlienka t²kaj·ca sa hypertextov bola prv² raz popφsanß v eseji V. Busha v roku 1945 a nesk⌠r v Ües¥desiatych a sedemdesiatych rokoch T. Nelsonom. Prvß praktickß, hoci malß implementßcia predstßv sie¥ovo zalo₧enΘho hypertextu bola vytvorenß T. Berners-Leeom v CERNe pou₧itφm v²vojovΘho prostredia NEXTSTEP, ktorΘ sa postupne pretransformovalo v HTML (HyperText Markup Language), HTTP (HyperText Transport Protocol) a WWW (World-Wide Web).
WWW prehliadaΦe kombinuj· funkciu "stiahnutia" informßcie do poΦφtaΦa u₧φvate╛a s mo₧nos¥ou ich prφpadnej vizualizßcie. Jedn²m z najrozÜφrenejÜφch formßtov s·borov WWW prehliadaΦov je HTML, zahα≥aj·ci niektorΘ jednoduchΘ prφkazy na formßtovanie textov. Hlavn²m k╛·Φom pri pou₧itφ hypertextov je mo₧nos¥ HTML pou₧φva¥ navigaΦnΘ smernφky k in²m HTML strßnkam bu∩ na tom istom hostite╛skom poΦφtaΦi, alebo kdeko╛vek v Internete.
Prvß generßcia prehliadaΦov
Pod prvou generßciou WWW prehliadaΦov budeme rozumie¥ prostriedky reprezentovanΘ systΘmom NCSA Mosaic a prφpadne prv²mi verziami Netscape Navigßtora, vytvßraj·ceho il·ziu interaktφvnosti. Pou₧itφm HTML jazyka (aj ke∩ trocha obmedzenΘho) tieto prehliadaΦe poskytuj· mo₧nos¥ spojenia s WWW strßnkami na ╛ubovo╛nom mieste siete. PrehliadaΦ umo₧nφ stiahnutie dßt prisl·chaj·cich zvolenΘmu spojeniu a ich zobrazenie na lokßlnom monitore. Toto vytvßra il·ziu interaktφvnosti.
HotJava prinßÜa nov² zvrat do koncepcie poΦφtania klient-server. VÜeobecnß koncepcia klient-server je zalo₧enß na v²konnom centrßlnom serveri dlhodobo navzßjom spßjaj·com klientov, priΦom prostrednφctvom servera maj· prφstup k dßtam a aplikßciam. Nov² model reprezentovan² WWW predstavuje rozsiahlu kolekciu navzßjom nezßvisl²ch uzlov s krßtkodob²mi spojeniami medzi klientami a viacer²mi servermi. Riadenie sa teda pos·va zo serveru na klienta.
Hlavn²m problΘmom prvej generßcie prehliadaΦov WWW strßnok je, ₧e boli vybudovanΘ vo forme monolitu , ktor² nevyhnutne pre svoj pohyb po WWW sieti potrebuje ma¥ mo₧nos¥ uvedomi¥ si a rozpozna¥ ktor²ko╛vek typ dßt a protokolov. Ke∩₧e sa neustßle objavuj· novΘ typy dßt a protokolov, prehliadaΦe je potrebnΘ neustßle inovova¥ aby boli schopnΘ rozpoznßva¥ novΘ situßcie. KoncovΘho u₧φvate╛a v podstate nemusφ zaujφma¥ s ak²m typom dßt alebo protokolov mß doΦinenia, akΘ verzie prehliadaΦov s· navzßjom kompatibilnΘ a pod. S postupnou expanziou Internetu sa tßto situßcia pomaly vymykß spod kontroly.
PrehliadaΦ HotJava - novß koncepcia WWW prehliadaΦov
HotJava rieÜi problΘm spomφnanej monolitiΦnosti a s·stre∩uje sa na interaktφvnos¥ na miestach, ktorΘ s· ∩aleko od WWW servera - na WWW klienta, ktor²m je poΦφtaΦ na ktorom u₧φvate╛ prezerß WWW strßnky. Klient HotJava m⌠₧e dynamicky naΦφtava¥ do svojej pamΣte segmenty k≤du, ktor² je vyvolßvan² priamo na poΦφtaΦi klienta. TakΘto miniaplikßcie ("applety") zalo₧enΘ na systΘme Java poskytuj· ·pln· animßciu, prehrßvaj· zvukovΘ zßznamy, hudbu a vo vÜeobecnosti interaguj· s u₧φvate╛om v reßlnom Φase.
HotJava odstrßnila statickΘ obmedzenia generßcie prehliadaΦov typu Mosaic. Pou₧itφm systΘmu HotJava je mo₧nΘ pridßva¥ aplikßcie od interaktφvnych vedeck²ch experimentov, v²uΦbov²ch materißlov k hrßm a Üpecializovan²m obchodn²m aplikßciam. Mo₧nosti prehliadaΦa, ktorΘho sprßvanie je mo₧nΘ dynamickΘ modifikova¥ s· takto priam neobmedzenΘ. HotJava navyÜe poskytuje pre u₧φvate╛a principißlne nov² sp⌠sob prφstupu k aplikßciam. SoftvΘr nie je potrebnΘ inÜtalova¥ - migruje transparentne po sieti pod╛a potrieb u₧φvate╛ov. Tvorcovia WWW sa nemusia stara¥, Φi niektorΘ Üpecißlne Φasti softvΘru s· na u₧φvale╛ovom systΘme inÜtalovanΘ - jednoducho si ich automaticky natiahnu.
ZßkladnΘ rozdiely
Hlavn²m rozdielom medzi HotJavou a ostatn²mi prehliadaΦmi je, ₧e pokia╛ tieto ostatnΘ prehliadaΦe maj· poznatky o type Internet protokolu implementovanΘ priamo v sebe, HotJava o nich v podstate niΦ nevie. To Φo HotJava poznß, je sp⌠sob ako nßjs¥ informßcie, aby sa k ich poznaniu dopracovala. V²sledkom tohto informaΦnΘho deficitu, napr. o type protokolu je obrovskß flexibilita a schopnos¥ ve╛mi jednoducho dynamicky pridßva¥ novΘ mo₧nosti a schopnosti systΘmu . Napr. ak niekto napφÜe program v jazyku Java na implementßciu interaktφvnej chemickej simulßcie pod╛a pravidiel aplikaΦnΘho programovΘho interfejsu (API) HotJava, ╛ubovo╛n² u₧φvate╛ m⌠₧e potom ma¥ ve╛mi jednoduch² prφstup k tejto simulßcii, priΦom m⌠₧e s ≥ou priamo interagova¥, na rozdiel od prφstupu k statick²m obrßzkom a textom v klasick²ch prehliadaΦoch. DynamickΘ sprßvanie HotJavy umo₧≥uje tie₧ rozpozna¥ rozliΦnΘ typy objektov. Napr. vΣΦÜina WWW prehliadaΦov rozpoznßva mal² s·bor obrazov²ch formßtov (napr. GIF, X11 pixmap, alebo X11 bitmap). S neznßmymi typmi objektov si jednoducho nevedia poradi¥. Na druhej strane HotJava sa m⌠₧e dynamicky napoji¥ na k≤d hostite╛skΘho poΦφtaΦa, ktor² jej umo₧nφ zobrazi¥ objekt v po₧adovanom novom formßte. Ak napr. niekto navrhne nejak² nov² kompresn² algoritmus, staΦφ mu ak sprφstupnφ svoj Java k≤d na serveri, ktor² obsahuje skomprimovanΘ objekty - nie je teda nutnΘ modifikova¥ vÜetky vo svete nainÜtalovanΘ prehliadaΦe.
K╛·Φov²mi komponentami siete s· protokoly, ktor²mi servere Internetu navzßjom komunikuj· medzi sebou. Pre WWW je HTTP (HyperText Transfer Protocol) najv²znamnejÜφm spomedzi komunikaΦn²ch protokolov. Referencia v rßmci WWW dokumentu na in² dokument (hoci aj na ·plne inom serveri) sa naz²va URL (Uniform Resource Locator). URL obsahuje nßzov protokolu - HTTP, ktor² je potrebnΘ pou₧i¥ pri h╛adanφ po₧adovanΘho dokumentu. VΣΦÜina s·Φasn²ch WWW prehliadaΦov mß priamo zabudovanΘ informßcie o jednotliv²ch HTTP protokoloch. HotJava na rozdiel od toho obsahuje informßciu, kde sa uveden² protokol nachßdza, Φo umo₧≥uje dynamicky, bez akejko╛vek modifikßcie inkorporova¥ novΘ typy protokolov.
Pre ilustrßciu uvßdzame tituln· strßnku prehliadaΦa HotJava. HotJava predstavuje skutoΦne revoluΦn² zlom v poΦφtaΦov²ch technol≤giach, aj ke∩ ide o softvΘrov² produkt (ktor² mimochodom pon·ka firma SUN bezplatne prostrednφctvom Internetu, vÜetky potrebnΘ informßcie vΦφtane nevyhnutnΘho programovΘho vybavenia je mo₧ne zφska¥ napr. na adrese http://java.sun.com) mo₧no v blφzkej bud·cnosti oΦakßva¥ jej bezprostredn² dopad aj na hardvΘr. U₧ dnes sa diskutuje o tzv. Web terminßloch, ktor²ch zßkladn²m ·Φelom bude komunikßcia s informaΦn²mi databßzami WWW. Zßverom mo₧no konÜtatova¥, ₧e HotJava prehliadaΦ, zalo₧en² na prostredφ jazyka Java prinßÜa doteraz nerealizovate╛nΘ dynamickΘ a interaktφvne schopnosti WWW. Dynamick² obsah, dynamickΘ typy dßt a dynamickΘ protokoly poskytuj· ·plne novΘ nßstroje a mo₧nosti tvorcom softvΘru pri prudko sa rozvφjaj·cej elektronickej komercii, edukaΦn²ch procesoch a informaΦnej expl≤zii.