Hlavní navigace

CGI a databáze peer-to-peer v klientech

Ladislav Zajíček 30. 1. 2001

Kdesi na vzdálenějším obzoru je MS.NET a jiné podobné .nety. Experimentuje se s vymetením GUI z klientů a jejich nahrazením dodávkou kompozitního GUI ze serverů. Kontrapunktem tohoto trendu jsou pokusy se začleněním CGI aj. žonglérů s daty do klientů. Vzniká slušný chaos trendů, ale něco by z něj povstat mohlo.

Vezmu to od podlahy. Když Linux byl ještě miminem a krachující Windows 3.0 běžely jen na izolovaných počítačích, běžní uživatelé neměli o síťové komunikaci ani zdání. Větší firmy měly z čeho vybírat, ale domácí počítače byly mimo mísu – sítění bylo drahé. Začátkem devadesátých let přijuchaly Windows for Workgroups (později značené jen číslem verze 3.11) a milióny lidí překračovaly práh do světa sítí.

Producenti softwaru pro Windows se museli přizpůsobit. Místo toho, aby uživatelé přetahovali obsahy databází „podpažním systémem“ (disketou), mohli ze svého počítače komunikovat s databází umístěnou na jakémkoli jiném počítači v lokální síti (brzy přibyl i komunikační modul TCP/IP). Nadšení neznalo mezí. A to ještě neexistoval webovský prohlížeč a Internet byl záležitostí podivínů, píšících nějaké hieroglyfy do příkazové řádky.

Když tak vzpomínám na to, jak jsem v síti W3.11 instaloval databázový software Paradox tenkrát slavného Borlandu a koukal, co a jak se děje, musím konstatovat, že historie se stále opakuje. Sice v jiných rozměrech, ale podstata zůstává stejná. Tenkrát stačilo, abyste na disk počítače v síti W3.11 uložili maličký soubor pdoxusrs.net a měli jste přístup ke všem paradoxím databázím na síti. GUI zajišťovala okrouhaná klientská verze (na tom se zase tak moc nezměnilo). Kompozitní GUI tenkrát nikoho netrápilo – už proto, že přenos dat byl pomalý i v LAN (procesor 386 byl výkřikem módy).

Skoro totéž teď řeší vývojáři MS.NETu a jiných podobných internetových projektů. Jedním ze zásadních problémů je, co se bude provádět u klienta a co na serverech APS, k nimž se budou klienti připojovat. V houštině hledaných řešení je i hezký logický problém – která data bude kdy vhodné poslat klientovi, aby se s nimi žonglovalo u něj a nezatěžovaly se tím servery (samozřejmě včetně zajištění přenosu výsledků operací s daty z klienta zpátky na servery APS).

Na to přímo navazuje otázka – co bude u klientů provádět tyto operace s daty (a kdy a jak se změny přenesou na servery, aby nezmizely)? Klientské provádění operací s daty zaslanými ze serverů není nic nového. Stačí připomenout nejen prostou interpretaci HTML či JavaScriptu, ale i javový JVM apod. A co takhle zašoupnout do klienta CGI (resp. API), které bude dělat s daty to, co s nimi CGI dělá na serverech?

Tuhle – zdánlivě bláznivou – myšlenku mi vnukl experiment otevřeně kódové skupiny geeků Protozilla. Podoba jejího názvu s polo-netscapovskou Mozillou není náhodná. Kluci v Protozille vyvíjejí udělátka pro prohlížeč Mozilla. Protozilla se ale nezabývá jen CGI. Její architektura umožňuje práci s jakýmkoli protokolem přímo z prohlížeče. Stačí zadat příslušný řetězec znaků – hlavně prefix – do URI (adresové části prohlížeče) a už to jede. A nejde jen o lokální využití. Spustit software na klientovi via URI lze i zvenčí (pokud je to povoleno), stejně jako spustit komunikaci via URI z klienta směrem ven. Protozillový software není věrnou kopií systému plug-ins pro prohlížeče – vývojáři Protozilly svému postupu začlenění softwaru s předurčenými funkcemi říkají „socket adapter“.

Protozilla sleduje dva zásadní trendy. Prvním je snaha nacpat veškerou komunikaci do prohlížeče. Možná si vzpomenete, jaké haló před lety vyvolal Microsoft, když do MSIE začlenil i (odkliknutelné) výpisy obsahů lokálních disků. Já jsem už před pěti lety začal využívat databázový skriptový jazyk á la SQL a pro komunikaci se svými daty via CGI WWW serveru, abych nemusel používat otravné GUI databáze. Od té doby znám jen její nejprostší tabulkové provedení a všechno se mi zobrazuje v prohlížeči. I proto tak chápu snahy integrovat veškerou komunikaci do prohlížeče a fandím jim.

