Skip navigation

2.2.2. Web alkalmazások kialakulása

A World Wide Web úgynevezett kliens-szerver architektúrára épülő, kérés-válasz típusú kommunikáción alapuló internet szolgáltatás. Ez erősen leegyszerűsítve annyit tesz, hogy az információt hordozó weblapok nem a felhasználók számítógépein, hanem webszerver programokat futtató kiszolgáló számítógépeken tárolódnak. A felhasználók a saját gépükön futtatott web kliensekkel, hétköznapi nevükön böngészőkkel kapcsolódhatnak webszerverekhez. Ha meg szeretnénk nézni egy weboldalt, a böngészőnk kapcsolódik a megfelelő webszerverhez és "elkéri" a kívánt weblapot. A szerver válaszként elküldi a dokumentumot a böngészőnek, az pedig megjeleníti az oldalt felhasználó képernyőjén. A válasz elküldése után a kliens és a szerver kapcsolata elbomlik. A web szolgáltatás működéséhez tehát kétféle alkalmazásra egy távoli gépen futó webszerverre és egy a saját gépünkön működő webkliensre (böngésző) van szükség. A szolgáltatás e két szoftver kapcsolatán alapul.

aaa

2. ábra: A WWW kliens-szerver architektúrája

A Tim Berners Lee által megalkotott webről letölthető weblapok kezdetben statikusak voltak.

A statikus weboldalakat speciális informatikai ismeretekkel rendelkező szakemberek, ún. webmesterek "manuálisan" készítették, azaz tartalmukat, formátumukat saját gépükön, a dokumentum közvetlen szerkesztésével alakították ki. Az elkészített weblapokat webszerverre másolták, ahonnan a felhasználók tetszőleges alkalommal, de minden egyes esetben változatlan tartalommal tölthették le azokat.

Ha egy ilyen statikus oldal tartalmát, vagy megjelenését, akár a legkisebb mértékben is változtatni akarták, a webmesternek, az elkészítéshez hasonlóan, manuálisan kellett elvégeznie a szerkesztést, majd az eredeti weblapot az átírt változatra cserélve, frissítenie kellett a webszerverről letölthető dokumentumot.

A megoldás kezdetben megfelelőnek tűnt, de web megjelenését követő alig néhány év elteltével, szaporodni kezdtek azok a cégek, szervezetek, amelyek webhelyeiken dinamikusan változó, időtől, és felhasználói interakciótól függő tartalmat kívántak megjeleníteni.

Az ilyen webhelyek folyamatos, manuális szerkesztése és frissítése lehetetlen volt.  A megoldást az jelentette volna, ha a webszerverek képesek a felhasználók által megadott adatoknak, utasításoknak megfelelően, dinamikusan változtatni az egyes weblapok tartalmát. Ehhez a weboldalak automatizált, a felhasználótól származó adatokat is feldolgozni képes számítógépes programokkal történő előállítására lett volna szükség.

A webszerverek azonban programkódok végrehajtására nem voltak képesek, funkcióik csupán a böngészők által kért dokumentumok elküldésére korlátozódtak. A problémát az 1997-ben megalkotott CGI (Common Gateway Interface) specifikáció oldotta meg, amely lehetővé tette a webszerverek és az ún. futtatórendszerek (különböző programozási nyelveken írt programkódok végrehajtására képes alkalmazások) együttműködését.

A CGI specifikáció használatára fölkészített webszervereken már nem csak weblapokat, hanem weblapokat előállító programkódokat tartalmazó fájlokat is elhelyezhetnek a webmesterek. Ha a böngészőnkkel egy hagyományos weblapot próbáltunk letölteni, a webszerver válaszként azonnal elküldi a dokumentumot. Ha azonban egy programkódot tartalmazó fájl letöltését kíséreljük meg, akkor a CGI-n keresztül átadja a  kódot a megfelelő futtatórendszernek, az pedig végrehajtja program utasításait. A program futása nyomán, dinamikusan keletkezett weboldalt a futtatórendszer "visszaadja" a webszervernek, az pedig válaszában továbbítja a dokumentumot a böngésző felé.

Az ilyen módon, dinamikusan előállított oldalak tehát közvetlenül a böngészőtől beérkező kérés nyomán jönnek létre, minden letöltéskor újra generálódnak, így mindig a legfrissebb tartalommal jelenhetnek meg a felhasználó képernyőjén.

A weboldalak dinamikus előállításának lehetősége tette lehetővé, az úgynevezett web alkalmazások létrejöttét. A web alkalmazások statikus oldalakat szinte egyáltalán nem tartalmazó webhelyek. Weblapjaikat szinte kizárólag a webszerveren tárolt programok állítják elő. Valójában speciális számítógépes programok, amelyek egy távoli, szerver számítógépeken működnek, de a vezérlésüket is biztosító felhasználói felületük a felhasználók saját gépén, weblapok formájában jelenik meg.

A web alkalmazások jellemzője, hogy azokat nem kell saját gépünkre telepítenünk. Használatukhoz csupán internet kapcsolatra, és egy böngésző programra van szükség.

További fontos tulajdonságuk, hogy míg a saját gépünkre telepített alkalmazásokat egy időben jellemzően csak egyetlen felhasználó használhatja, addig a web alkalmazásokhoz azonos időben több felhasználó is kapcsolódhat. Ez nem csupán a szerver számítógép hatékonyabb kihasználását, de az azonos web alkalmazást használó felhasználók párhuzamos munkavégzését, sőt egymás közötti kommunikációját is biztosíthatja, így a web alkalmazások alkalmasak csoportmunkát is támogató eszközök, virtuális közösségi terek létrehozására is.

Bár a webes alkalmazások megjelenése és elterjedése közvetlenül nem is tudatosult a legtöbb felhasználókban, a WWW e technológia nyomán vált napjaink legfőbb információs, kommunikációs és kollaborációs platformjává.