• Nem Talált Eredményt

Célkitűzések, kompetenciák a tantárgy teljesítésének feltételei . 13

1. Bevezetés

1.1 Célkitűzések, kompetenciák a tantárgy teljesítésének feltételei . 13

Ma már senki sem kérdőjelezi meg, hogy a world wide web megjelenése a könyvnyomtatáshoz hasonló, ha ugyan nem még azt is messze felülmúló hatás-sal van az emberi kultúra fejlődésére.

Bár első változata csak az informálódás tér- és időkorlátait bontotta meg, napjainkra a média integrálódásának egyik elsődleges platformjává, virtuális világok hordozóközegévé, a globális emberi tudat neuronhálózatává vált.

Mindennapjaink egyre nagyobb hányadát töltjük számítógép közelben, on-line kapcsolatban, és bár észre sem vesszük, de ilyenkor mind gyakrabban, las-sacskán szinte kizárólag webes felületen dolgozunk. Weblapokon olvasunk híre-ket, weben intézzük bankügyeinhíre-ket, választjuk ki és vásároljuk meg a termékek egyre nagyobb hányadát, weben tanulunk, közösségi oldalakon tartjuk a kap-csolatot barátainkkal, szeretteinkkel. Semmiképpen sem feledkezhetünk meg arról sem, hogy webes felületen keressük meg a bennünket érdeklő informáci-ók jelentős részét. A web lassan-lassan egy a valódival szorosan összefonódó, mégis azzal párhuzamosan létező virtuális világgá alakul. Virtuális világgá, amelyről egyre nehezebb eldöntenünk, hogy részévé válik-e életünknek, vagy mi magunk kezdünk e beolvadni szövedékébe.

Az 1990-ben Tim Berners-Lee, a CERN munkatársa által megalkotott infor-mációs rendszer még távolról sem volt alkalmas mindannak a megvalósítására, amit ma a world wide web-fogalomhoz társítunk. A webböngésző, webszerver, a HTTP protokoll, a HTML nyelv, és az URL címzés együttesén alapuló szolgálta-tás, alig volt több mint jó ötlet, eszköz, ami a tér és idő korlátokat lebontva biz-tosította az elektronikus dokumentumokban hordozott információ megszerezé-sét.

Az eredeti tervek nem szóltak többről, mint egy interneten megvalósított hálózati szolgáltatásról, amely szöveges dokumentumok elosztott tárolását, gyors letöltését és megjelenítését, platformoktól függetlenül biztosította. A web szó arra utalt, hogy az egymástól tetszőleges távolságra lévő gépeken tá-rolt hipertext-dokumentumok, a szövegükbe ágyazott, más oldalakra mutató hivatkozások révén egyfajta gigantikus, ágas-bogas dokumentumszövedékké integrálódtak, amelyben a felhasználók hihetetlen gyorsasággal, szinte észre-vétlenül navigálhattak.

14 Bevezetés

A web páratlan karrierjét néhány véletlen és szerencsés epizód mellett a tudatos tervezés és átgondolt fejlesztés egyengette.

A '90-es évek elején a WWW nem az egyetlen hasonló képességekkel ren-delkező internetes szolgáltatás volt. Azt, hogy a Gopher akár komoly ellenféllé is fejlődhetett volna, jól mutatja, hogy az első grafikus webböngésző, a Mosaic még web- és Gopher-kliens volt egyaránt. Nem tudjuk, mivé alakulhatott volna a Minnesotai Egyetem fejlesztése, ha maguk a fejlesztők nem ítélik halálra az-zal, hogy 1993-tól licencdíjat kértek a Gopher-szerverek referenciakódjának felhasználásért. A Gopher-kiszolgálók és ezzel a szolgáltatás egészének sorsa megpecsételődött.

A CERN ugyanebben az évben jelen tette be, hogy a world wide web hasz-nálata szabad és ingyenes.

Az első csata megnyerését Tim Berners-Lee tudatos, átgondolt, és messzire tekintő fejlesztőmunkája követte. Tim a World Wide Web Consortium (W3C) 1994-es megalapításával olyan nemzetközi szervezetet indított útjára, amely a mai napig koordinálja a web fejlődését, korrigálja a hibákat, és előre tekintő fejlesztésekkel igyekszik elérni, hogy a WWW továbbra is kiszolgálja a felhasz-nálók egyre gyarapodó elvárásait, és a kor változó kommunikációs követelmé-nyeit.

A W3C munkájának volt köszönhető a mai web alapfeltételének megte-remtése is. Az 1995-ben megjelenő HTML 2.0 űrlapok kialakítását tette lehető-vé, ezzel pedig a kétirányú kommunikáció lehetőségét teremtette meg a world wide weben.

Ezzel a nem túl jelentősnek tűnő mozzanattal indult el az a folyamat, amelynek eredményeképpen a WWW-böngészők vékony klienssé alakultak, és alkalmazás szervereken futó, távoli alkalmazások webes elérését, és webfelületen történő vezérlését tették lehetővé.

A WWW igazi forradalma ezen a ponton kezdődött el.

Az egyszerű, bár szabadon bejárható statikus tartalmak helyét átvették a webfelületen futó a banki rendszerek, a keresőmotorok, a távoktatási portálok, kereskedelmi oldalak, online kezelhető dokumentumtárak, a közösségi portálok és a számtalan egyéb egyszerű feladatokat megoldó, vagy akár egész virtuális világot építő webes alkalmazások.

1.1.1 Célkitűzés

A számítógépet használók között alig van olyan, aki ne dolgozna nap mint nap webes alkalmazásokkal. Mindenki természetesnek veszi ezek ergonomikus

felületét, hibamentes, tökéletes, és gyors működését. Jóval kevesebben tudják azonban, hogy a csillogó, egyre több felhasználói élményt és funkcionális lehe-tőséget biztosító alkalmazások hátterében milyen komoly fejlesztői munka áll.

Az átlagos webhasználónak fogalma sincs azokról a kiterjedt ismeretekről, ame-lyekre a webfelületen futó távoli alkalmazások készítéséhez szükség van.

Tananyagunkkal ezen ismeretek alapjait kívánjuk bemutatni az olvasónak.

Reményeink szerint leckéinket átolvasva Ön megismeri a web kliens-szerver architektúrájának működését, megérti az állapotmentes protokollból adódó előnyöket és fejlesztési nehézségeket, valamint elsajátítja azokat a programo-zási alapismereteket, amelyek birtokában – tankönyvsorozatunk következő elemének áttanulmányozásával – önálló webes alkalmazások készítésére válik képessé.

1.1.2 Kompetenciák

A tananyag leckéinek elolvasásával Ön

 megismeri a WWW kezdeti, kétrétegű kliens-szerver architektúrájának működését,

 érteni fogja a webes kliens és a szerver közötti HTTP-üzenetváltásokat,

 elsajátítja a kliensoldali JavaScript-programozás alapjait,

 megismeri a szerveroldali programozás alapját biztosító háromrétegű kliens-szerver architektúrát,

 betekintést nyer a PHP nyelv kialakulásába és történetébe,

 megismeri egy Apache, PHP, MySQL programozási környezet telepítését és használatát,

 elsajátítja a PHP nyelvi elemeinek szintaktikáját és használatukat,

 megtanulja, hogy programjának megfelelő strukturálásával hogyan le-het úrrá a webalkalmazás kezdeti bonyolultságán,

 megismeri a PHP objektumorientált programozásának alapjait,

 áttekinti a webkliens és -szerver közötti adatcserét biztosító HTTP pro-tokoll állapotmentességéből adódó problémák kiküszöbölésének lehe-tőségeit,

 megismeri a PHP hibakeresési és -kezelési lehetőségeit,

 megérti a négyrétegű kliens-szerver architektúra lényegét,

 megtanulja a PHP-MySQL kapcsolat kezelésének, a MySQL adatbáziso-kat használó webes alkalmazások készítésének alapjait.

16 Bevezetés

1.1.3 A tantárgy teljesítésének feltételei

A webprogramozás talán a legtöbb ismertkört összefogó informatikai fela-dat. Tananyagunk ismertetése közben nem tudunk kitérni a kapcsolódó ismere-tek tárgyalására, ezért nélkülözhetetlen, hogy Ön már rendelkezzen a megfelelő informatikai tudással.

 A tantárgy teljesítéséhez az alapvető informatikai kompetenciákon túl ismernie kell a HTML nyelvet,

 és a weblapok formázására használt CSS formátumleíró nyelv eszközeit.

 Rendelkeznie kell algoritmizálási ismeretekkel és szerencsés valamilyen magas szintű programozás nyelv ismerete is.

 Ismernie kell a relációs adatmodellt,

 a relációs adatbázisok kezelésére használható SQL nyelvet,

 és a MySQL adatbázis-kezelő rendszert!

1.1.4 A tananyag feldolgozásához szüksége eszközök