Druhým trendem Protozilly (a nejen jí) je přesun operací s daty ze serveru na klienta. To má své limity, ale i možnosti. Samozřejmě, že se na klienta nepřesune obsah obří databáze s milióny položek jen proto, aby mohlo přijít ke slovu jeho CGI. Ale např. komunikace ve skupině lidí, kteří budou využívat databázi (aniž to třeba tuší) zcela mimo server, je nabíledni (replikace a další řízení toků dat v takových databázích je samozřejmostí). Stejně tak si lze představit přesun části dat databáze ke klientovi, u něhož už všechno na sebe vezme jeho CGI, včetně osobního i externího doplňování databáze, jejích úprav apod. A to vše velmi svižně. Což otevírá i pole pro finanční kompenzaci poskytnutých dat – např. u vědeckých databází. A i když skoro všechno na světě jsou databáze, nemusí jít jen o ně.

Když opustíme pole poněkud natvrdlých webovských serverů a skočíme do sítí peer-to-peer, pak se fantazie může rozvinout naplno. Různé protokoly, popisy dat, různá CGI/API u klientů se v těchto sítích mohou uplatnit měrou netušenou. I Protozilla se zaměřuje na sítě peer-to-peer, byť na svém počátku zatím jen na úrovni běžné klientské komunikace, resp. jejích základních protokolů.

Umožit klientům těchto sítí rozličné operace se získanými daty přímo u sebe, resp. na serverových „nodes“, by byla pohádka (i pro hackery :-) Stejně tak možnost využití „socket adaptérů“ pro prezentaci svých dat v síti peer-to-peer, by byla (a snad bude) lahůdkou. Funkce takových adaptérů by mohly přispět k řešení problematiky neotravné kompenzace autorských děl, rozvoje aukcí a jiných prodejů via peer-to-peer, zajímavých forem interaktivní komunikace ve skupinách, relevantnějšímu prohledávání opravdu aktuálních dat atd. Inteligentní vývoj softwarových adaptérů by mohl vést i k jejich standardizaci a posunu kupředu především v sítích peer-to-peer.

V září jsem pro Lupu napsal článek Musí být GUI trvale na desktopu? Ale vůbec ne. Jak nato?. Klientské softwarové adaptéry pro peer-to-peerovou komunikaci z prohlížeče možná pootevřou vrátka kompozitním GUI o něco víc. I když se trend, jaký nastoupila Protozilla, zčásti objevuje i v uzavřeném – a vzájemně nekompatibilním – kódu velkých firem (Microsoft, Apple), vývoj otevřeného kódu přináší větší šance jeho obecnějšímu uplatnění. Bohužel, otevřený kód se dělá, jen když je čas a chuť, takže to jde pomalu, byť hezky. Důležité ale je, že takový vývoj tady je a že ho může převzít a rozvinout, kdokoli bude mít chuť a dobrou vizi.

Našli jste v článku chybu?

31. 1. 2001 0:17

Martina Kopty (neregistrovaný)
MS se v IE pokousi o takove neco s vazanim dat. Docela se mi to libilo. Pokud Protozzila zaujme producenty, bude to skvela uleva hlavne co se tyce zbytecnych prenosu opakujicich se dotazu po Internetu (treba kdyz chci vypis vysledku vyhledavani z Google, muze mi prijit komplet, a listovat si budu jen daty, ktera uz prohlizec ma, z Netu pak stahnu pri prechodu na novou stranku jen reklamu :-). Mozna by bylo fajn, kdyby takovou snahu podporilo treba W3C nebo ISOC IETF, kdyby o tom vyslo RFC...



Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Měšec.cz: Vklad na cizí účet je draze zpoplatněn (přehled)

Vklad na cizí účet je draze zpoplatněn (přehled)

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

DigiZone.cz: Milan Kruml: procházka TV historií

Milan Kruml: procházka TV historií

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Digi CZ výrazně zlevnila balíček HBO

Digi CZ výrazně zlevnila balíček HBO

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

120na80.cz: Rovnátka, která nejsou vidět

Rovnátka, která nejsou vidět

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Měšec.cz: Golfové pojištění: kde si jej můžete sjednat?

Golfové pojištění: kde si jej můžete sjednat?

DigiZone.cz: HD programy ČT i v UPC Horizon

HD programy ČT i v UPC Horizon

120na80.cz: Stoná vaše dítě často? Upravte mu jídelníček

Stoná vaše dítě často? Upravte mu jídelníček

Podnikatel.cz: Na 3. prosince se chystá protest proti EET

Na 3. prosince se chystá protest proti EET

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Podnikatel.cz: 3, 2, 1..EET startuje. Na co nezapomenout?

3, 2, 1..EET startuje. Na co nezapomenout?

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu