COMPUTERWORLD
Specializovaný týdeník o výpočetní technice
o Internetu
(CW 23/96)

Interaktivní web

Není tomu tak dávno, kdy se webovské stránky skvěly většinou jen nějakým tím obrázkem. Také služeb, které bylo možné na těchto stránkách najít, nebylo zrovna nejvíce a jejich realizace byla dosti spartánská. V posledních několika měsících došlo ke vstupu mnoha firem do internetovského byznysu, který přinesl také mnoho nových technologií pro oživení WWW stránek a vytváření interaktivních služeb.

Proč vlastně používat WWW?

World Wide Web, dnes jedna z nejpopulárnějších služeb Internetu, byla původně navržena s úmyslem vytvořit hypertextové prostředí pro sdílení informací. Kdo by se nadál, že se jí dostane takové podpory široké veřejnosti a stane se jedničkou mezi dalšími, původně daleko rozmanitějšími službami Internetu.

Základní model je velice jednoduchý a stojí na HTML jazyku. Dokumenty zapsané v HTML jsou vlastně textové soubory využívající další možnosti, jak definovat speciální text jako např. odkaz. Odkaz byl také vlastně prvním zárodkem interaktivity, protože umožňuje v závislosti na přání uživatele zobrazit požadovanou informaci. Důležitou vlastností modelu bylo statické uspořádání, neboť HTML dokumenty jsou pouze soubory, které lze číst a pouze s pomocí dodatečných prostředků lze reagovat na akce uživatele. Většina odezev je také zpracována samotným prohlížečem, který je daleko více než jen pouhý prohlížeč HTML souborů.

Krátce řečeno velmi těžko byste hledali nevhodnější platformu na vytváření interaktivních služeb, než je právě WWW. Přesto nelze mávnout rukou a vytvářet vlastní řešení, protože v tom případě se vystavujete problémům s distribucí vašeho softwaru na všechny platformy. Právě dostupnost webovských prohlížečů pro všechny počítačové platformy je obrovskou výhodou WWW před ostatními typy služeb. Uživatel nemusí totiž instalovat speciální software pro každou službu, stačí mu jeden program. Navíc - pokud se uživatel brouzdá webem a narazí na interaktivní aplikaci vytvořenou pomocí WWW, může ji ihned využít. To jsou dostatečné důvody, proč rozšířit původní model WWW a umožnit tak provoz interaktivních služeb a aplikací. Se vstupem komerčních subjektů se roztrhl pytel s nástroji a způsoby, jak takové aplikace tvořit. Nejprve se podívejme na dva základní možné přístupy k tomuto problému.

Serverové aplikace

Ideálním stavem je, pokud aplikace příliš nezatěžuje počítač uživatele a její zpracování probíhá na serveru. V takovém případě není uživatel nucen činit nic jiného, než reagovat na akce aplikace a užívat výhod služeb této aplikace. Velmi malý soubor úloh lze řešit tímto způsobem a pokud nejsou přímo řešeny prací na klientu, tak alespoň spoluprací klienta a serveru. Nejprve se podívejme, jak rozšířit možnosti WWW, aniž bychom uživatele zatěžovali instalací speciálních doplňků jeho prohlížeče.

CGI skripty

CGI (Common Gateway Interface) je nejstarším řešením problémů se statikou HTML jazyka. Ale stále patří k nejpoužívanějším. Prvním důvodem je široká podpora snad všech existujících WWW serverů, druhým transparentost pro uživatele. I ostatní řešení nevyžadují většinou od uživatele nic jiného než standardní práci s webem, ale existují pouze na určité platformě.

Jak tedy CGI funguje? Velmi jednoduše: WWW server předá skriptu údaje dodané uživatelem (kliknutím na tlačítko, vepsáním dat do formuláře) a ten je zpracuje. Vytvoří HTML stránku, která je potom předána zpět serveru. Skript může být klasický program, ale často je také řešen pomocí dávkových příkazů shellu Unixu (bash, sh, apod.).

Tímto způsobem lze samozřejmě řešit jen určitou skupinu úloh. CGI je velmi neefektivní a zatěžuje značně server. Proto se pomalu přechází k elegantnějším řešením.

API serverů

Několik nejpoužívanějších WWW serverů nabízí vlastní soubor funkcí, které umožňují vytvářet další služby. Rozšiřující programy pracují s daty od uživatele a HTML dokumenty, které si uživatel vyžádal.

Možnosti využití jsou široké a stejně jako v předchozím případě, klientská strana zůstává naprosto stejná. Nevýhodou je existence odlišných API pro každý produkt. Pokud se však spoléháte na jediného dodavatele, je používání API ideálním řešením.

