VyÜlo v Φasopise: CHIPweek
╚φslo:24/95, 15/95
Datum:11. °φjna 1995
Strana:p°φloha, str. 1-3
Rubrika/kategorie: ╚lßnky o Internetu

zp∞t do archivu Φlßnk∙ | rejst°φk

Ji°φ Peterka

Java, revoluce ve sv∞t∞ WWW


VyÜlo v t²denφku CHIPweeku 24/95 jako souΦßst druhΘ p°φlohy "Trendy '95", p°ed Invexem '95"

Ve sv∞t∞ poΦφtaΦ∙ ji₧ pom∞rn∞ dlouho nedoÜlo k ₧ßdnΘmu radikßlnφmu zlomu - zatφm se vÜe vyvφjφ spφÜe lineßrn∞: programy se zpomalujφ rychleji, ne₧ se zrychluje hardware, a jejich pam∞¥ovΘ nßroky rostou rychleji, ne₧ staΦφ r∙st objem dostupnΘ pam∞ti. Nynφ se ale na obzoru r²suje n∞co skuteΦn∞ p°evratnΘho, co by mohlo znamenat opravdovou revoluci - n∞co co z dneÜnφho poΦφtaΦe, dosud chßpanΘho jako st°ed vÜehomφra, uΦinφ pouhou periferii globßlnφ sφt∞ s nesrovnateln∞ v∞tÜφmi mo₧nostmi. N∞co co mß Üanci zajistit v²razn² r∙st funkΦnosti a u₧itn²ch vlastnostφ, za cenu jen velmi malΘho nßr∙stu slo₧itosti program∙. ╪eΦ je o koncepci dalÜφho rozvoje u₧ivatelsky velmi atraktivnφ slu₧by World Wide Web, kterΘ otev°el dve°e nov² programovacφ jazyk Java.

Historie slu₧by World Wide Web, kterß doslova vlßdne dneÜnφmu Internetu, se nezdß b²t p°φliÜ starß. NicmΘn∞ principy, na kter²ch stojφ, jsou pom∞rn∞ dßvnΘho data - alespo≥ m∞°φme-li Φas podle dneÜnφho p°ekotnΘho v²voje v celΘ oblasti v²poΦetnφ techniky.

Ji₧ na samΘm poΦßtku poΦφtaΦovΘ Θry, v roce 1945, si jeden z tehdejÜφch pion²r∙, Vannevar Bush, povÜimnul ₧e lidskΘ myÜlenφ obvykle nemß podobn∞ lineßrnφ pr∙b∞h, jako sekvenΦnφ v²poΦet na tehdy se rodφcφch poΦφtaΦφch. LidskΘ myÜlenφ podle Vannevara Bushe pracuje s asociacemi, a rychle p°eskakuje z jednoho mφsta na druhΘ na zßklad∞ asociacφ, kterΘ jednotlivΘ myÜlenky vyvolßvajφ. Vznikß tak vlastn∞ velmi jemnß pavuΦina vzßjemn∞ propleten²ch zßvislostφ a vztah∙, kterou lidskΘ myÜlenφ prochßzφ po r∙zn²ch cestßch a trasßch. PoΦßtkem Üedesßt²ch let se k tΘto p°edstav∞ vrßtil znßm² vizionß° Ted Nelson (Theodor Holm Nelson), a p°edstavu Vannevara Bushe o Φinnosti jednotlivΘho lidskΘho mozku zobecnil a zasadil do globßlnφho rßmce univerzßlnφ celosv∞tovΘ knihovny a globßlnφho informaΦnφ indexu, kterΘmu dal p∙sobivΘ jmΘno: äXanadu". Tφm vlastn∞ vybudoval koncepΦnφ zßklady hypertextu.

Xanadu neusp∞lo. WWW ano.

VzneÜenΘ myÜlenky Teda Nelsona se po zhruba dv∞ desetiletφ neda°ilo ·sp∞Ün∞ realizovat v jejich plnΘ krßse a sφle. A to ani v dob∞, kdy cel² projekt Üt∞d°e financovala (od roku 1988) firma Autodesk. Poda°ilo se ale realizovat, a to v opravdu masovΘm m∞°φtku, n∞co mΘn∞ okßzalΘho a dokonalΘho, ne₧ co si p∙vodn∞ p°edstavoval Nelson - dneÜnφ slu₧bu World Wide Web.