Leckéink példáinak kipróbáláshoz, és egyben az eredményes tanuláshoz szüksége lesz a megfelelő fejlesztői környezetre. Napjaink otthoni számítógé-peinek döntő többségén Windows operációs rendszer fut, ugyanakkor a webes alkalmazások futását biztosító kiszolgálógépeken nem ilyen jelentős a Windows előnye. Ehhez hozzá kell tenni, hogy a tananyaguk témájául választott PHP nyelvet elsősorban Linux alatt működő webalkalmazások készítésére fejlesztet-ték, és bár az Apache PHP MySQL környezet Windows alá is telepíthető, nem jellemző, hogy a PHP-ben fejlesztett web alkalmazásokat Windows-környezet-ben használnák.

Ebből következik, hogy nagy eséllyel Ön is Windows operációs rendszert futtató gépen dolgozik, ugyanakkor az elkészített web alkalmazásokat Linux-alapú számítógépeken fogja elérhetővé tenni leendő felhasználói számára. In-formatikai zsargonnal élve, a fejlesztett alkalmazásokat Linuxos gép hostolja majd.

A probléma megoldására több lehetőség is kínálkozik.

1. A fejlesztés és felhasználás az alkalmazást véglegesen hostoló számító-gépen történik.

2. A fejlesztés saját a gépen, a kód tárolása, a tesztelés és végleges hasz-nálat is az alkalmazást hostoló számítógépen folyik.

3. A fejlesztés és tesztelés saját gépen zajlik, a kész alkalmazást a hostoló számítógépre telepítik.

Mindegyik módszernek van előnye és hátránya. Az első esetben például minden, a fejlesztésre használt szoftveres eszközt telepíteni kell a hostoló gép-re, amin a fejlesztőnek megfelelő jogosultsággal is kell rendelkeznie. Ugyanak-kor a fejlesztés a végleges futási környezetben történik, így telepítésre sem lesz szükség.

A második az első és a harmadik módszer lehetőségeit ötvözi. Bár nem kell a hostoló gépre telepíteni a fejlesztőkörnyezetet, változatlanul kiemelt jogo-sultságokra van szükségünk a szerveren.

A harmadik megoldás esetében semmilyen fejlesztőeszközt nem kell tele-pítenünk a hostoló gépre, minden ilyen programot saját gépünkön futtatunk. A fejlesztés közben gépünkön mintegy modellezzük a szerver nyújtotta környeze-tet. Ez a módszer meglehetősen kényelmes fejlesztést tesz lehetővé. Kisebb meglepetések akkor érhetnek bennünket, amikor a webalkalmazás telepítése-kor derül ki, hogy a hostoló gép, és a saját gépünkön modellezett környezet nem teljesen azonos. Ez akár a kész alkalmazás kisebb-nagyobb módosítását is szükségessé teheti.

Ebben a tananyagban nem törekszünk komplex, működő webalkalmazások elkészítésére. Elsődleges célunk az, hogy Ön a web-programozás alapjait sajá-títhassa el, így leginkább arra van szükségünk, hogy a kódrészleteket gyorsan megértse és ki is próbálhassa. Éppen ezért a harmadik módszert választjuk, azaz Windows alatt alakítjuk ki a munkához szükséges fejlesztőkörnyezetet.

Ezt a döntést az is indokolja, hogy manapság több olyan integrált program-csomag is létezik, ami csekély konfigurációs igény mellett is lehetővé teszi az Apache+PHP+MySQL környezet Windows operációs rendszerre telepítését. A tananyag példáinak kipróbálásra is egy ilyen ingyenes környezet, az XAMPP használatát javasoljuk. A szoftver telepítéséről a 3. leckében szólunk majd.

http://www.apachefriends.org/download.php?xampp-win32-1.7.7-VC9-installer.exe

1. link Az XAMPP webhelye

A PHP-kódok begépelése történhet az bármilyen szövegeditor segítségével is, azonban létezik néhány olyan fejlesztőkörnyezet is, amely debug-lehetőségekkel és számos egyéb a hasznos szolgáltatással (beépített

webszer-18 Bevezetés

ver és böngésző, syntax highlight, tesztelés, fájlkezelés, adatbázis-kliens stb…) segíti a programozó munkáját. A professzionális eszközök között ilyen például a Nusphere PhpEd, ami ugyan kereskedelmi szoftver, de 14 napig ingyenesen használható.

http://www.nusphere.com/products/phped.htm

2. link A PhpEd honlapja

Tananyagunkban a hasonló képességekkel rendelkező CodeLobster nevű alkalmazást használjuk majd, amelynek van teljesen ingyenesen használható verziója is.

http://www.codelobster.com/download.html

3. link CodeLobster letöltése