Klientské aplikace

Jak již bylo napsáno, WWW prohlížeče nejsou pouhými zobrazovači HTML dokumentů. Jejich hlavní činnost stojí právě na práci s HTML dokumenty a teprve novější verze jsou schopné i pracovat s jinými daty.

Model klient/server se stává stále populárnějším způsobem řešení informačních systémů. Často je toto slovní spojení použito v kontextu, který neodpovídá původnímu významu. U internetovských aplikací se vlastně vždy jedná o spolupráci klienta se serverem, ale zmíněné označení se téměř nepoužívá. Pod pojmem "klientské aplikace" se skrývá řešení využívající stávajícího serveru (tj. standardního webovského, FTP apod.) a veškerá práce probíhá na počítači uživatele. Samozřejmě, že se často využívá kombinace obou přístupů, ale stále převládá doplňování funkčnosti programu uživatele.

Proto se nejprve podívejme, jak je možné obohatit vaše stránky o pohybující se objekty, "živá" data atd. Dnes si již můžete vybrat z nepřeberného množství způsobů.

Java

Nejste jistě překvapeni, že na prvním místě uvádím tento velmi populární jazyk. Nemusí být pouze řešením na straně klienta, ale může. Právě tato flexibilita je výtečný důvod, proč použít Javu. Jestliže dnes ještě nejste připraveni na propojení svých dat na serveru s aplikací, zítra se může stát nutností tato data zpřístupnit. A není menší problém než lehce upravit již existující program, prozatím využívající pouze možnosti běhu v rámci prohlížeče WWW.

Zdálo by se, že další technologie jsou zbytečné, ale Java není ideální. Pouze malé procento uživatelů vlastní počítač a software umožňující provoz tzv. Java appletů a ne vše lze elegantně řešit Javou. Podívejme se tedy dále.

ActiveX

Microsoft nikdy nespí, alespoň ne příliš dlouho. Ve velmi nedávné době nabídl vývojářům internetovských aplikací novinku pod názvem ActiveX. Pokud nebudeme zacházet příliš do detailů, je ActiveX realizací OLE technologie pro Internet.

Pomocí tzv. ActiveX controls je možné rozšířit webovskou stránku o vložené objekty, které zpracovávají akce uživatele a mohou dokonce propojovat data na serveru s HTML stránkami. Protože tato technika je relativně mladá, její životaschopnost se teprve prokáže.

ActiveX je sice soupeřem Javy, ale Microsoft elegantně nadřadil své řešení nad sunovský jazyk. Applety mohou být totiž jedním z vložených objektů a mohu spolupracovat s dalšími. Hlavní nevýhodou je podpora pouze platformy Windows.

Plug-ins

Ještě než se objevila Java a ActiveX, na WWW kraloval Netscape a jeho rozšíření, která se označují jako tzv. plug-ins (anglický výraz je natolik výstižný, že překlad do čestiny je zbytečný).

Existují desítky, možná stovky těchto plug-inů a každý se věnuje jinému problému. Jsou založeny na komunikaci pomocí API netscapovského prohlížeče nebo samostatné práce se speciálními daty. Tato data jsou vložena do HTML dokumentu pomocí odkazu a definice typu dat.

Aby bylo možné s těmito daty pracovat, musí si uživatel stáhnout a nainstalovat příslušnou aplikaci. Protože pro každé řešení existují samostatné aplikace, znamená to neustálou instalaci nových produktů. To určitě není cesta pro ty, kteří chtějí rychle a efektivně s Internetem pracovat, proto se dá předpokládat, že plug-iny se stanou doplňkem jiných řešení (např. Javy).

Nicméně existují obecně rozšířené plug-iny (např. Shockwave, RealAudio, VRML), doplňující web o multimediální dimenzi. Některé z nich se dokonce staly součástí nových verzí prohlížečů a jejich životnost bude asi delší. Ale další postupně mizí, místo nich nastoupily ActiveX a zmíněná Java. Také jejich úroveň a podpora výrobce je odlišná kus od kusu a tak tedy doporučuji od jejich používání spíše odstoupit.

Existuje vítěz?

Jak vidíte, je mnoho možností, jak se zbavit strnulosti HTML a každý má svá pozitiva i negativa. Nelze jednoznačně říci, který zvolit, i když určité trendy jsou znát. Tak tedy mé osobní doporučení zní: pro čistě serverové aplikace volte API WWW serveru, pro klienty Javu nebo ActiveX.

(pes)


| <<< | CW o Internetu | COMPUTERWORLD | IDG CZ homepage |