Prvnφm krok uΦinil pan Tim Berners-Lee ze Üv²rarskΘho st°ediska CERN. Byl to prßv∞ on, kdo stvo°il World Wide Web jako univerzßlnφ hypertextov² systΘm, fungujφcφ v sφ¥ovΘm prost°edφ. On vyvinul p∙vodnφ p°enosov² protokol HTTP (HyperText Trasnfer Protocol) pro p°enos hypertextov²ch dat Internetem. On vymyslel jednotn² zp∙sob adresovßnφ (ukazatele URL, Uniform Resource Locator). On navrhnul jazyk HTML (Hypertext Markup Language), definujφcφ formßt hypertextov²ch dokument∙ - jak²si sφ¥ov² PostScript pro pot°eby slu₧by WWW. Dφky jemu mohl vzniknout prvnφ prohlφ₧eΦ (browser), ve kterΘm staΦilo ukßzat a kliknout na urΦit² äkus" informace, a zp°φstupnit si ji bez ohledu na to, kde se tato informace nachßzφ.

Pokud jde o World Wide Web jako jednu ze slu₧eb Internetu, ji₧ tento prvnφ krok p°edstavoval dosti radikßlnφ zm∞nu oproti p°edchozφmu stavu - Internet toti₧ v tΘ dob∞ byl znaΦn∞ äu₧ivatelsky nep°φtuln²". Kdo jej cht∞l pou₧φvat, musel znßt mnohdy velmi kryptickΘ p°φkazy a jemnΘ nuance Unixu, a o podobnΘm stylu prßce, jak² mu se sv²m grafick²m u₧ivatelsk²m rozhranφm nabφzely zaΦφnajφcφ MS Windows Φi ji₧ lΘpe zabydlenΘ poΦφtaΦe MAC, si mohl nechat jen zdßt. Teprve se vznikem WWW se objevila slu₧ba, kterß zp°φstup≥ovala nevyΦerpatelnΘ zdroje Internetu stylem äpoint and click".

NicmΘn∞ Tim Berners-Lee p°istoupil ke svΘmu °eÜenφ z pozice v∞dce. Tedy z pozice Φlov∞ka, kter² dbß na racionßlnφ vyu₧itφ dostupn²ch zdroj∙, kter² se sna₧φ vyvarovat ka₧dΘho nßznaku pl²tvßnφ, a kter² nep°iklßdß p°φliÜ velkou vßhu älacin²m" efekt∙m. Jeho World Wide Web byl vlastn∞ jen chytr²m a Üikovn²m prohlφ₧edlem Φist∞ textov²ch materißl∙.

Schopnost lidφ absorbovat informace je ovÜem relativn∞ nejni₧Üφ prßv∞ u psanΘho textu - pokud bychom lidskΘ smysly p°irovnali k p°enosov²m kanßl∙m a m∞°ili jejich p°enosovou kapacitu, pak psan² text by Φlov∞k v pr∙m∞ru dokßzal p°ijφmat rychlostφ cca 55 bit∙ za sekundu, zatφmco u sluchu jde o hodnoty v °ßdu kilobit∙ za sekundu, a v p°φpad∞ zraku dokonce v °ßdu megabit∙. Jak mnoho pravdy je na tom, ₧e jeden Üikovn² obrßzek °ekne vφce, ne₧ celΘ strßnky textu!

Tim Berners-Lee vÜak nezabudoval do svΘho Webu schopnost prßce s grafikou Φi se zvuky zcela zßm∞rn∞, proto₧e se velmi obßval zneu₧itφ t∞chto schopnostφ, kterΘ by vedly k rychlΘmu zahlcenφ dostupn²ch p°enosov²ch kanßl∙. Kdy₧ se pak v roce 1992 a 1993 zaΦφnajφ objevovat klientskΘ programy slu₧by Gopher, vybavenΘ schopnostφ zobrazovat i grafickΘ obrßzky, zdßlo se ₧e Gopher bude mφt znaΦn∞ navrch.

