Interaktyvûsapraðai


Kol kas www puslapiai tiek pat interaktyvûs, kiek ir anglø-lietuviø þodynas: noriu þodþio, - atsiverèiu reikiamà puslapá. Bakst ten, bakst ðen ir ðe tau - pasiskaityk (jei dar liko vietos tekstui tarp pieðinukø). Tiek sugeba bet kuri perþiûros programa ("browser").

Todël Webmeisteriai kuria programytes (angliðkai jie vadinami kaip ir "Unix" komandø failai - "scripts"), leidþianèias ið kliento gauti kokià nors informacijà ir pagal jà atlikti papildomus veiksmus.

"Vartiklio" Nr.3 jau buvo minëta CGI ("Common Gateway Interface") sàsaja. Ji numato galimybes CGI programoms, vykdomoms serveryje, paimti informacijà, o taip pat jø darbo rezultatus (HTML formatu!) gràþinti klientui. Ðias programas galima raðyti ne tik OS apvalkalo kalba: "Unix" arba DOS, bet ir bet kuria programavimo kalba: "Perl", C arba "Visual Basic". Informacija serveriui perduodama arba naudojant OS terpës kintamuosius arba per parametrus.

Daugiausia sunkumø CGI programoms (taip pat ir "Web") sukelia informacijos stoka apie ankstesnius kliento "darbelius" (þr. "Vartiklá" Nr.2, - todël nesikartosiu). Yra viena iðeitis - kartu su kiekviena nauja uþklausa perduoti serveriui ir informacijà apie ankstesnius "santykius". Ásivaizduokime, kad kuriame www puslapá - "Stebuklø laukà" (arba, liaudiðkai kalbant,"KARTUVES").

Jis parenka þodá, pvz., ið 5 raidþiø: _ _ _ _ _. Klientas spëja raides ir ("ðiame þodyje nëra tokios raidës!") yra kariamas. Ðtai jo perþiûros programa, atsiliepdama á spragt virð 'A', turi iðkviesti atitinkamà URL, pvz.,

http://www.lietuva.net/kartuves?veiksnus=A

Kintamojo veiksnus reikðmë ('A') yra perduodama "kartuviø" programai, kuri nustato, ar 'A' "yra ðiame þodyje, pvz.: _ _ A _ _ Taèiau, kitos uþklausos metu serveris viskà jau bus pamirðæs! Todël jis turi gauti ir informacijà apie ankstesnius bandymus, pvz.,

http://www.lietuva.net/kartuves?veiksnus=A & ankstesni=ADE

Tokiu atveju jis gali "suskelti" kà nors ðmaikðtaus, nes raidë 'A' jau buvo (HTML'u):

"Þioplas kaip finansø ministras!"

Taigi,

1) uþklausos puèiasi kaip varlës prieð lietø,

2) HTML puslapius kiekvienà kartà reikia atnaujinti dinamiðkai ("on fly"), nes reikia pastoviai atnaujinti kartuviø vaizdà pagal ankstesnius kreipinius.

Ir tai dar graþu, jei þaidþia tik vienas. O jei keli? Kyla mintis kiekvienai sesijai priskirti identifikatoriø, o informacijà apie seansà su kiekvienu vartotoju saugoti atskirame laikiname faile. Tada kreipinys atrodytø taip:

http://www.lietuva.net/kartuves?SESIJA=32645623 & veiksnus=A

Aiðku trûkumas yra tas, kad serveris neþino, kad klientui jau nusibodo ir jis, gal bût, niekada nesugráð uþbaigti spëjimo. Todël reikia paraðyti programytæ, laikas nuo laiko perþiûrinèià laikinus failus ir paðalinanèià "senienas". "Unix" turi puikø daiktà - "at" komandà.

O ar atkreipëte dëmesá, kad visus skaièiavimus atlieka serverio kompiuteris? Todël "populiariam" serveriui reikia galingo daikto! Ir èia vël scenoje pasirodo "Java", kuri viskà apverèia "aukðtyn kojom"! Serveryje yra saugomos sukompiliuotos á p-kodà programos, kurios nusiunèiamos klientui ir ten yra interpretuojamos (vykdomos). Tà atlieka perþiûros programa. Privalumas akivaizdus - maþiau apkraunamas serverio procesoriaus darbas.

Pravartu paskaityti apie programavimo kompiuteriams palyginimą su kitais realaus gyvenimo aprašais > >>> >

Anotacijos Java kalboje
Įvadas į Perl kalbą: Kas naudoja Perl?
Unix komandinės eilutė
Tcl kalba