Rodφ se mozaika

Sv∞tlou budoucnost pro World Wide Web odstartovalo a₧ nßhlΘ rozhodnutφ, kterΘ jednΘ pozdnφ prosincovΘ noci v roce 1992 uΦinili dva mladφ lidΘ, Marc Andreessen a Eric Bina, v kavßrn∞ Espresso Royale v Champaign-Urbana ve stßt∞ Illinois v USA. Oba v tΘ dob∞ pracovali pro znßmΘ st°edisko NCSA (National Center for Supercomputing Applications), kde vyvφjeli programy pro 3D vizualizaci na v²konn²ch grafick²ch pracovnφch stanicφch. TΘ noci si oba °ekli: zkusφme to. M∞li tφm na mysli hypertext i s obrßzky, v prost°edφ slu₧by World Wide Web. NejspφÜe ani netuÜili, ₧e prßv∞ maΦkajφ spouÜ¥ na startovacφm za°φzenφ rakety jmΘnem WWW.

V dob∞ od ledna do b°ezna roku 1993 jejich velmi intenzivnφ prßce p°inesla prvnφ ovoce - program NCSA Mosaic. Podle zvyklostφ st°ediska NCSA, spadajφcφho pod univerzitu v Illionis, byl voln∞ Üi°iteln². Byl pom∞rn∞ jednoduch², m∞l jen asi 9000 °ßdek zdrojovΘho k≤du (zatφmco nap°φklad dneÜnφ Windows 95 jich majφ 11 milion∙), a vzal sv∞t doslova ·tokem. Umo₧nil zp°φstupnit obrovskΘ bohatstvφ Internetu zp∙sobem, kter² byl jednoduch², srozumiteln² a snadno vyu₧iteln² i pro laickΘ u₧ivatele, kte°φ nemuseli pronikat do ₧ßdn²ch technick²ch zßludnostφ Internetu. Jak dnes vzpomφnß Eric Bina, obavy o zneu₧itφ slu₧by WWW schopnΘ pracovat s obrßzky se z velkΘ Φßsti naplnily: äLidΘ to zneu₧φvali hrozn²m zp∙sobem. Nap°φklad strßnku textu, napsanou p∙vodn∞ v PostScriptu, nasnφmali jako bitmapov² obrßzek velikosti megabytu, a ten pak Üφ°ili - zatφmco p∙vodnφ text nem∞l vφce, ne₧ n∞jak²ch 1000 byt∙. Ale pravdu m∞l i Marc Andreessen, kdy₧ tvrdil ₧e se stejn∞ tak najde hodn∞ lidφ, kte°φ dokß₧φ vyu₧φt mo₧nostφ mozaiky a Webu efektivn∞, zp°φstupnit jejich prost°ednictvφm skuteΦn∞ hodnotnΘ informace, a takΘ je vhodn∞ konzumovat".

V dob∞, kdy intenzivn∞ pracoval na mozaice, byl Marc Andreessen jeÜt∞ takΘ studentem. Kdy₧ v prosinci 1993 svß studia ·sp∞Ün∞ zakonΦil, °editel st°ediska NCSA mu nabφdnul setrvat zde i nadßle. OvÜem za jednΘ podmφnky - ₧e se ji₧ nebude podφlet na projektu MOSAIC. äNa vytvo°enφ Mosaiky se spolupodφlelo kolem 40 lidφ", °ekl tehdy Andreessenovi, änemyslφte ₧e by i dalÜφ m∞li dostat Üanci podφlet se i na slßv∞?" P°esv∞dΦen, ₧e Üance budou jeÜt∞ v∞tÜφ kdy₧ u toho sßm nebude, vydal se Andreessen do K°emφkovΘho ·dolφ (Silicon Valley).

Vznikß Netscape

Po n∞kolika m∞sφcφch prßce pro celkem neznßmou firmu EIT si na Andreessena vzpomn∞l legendßrnφ zakladatel firmy Silicon Graphics, Jim Clark. V ·noru 1994 mu poslal email, a zßhy si plßcli. Andreessen se stal prvnφm zam∞stancem nov∞ zalo₧enΘ firmy jmΘnem Mosaic Communications. Zßhy se ob∞ma poda°ilo zφskat do party i Erica Binu, a tak prßce na dalÜφm v²voji Mozaiky mohly zaΦφt.

Nov∞ zalo₧enß firma vÜak musela zßhy Φelit nep°φjemn²m hrozbßm, ₧e zcizila intelektußlnφ vlastnictvφ st°ediska NCSA. Andreessen s Binou se hrozφcφmu vyhnuli velmi elegantn∞ - rozhodli se zaΦφt ·pln∞ od zaΦßtku, na zelenΘ louce. Firmu p°ejmenovali na Netscape Communications, a svou novou mozaiku zaΦali psßt odznova. M∞lo to ostatn∞ i svΘ p°ednosti, proto₧e p∙vodnφ mozaika byla narychlo napsan²m programem, kter² vznikal v prost°edφ p°φmo h²°φcφm konektivitou - st°edisko NCSA m∞lo velmi rychlou p°φpojku spoji T1 a T3, a tak si p∙vodnφ NCSA Mosaic mohl vesele vychutnßvat neskuteΦn²ch 45 megabit∙ za sekundu. Nynφ se ale jeho auto°i naopak sna₧ili p°izp∙sobit obvykl²m podmφnkßm ädomßcφho" u₧ivatele, vlastnφcφho modemovou p°φpojku o rychlosti 14,4 kilobit∙ za sekundu. V²sledn² produkt, jmΘnem Netscape Navigator, pak zp°φstupnili ka₧dΘmu tΘm∞° zadarmo, prost°ednictvφm Internetu - pro akademickΘ u₧ivatele ·pln∞ zadarmo, a pro komerΦnφ u₧ivatele za spφÜe symbolickou cenu n∞kolika desφtek dolar∙. TΘm∞° brzy si firma Netscape Communications zφskala 70 procent veÜkerΘho trhu klientsk²ch program∙ pro WWW (browser∙) i WWW server∙, a dodnes si tuto pozici dr₧φ.

Netscape udßvß krok

Soudob² v²voj slu₧by World Wide Web je do znaΦnΘ mφry urΦovßn prßv∞ firmou Netscape Communications - vzhledem k jejφmu dominantnφmu postavenφ. Tato firma p°itom nevyd∞lßvß ani tak na sv²ch browserech, kterΘ ovlßdly trh a jsou tΘm∞° zdarma. Vyd∞lßvß na tom, ₧e prodßvß i svΘ vlastnφ WWW servery (typicky ve form∞ Unixov²ch WWW dΘmon∙), jejich₧ cena dnes dosahuje a₧ 5000 dolar∙. P°itom browsery i servery od firmy Netscape samoz°ejm∞ jsou ävzßjemn∞ sehranΘ" - nabφzφ n∞kterΘ funkce, kterΘ jinΘ browsery a jinΘ servery nenabφzφ a nepodporujφ. Souvisφ to i s relativn∞ Üpatnou standardizacφ celΘ slu₧by WWW: doposud jsou pln∞ standardizovßny pouze ukazatele URL, zatφmco p°enosov² protokol HTTP se nachßzφ ve stßdiu p°edb∞₧nΘho standardu (Draft Internet Standard). JeÜt∞ h∙°e je pak na tom jazyk HTML (HyperText Markup Language), od kterΘho ji₧ existujφ nejmΘn∞ Φty°i verze - HTML 1, HTML 2, HTML 3 a HTML +, ale ₧ßdn² z nich dosud nenφ standardizovßn. Ka₧d² v²robce tohoto standardizaΦnφho vakua m∙₧e vyu₧φt k tomu, aby p°iÜel s ·pln∞ nov²m °eÜenφm Φi alespo≥ s drobn²mi ·pravami dle sv²ch vlastnφch p°edstav. Firma Netscape Communications tak Φinφ takΘ - lze se tomu divit?

Programs at your fingertips

Schopnosti p∙vodnφ slu₧by WWW, omezenΘ jen na prßci s textem, se dφky postupnΘmu v²voji znaΦn∞ obohatily: nejen o mo₧nost prßce s grafikou, ale postupn∞ takΘ o podporu formulß°∙, tabulek, lepÜφch mo₧nostφ formßtovßnφ, o mo₧nost animace, podporu zvuku atd. VÜechny tyto funkce jsou p°itom realizovßny bu∩ p°φmo samotn²m klientsk²m programem (browserem), nebo externφm programem, kter² je explicitn∞ zavolßn k tomu, aby zpracoval n∞kterou konkrΘtnφ äp°φlohu" - nap°φklad p°ehrßl zvukov² zßznam. V₧dy vÜak platφ zßsada, ₧e mezi serverem a klientem slu₧by WWW se p°enßÜφ pouze data, zatφmco programy pro jejich sprßvn∞ zpracovßnφ se musφ ji₧ nachßzet u klienta.

Nynφ se ale objevila velmi p°evratnß myÜlenka, kterß v zßsad∞ °φkß: nebudeme posφlat klient∙m pouze data, ale rozvnou celΘ programy, kterΘ se u klienta spustφ a n∞co zde vykonajφ. M∙₧e jφt nap°φklad o film, kter² se sßm promφtne, o graf, kter² se sßm vykreslφ, ale takΘ nap°φklad o hru apod. Podstatu v∞ci asi vhodn∞ vystihuje slogan äexecutable content" (doslova äprovediteln² obsah") - to, co klient zφskßvß ze sφt∞, si ji₧ v sob∞ nese vÜechno pot°ebnΘ pro vlastnφ zpracovßnφ, prezentaci, provedenφ atd. Tak₧e u₧ nikoli pouhΘ äinformation at your fingertips", jak si to p°edstavoval a nadßle p°edstavuje pan Gates, ale nynφ ji₧ celΘ äprograms at your fingertips". P°edstavme si n∞kterΘ zajφmavΘ d∙sledky.

Jestli₧e dosud bylo nutnΘ vybavit ka₧d² poΦφtaΦ dostateΦn∞ v²konn²m operaΦnφm systΘmem, kter² by m∞l ji₧ p°φmo v sob∞ zabudovßno celΘ ÜirokΘ spektrum funkcφ, pot°ebn²ch pro zp°φstupn∞nφ r∙zn²ch informacφ, nynφ bude staΦit n∞co mnohem jednoduÜÜφho. Nynφ bude staΦit minimßlnφ operaΦnφ systΘm, schopn² ästßhnout to, co bude u₧ivatel skuteΦn∞ pot°ebovat". Nynφ ji₧ nebude nutnΘ zßvodit, kdo svΘho poΦφtaΦe nap∞chuje co mo₧nß nejvφce funkcφ, kterΘ stejn∞ v∞tÜinu Φasu nevyu₧φvß, a tak zde pouze zbyteΦn∞ p°ekß₧φ a komplikujφ ₧ivot t∞m funkcφm, kterΘ jsou pou₧φvßny soustavn∞. Nynφ bude mo₧nΘ se vrßtit ke skuteΦn∞ fungujφcφ jednoduchosti, ke kterΘ se bude dalÜφ slo₧itost p°idßvat aditivn∞ a₧ na zßklad∞ skuteΦnΘ pot°eby - u₧ivatel si v₧dy äzavolß" to, co pot°ebuje. Jeho poΦφtaΦ se tak vlastn∞ stane periferiφ sφt∞ jako jednΘ obrovskΘ a nesmφrn∞ bohatΘ zßsobßrny aplikacφ, ze kterΘ bude moci Φerpat.

Ale mo₧nß toto vÜechno jsou jen drobnosti ve srovnßnφ se zm∞nami, kterΘ takov²to p°φstup teprve vyvolß, a kterΘ dnes nejsme schopni ani domyslet. T°eba se prßv∞ naznaΦenß myÜlenka prosadφ i jinde, ne₧ v prost°edφ u₧ivatelsky nesmφrn∞ atraktivnφ slu₧by World Wide Web. Nebo obrovskou popularitu tΘto slu₧by jeÜt∞ vφce posφlφ, a skuteΦn∞ naplnφ prorockß slova otce Ethernetu, Roberta Metcalfa, kter² v ·noru letoÜnφho roku p°edpov∞d∞l ₧e äWWW browsery se stanou novodob²mi operaΦnφmi systΘmy".

Jak funguje Java

Zamysleme se nynφ takΘ troÜku nad tφm, zda je v∙bec mo₧nΘ prßv∞ naznaΦenou revoluΦnφ p°edstavu prakticky realizovat. Mo₧nΘ to samoz°ejm∞ je, a sv∞t ji₧ m∞l mo₧nost se o tom nßzorn∞ p°esv∞dΦit - na jednom konkrΘtnφm p°φkladu, kter²m je WWW browser HotJava firmy Sun. To podstatnΘ na n∞m ale je pou₧itφ jazyka Java, kter² takΘ vymysleli u firmy Sun Microsystems.

Mß-li b²t ke klientovi p°enesen a zde proveden n∞jak² program, je nutnΘ jej v n∞Φem naprogramovat. Prßv∞ k tomuto ·Φelu slou₧φ Java - jde tedy o programovacφ jazyk. SvΘ ko°eny v jazyku C++ nezapφrß, ale k mnoh²m vlastnostem C++ se zcela zßm∞rn∞ nehlßsφ. Nap°φklad k mo₧nosti p°φstupu do k≤du prost°ednictvφm pointr∙, kterΘ umo₧≥ujφ netuÜenß programßtorskß äzv∞rstva". Zßsadnφm rozdφlem mezi jazykem Java a C++ je ale skuteΦnost, ₧e programy v jazyku C++ jsou kompilovßny, zatφmco programy v jazyku Java jsou interpretovßny. P°esn∞ji: zdrojovΘ programy v jazyku Java jsou nejprve p°elo₧eny do jednotnΘho mezitvaru, v n∞m jsou p°eneseny ke klientovi, a zde je tento mezitvar interpretovßn. Je to z°ejm∞ jedinΘ mo₧nΘ °eÜenφ, proto₧e musφme vzφt v ·vahu, ₧e klientskΘm programy (browsery) mohou stßt na r∙zn²ch platformßch, a mohou tedy äb∞₧et" nad r∙zn²mi procesory, s r∙zn²mi instrukΦnφmi soubory apod. Navφc se p°edpoklßdß, ₧e programy v jazyku Java budou provßd∞ny pr∙b∞₧n∞, v reßlnΘm Φase - nap°φklad tak, ₧e Φßst programu ji₧ pob∞₧φ, zatφmco zb²vajφcφ Φßst se bude teprve ädoΦφtat" ze sφt∞. A to by p°φpadnß kompilace mezitvaru neumo₧≥ovala.

VÜe je p°itom vymyÜleno tak, aby to mohlo b²t jednoduchΘ a fungovalo dostateΦn∞ efektivn∞: interprety jazyka Java pro r∙znß prost°edφ zabφrajφ kolem 45 kilobyte pam∞ti (ano, Φtete dob°e, pouh²ch Φty°icet p∞t kilobyte!!). Firma Sun ji₧ mß k dispozici interprety, kterΘ pracujφ v prost°edφ Microsoft Windows 95, na poΦφtaΦφch Mac, pod Windows NT, a samoz°ejm∞ i pod r∙zn²mi variantami Unixu.

Firma Netscape Communications ji₧ dala ve°ejn∞ najevo, ₧e hodlß koncepci firmy Sun podporovat, a ₧e novß verze jejφho populßrnφho browseru, Netscape Navigator 2.0, ji₧ bude Javu podporovat. Mßme se tedy na co t∞Üit. Zcela jist∞ o Jav∞ jeÜt∞ hodn∞ uslyÜφme.

zp∞t do archivu Φlßnk∙ | rejst°φk
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm