AJAX 2 IN 1: INTERAKTÍV OKTATÁS ÉS MODERN WEBTECHNOLÓGIA



Hasonló dokumentumok
AJAX 2 in 1: Interaktív oktatás és modern webtechnológia Nagy Zsolt.

Bevezetés Működési elv AJAX keretrendszerek AJAX

Web-fejlesztés NGM_IN002_1

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Ajax és Echo 2. Bokor Attila

Flex: csak rugalmasan!

Web programoz as

AJAX AJAX. AJAX: Asynchronous JavaScript and XML. az alábbi technológiákon alapul: AJAX-ot támogató keretrendszerek

Információ és kommunikáció

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

JAVA webes alkalmazások

AJAX-ot támogató keretrendszerek

Objektumorientált programozás

GOOGLE ANALITYCS VS. SPSS CLEMENTINE

Kiknek szól ez a könyv? Miről szól a könyv? Hogyan épül fel a könyv? Mire van szükség a könyv használatához? Szokások Forráskód Hibajegyzék

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

Információ és kommunikáció

BARANGOLÁS AZ E-KÖNYVEK BIRODALMÁBAN Milyen legyen az elektonikus könyv?

Öntanuló Webrendszerek. Nagy Zsolt. Matematika és Informatika Intézet, Nyíregyházi Főiskola

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Fejlesztési tapasztalatok multifunkciós tananyagok előállításával kapcsolatban Nagy Sándor

Bevetés közben Ismerkedés az Ajaxszal

TUDNIVALÓK A WEB-FEJLESZTÉS I. KURZUSRÓL

Mobil SEO Kell-e külön foglalkozni a mobil jelenlétünk kereső optimalizálásával? Adam Lunczner Digital Director

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

TESZTKÉRDÉSEK ECDL Online alapismeretek Szilágyi Róbert S.

Webes alkalmazások fejlesztése

II. ADATLAP - Programmodul részletes bemutatása

Váci Mihály Kulturális Központ Cím: Telefon: Fax: Web: Nyilvántartásba vételi szám:

1. fejezet A megtalálható webhely. 2. fejezet Jelölési stratégiák

Bevezető. Servlet alapgondolatok

BEVEZETÉS AZ INTERNET ÉS A WORLD WIDE WEB VILÁGÁBA. Kvaszingerné Prantner Csilla, EKF

11. Tétel. A színválasztásnak több módszere van:

Az internet az egész világot behálózó számítógép-hálózat.

Kommunikáció Androidon Mobilinternet Wifi

Az informáci. Forczek Erzsébet SZTE, ÁOK Orvosi Informatikai Intézet május

ÉRETTSÉGI TÉTELCÍMEK 2018 Informatika

INTERNETES KERESÉS. Szórád László Óbudai Egyetem TMPK

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Interaktív webes térképezés GRASS GIS 7-tel. A Web Processing Service bemutatása

Gyakorlati vizsgatevékenység B

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

KERESÉS A NETEN DR. KÓNYA LÁSZLÓ: KERESÉS A NETEN KERESÉS MÓDSZERE, KERESŐPROGRAMOK

Információ és kommunikáció

InFo-Tech emelt díjas SMS szolgáltatás. kommunikációs protokollja. Ver.: 2.1

Web fejlesztés II. Illés Zoltán ELTE Informatikai Kar I n f o r m a t i k a

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

Exchange tájékoztató

Informatikus, Webfejlesztő. Nagy Gusztáv

Gyakorlati vizsgatevékenység A

Földmérési és Távérzékelési Intézet

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

A SEO szerepe egy híroldal életében BUBLIK MÁTÉ

Elektronikus levelek. Az informatikai biztonság alapjai II.

A szerzõrõl... vii Köszönetnyilvánítás... ix Bevezetés... xi A könyv példakódjai... xiii Áttekintés... xv Tartalomjegyzék... xvii

Mobil eszközök programozása Mivel is kezdjem?

Mobil eszközök programozása Mivel is kezdjem?

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Felhasználói kézikönyv

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

RIA Rich Internet Application

Internet technológiák

12.óra jquery Framework #1. Gyimesi Ákos

Nemzeti Fejlesztési és Gazdasági Minisztérium támogatásával megvalósuló KKC-2008-V számú projekt B2CR ONLINE KOMMUNIKÁCIÓ

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

Output menedzsment felmérés. Tartalomjegyzék

SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK

HTML és CSS. Horváth Árpád május 6. Óbudai Egyetem Alba Regia M szaki Kar (AMK) Székesfehérvár

Web programozás. Internet vs. web. Internet: Az Internet nyújtotta néhány alapszolgáltatás:

FELHÍVÁS ELŐADÁS TARTÁSÁRA

Java programozási nyelv 6. rész Java a gyakorlatban

A webprogramozás alapjai. Óbudai Egyetem Neumann János Informatikai Kar 2018/19/1 szemeszter

Összefüggő szakmai gyakorlat témakörei. 13 évfolyam. Információtechnológiai gyakorlat 50 óra

Nyilvántartási Rendszer

Olyan eszközre van szükség, amelynél a webszerkesztés folyamatát a fejlesztő, nem pedig a program vezérli

Nem szerencsétlenkedünk többet szörfözés közben! Egy új technológia egyre több

Web 2.0. (Képen: a web 2.0 címkefelhő. Eredetije: Történet

Az Egálnet Honlapvarázsló használati útmutatója

Vékonykliensek a Sziksziben

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

FELHASZNÁLÓI KÉZIKÖNYV

A DigiKresz internetes gyakorló program hatékony segítség az elméleti oktatást követő vizsga eredményességének növelésében.

FELHASZNÁLÓI KÉZIKÖNYV SCHEDULEDETAIL KEZELÉSI ÚTMUTATÓ (TATABÁNYA VÁROS KÖZLEKEDÉSE) 1.00 verzió Dátum:

Felkészülés a 2020-as érettségire. Sisák Zoltán HTTP Alapítvány

Exchange verzióváltás

Tartalom. A JavaScript haladó lehet ségei. Megjelenés. Viselkedés. Progresszív fejlesztés. A progresszív fejlesztés alapelvei

Mobilizálódó OSZK. A nemzeti könyvtár mobileszközöket célzó fejlesztései az elmúlt időszakban. Garamvölgyi László. Networkshop, 2013.

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

10. évfolyam 105 óra azonosító számú Hálózatok, programozás és adatbázis-kezelés 105 óra Adatbázis- és szoftverfejlesztés gyakorlat tantárgy

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

mlearning Mobil tanulás a gyakorlatban

API-MÁGIA MILLIÓ SORNYI ADAT ÚJRARENDEZÉSE. Előadó: Jaksa Zsombor, drungli.com

Szociális hálók mobilon Avagy mi rejlik a hívószó mögött? Dr. Forstner Bertalan. bertalan.forstner@aut.bme.hu

Információs technológiák 2. Gy: CSS, JS alapok

Átírás:

AJAX 2 IN 1: INTERAKTÍV OKTATÁS ÉS MODERN WEBTECHNOLÓGIA Nagy Zsolt Nyíregyházi Főiskola, Matematika és Informatika Intézet info@nagyzsolt.hu Absztrakt: Napjainkban, a WEB 2.0 korszakában különösen fontos, hogy webes alkalmazásaink valójában webes alkalmazások és ne weblapok legyenek. Jelen cikkünkben arról az Ajax-ról esik szó, mely forradalmasította a webes alkalmazások készítését, segítségével jobb, gyorsabb és felhasználóbarát Internetes tartalmakat hozhatunk létre. Kutatásunk során az Ajaxot az oktatás szolgálatára hívjuk segítségül. A technológia segítségével adaptív gyakorló tesztet hoztunk létre, mely azon túl, hogy valós időben kiértékeli a válaszokat, még arra is képes, hogy észrevétlenül átformálja a soron következő tesztkérdéseket annak függvényében, hogy a diák az egyes kérdéscsoportokra milyen arányban ad helyes vagy helytelen választ. Annak ellenére, hogy a téma a mesterséges intelligencia és az adatbányászat területét is érinti, sőt a valós idejű szemantikus válaszelemző értékelő módszer alapjaiba is belekóstolunk, mindenki megbizonyosodhat arról, hogy az Ajax kielégíti a legmegszállottabb WEB 2.0 rajongók elvárásait is, Önök is felfedezik a benne rejlő lehetőségeket és megértjük, miért használja az iwiw mellett a Google is előszeretettel ezt a technológiát. Kulcsszavak: ajax, oktatás, interaktív, programozás, web 1. Bevezető Az Ajax szó a legtöbb ember számára ismerősen cseng. A férfiak a szó hallatán egyből az Ajax Arsenal meccs eredménye iránt érdeklődnek, míg a nők arra kíváncsiak, hogy melyik bevásárlóközpontban lehet olcsón megkapni a 750ml-es kiszerelést. Jelen cikkben azonban arról az Ajax-ról esik szó, mely forradalmasította a webes alkalmazások készítését, segítségével jobb, gyorsabb és felhasználóbarát Internetes tartalmakat hozhatunk létre. 2. Mi az AJAX? Az AJAX nem egy új technológia, hanem több különböző, önállóan is remekül használható webtechnológia összessége. XHTML és CSS a szabványosított megjelenítésért Dinamikus megjelenítés, struktúraváltoztatás a DOM (Document Object Model) segítségével Adatmanipuláció, módosítás az XML segítségével XMLHttpRequest objektum az asszinkron adatkommunikációért - ebben rejlik az AJAX lényege És JavaScript a kliens oldali adatfeldolgozásért, valamint az előző technológiák összefogásáért Így együtt igen erős csapatot alkotnak, innen a név Asynchronous JavaScript And XML 3. Kommunikáció A technológia lényege, hogy az AJAX az XMLHttpRequest JavaScript objektumot használva úgy tud adatot cserélni a webszerverrel, hogy az adott weboldal nem töltődik újra. Az Ajax asszinkron adatcserét hajt végre a böngésző és a webszerver között (HTTP request-ek segítségével), ezáltal elérve azt, hogy a teljes weblap letöltése helyett, annak csak bizonyos részinformációit frissíti.[1] Hogy is van ez? Egy klasszikus webes alkalmazás kommunikációja a következőképpen néz ki. 1. A felhasználó kattintgat a weblapon, kitölt egy űrlapot, majd megnyom egy gombot, vagy rákattint egy linkre. 2. A böngészője http request-ek segítségével információt küld a webszerverhez. 3. A webszerver dolgozik, (adatokat kér le, számol, authentikál, stb) majd visszaad egy új HTML lapot a kliensnek.. [1] 45

1. ábra A klasszikus és az Ajax webalkalmazás kommunikációja közötti 4. Szinkron VS Asszinkron Mi a gond ezzel? - Megáll az oldal működése, amíg a webszerver felé a kérés le nem zárul. A felhasználó csak ül és várja, hogy megjelenjen a válasz, az új weblap vagy épp az eredmény. - A teljes oldal letöltődik (képek, stíluslap, HTML elemek), hiába annak csak egy része változott. - Ezáltal felesleges és szükségtelen adatforgalom generálódik, amely legfőbb következménye, hogy még tovább várakoztatjuk a felhasználót. Így aztán, kiderül, hogy hiába költöttünk százezreket marketing tanácsadásra ahol egyébként a legfőbb mondanivaló nem más, mint, hogy elkészült weblapunkat szerénytelenség nélkül inkább webes alkalmazásnak tituláljuk -, hisz nincs az a felhasználó, aki elhiszi ezt nekünk, miután perceket ült a monitor előtt, várva, hogy böngészője betöltse az épp aktuális oldalt. [1] Itt lép képbe az AJAX, és a nevében hordozott asszinkron kommunikáció Az asszinkronitás ebben az esetben arra utal, hogy az aktuális oldal megjelenítése és a háttérben, a szerverrel zajló kommunikáció egymástól független. Míg az AJAX a háttérben várakozik, hogy az adatok megérkezzenek a szervertől, addig a felhasználó nyugodtan tudja használni az épp aktuális oldalt. - Amint megérkeztek az adatok, az AJAX motor kipakolja a lapra úgy, hogy nem a teljes oldalt módosítja, hanem csak annak azon részeit, ami változott. - Ezáltal, mivel nem a teljes oldal adatai mozognak a böngésző és a webszerver között, hanem csak a változtatott adatok, így jóval gyorsabb a kommunikáció és ezáltal az új információk megjelenítése. - Ráadásul teszi mindezt az eddig megszokott frissítéses villanás nélkül, így a felhasználó észre sem veszi, hogy már új adatokat tartalmaz az általa megtekintett oldal. Ezáltal már hitelesen marketingelhetjük vadonatúj webes alkalmazásunkat, hisz mind a sebesség, mind az érzet tekintetében egy asztali alkalmazáshoz hasonlít, rendelkezve ugyanakkor a web minden jóságával 46

2. ábra Szinkron és Asszinkron kommunikáció 5. Lépésről lépésre Nos, nézzük akkor lépésről lépésre, hogyan is lehet AJAX-szal felruházni weblapunkat, hogyan készíthetünk az oktatásban is igen hasznos alkalmazásokat AJAX és egy kis Mesterséges Intelligencia segítségével. Első lépés: Hozzunk létre egy XMLHttpRequest példányt. 3. ábra Az XMLHttpRequest példány létrehozása Ezzel meg is lennénk, igen ám, de sajnos nem egyszerű az élet. Mint ahogy azt már megszokhattuk az Internet Explorer másképp nevezi ezt az objektumot, mint a Mozilla termékek, ezért ezt nyomban le is kell kezelni.[2] 4 ábra. A böngészőkompatibilitás lekezelése Második lépés: Várakozzunk a válaszra Erre szolgál az onreadystatechange attribútum, akkor fut le, ha az adatok megérkeztek 47

5. ábra Várakozás a szerver válaszára Harmadik lépés: Készítsük el magát a lekérést. Ehhez a még mindig igen csúnya nevű XMLHttpRequest objektum alábbi metódusai és attribútumait fogjuk felhasználni Attribútumok readystate - a lekérési folyamat aktuális állapotát jelöli 4 értéket vehet fel 0 - még nem indult el a lekérés 1 a kapcsolat létrejött 2 - lekérés elküldve 3 - feldolgozás 4 kész status: a lekért oldal állapota 200 OK, 404 ha az oldal nem található mi most nem használjuk responsetext: a szervertől válaszul megkapott szöveg Nos számunkra nyilván akkor érdekes a dolog, ha már megjöttek az új adatok, azaz kész a lekérési folyamat, így az alábbi kódra van szükségünk 6. ábra A lekérés eredményeképp megérkezett adatok kiiratása Metódusok open(mode, url, boolean) Ezzel az a metódus, ami csatornát nyit a szerver felé, méghozzá az alábbi paraméterekkel. Teljesen hasonlóak mint egy egyszerű FORM esetében mode az adatátvitel módja GET vagy POST url annak a file-nak az url-je ami feldolgozza majd a kérésünket boolean true / false ez a kapcsoló jelzi, hogy asszinkron vagy szinkron módon kapcsolódjunk, természetesen mi asszinkron módon fogunk kapcsolódni hisz erről szól az egész cikk. végül a send (string) amiben el is küldjük a paramétereket az url-ben megadott programnak. Ennek csak POST mód esetén van értelme, GET eseten null-ra kell állítanunk a string értéket. [5,6] 7. ábra A használt metódusok Nos akkor nézzük egyben, hogyan is néz ki az AJAX motor. 48

8. ábra Az AjAX motor 6. Az AJAX és a Való Világ Az AJAX alkalmazások valóban működnek, éles környezetben is, mindenki találkozott már vele, ha máskor nem, Google keresések közben, ez a Google Suggest. [7] A Google Suggest nem csinál mást, mint minden egyes karakter megadása után lefuttat a háttérben egy lekérdezést, ami visszaadja, hogy az adott részsztringre milyen találatok vannak. Mindezt természetesen AJAX-szal. De ami még fontosabb, saját magunk és könnyedén készíthetünk AJAX alkalmazást. Saját AJAX: Az intelligens teszt Cikkünk során az Ajaxot az oktatás szolgálatára hívjuk segítségül. A technológia segítségével adaptív gyakorló tesztet hozunk létre (www.nagyzsolt.hu/ajax) [3], mely azon túl, hogy valós időben kiértékeli a válaszokat, még arra is képes, hogy észrevétlenül átformálja a soron következő tesztkérdéseket annak függvényében, hogy a diák az egyes kérdéscsoportokra milyen arányban ad helyes vagy helytelen választ. A rendszerünk képes különböző típusú kérdéseket kezelni, jelen példánkban teszt és esszé jellegű kérdéseket teszünk fel, sőt az esszé jellegű kérdéseket is két csoportra bontjuk aszerint, hogy tökéletes választ várunk, vagy alternatív válasz is elfogadható. Valós időben történő kiértékelés Az AJAX-nak hála abban a pillanatban, ahogy választ adott a hallgató a kérdésre, már meg is kapja a visszajelzést arról, helyes e a megoldás vagy sem. Az azonnali feldolgozás eredményeképp nagyszerűen alkalmazható az adaptivitás, azaz menet közben tudjuk változtatni a további kérdések számát, jellegét, mindezt a válaszok függvényében. Többek között ezért is kényelmes, könnyen kezelhető a rendszer, így jóval motiváltabb a hallgató és eredményesebb a teljes folyamat. Adaptív El is érkeztünk az egyik kulcskérdéshez. A felmérések számos válfajában kiemelten fontos az, hogy célzott kérdéseket tegyünk fel, legyen az gyakorló feladat, közvélemény kutatás, kompetencia vizsgálat, vagy épp pszichológiai, szociálpszichológiai kérdéssor. Alapvető igény, és elvárás az, hogy egyrészt egy-egy témakörben ha megfelelő mennyiségű és minőségű választ kaptunk, akkor ne zaklassuk tovább a diákot, hallgatót, hanem térjünk át a következő témára (ezt fogjuk bemutatni a feladatunkon) másrészt ha egymástól függenek bizonyos kérdéscsoportok, akkor csak és csak is azokat a kérdéseket tegyük fel amelyekre választ várunk. Például, ha megkérdezzük a hallgatót arról, hogy otthon van e 49

Internete és azt válaszolja, hogy nincs, akkor ne legyen az a következő kérdésünk, hogy És milyen Internete van?, hanem intelligens, automatizált módon hagyja ki a további ilyen jellegű kérdéseket. Most már ismerve az AJAX-ot ezt észrevétlenül meg tudjuk oldani. Intelligens Esszékiértékelés Míg a teszt jellegű kérdéseknél egy egyszerű egyenlőségvizsgálattal le tudjuk ellenőrizni a megoldás helyességét, az esszékérdéseknél sokkal nehezebb a dolgunk. Elemezni kell a feladatra adott választ, azt kiértékelni, és ha a megadott szabályoknak megfelelnek az értékelés eredményei, akkor tudjuk csak eldönteni hogy helyes e a válasz vagy épp nem. Ilyenformán ez a programrész már érinti az adatbányászat, szövegelemzés témakörét, sőt nyugodtan elmondhatjuk, hogy a mesterséges intelligencia is megcsillan megoldás folyamán. A feladatra adott választ és a megoldás tudásbázisát egyfajta kódolásra, és kisbetűs megjelenésre hozzuk az összehasonlíthatóság kedvéért Szétdaraboljuk szavakra a választ, megoldva és lekezelve a különböző elválasztó és írásjelek okozta problémákat A tudásbázisban lévő megoldáshalmazra illesztjük a kapott válasz egyes szavait, így megállapítható, hogy milyen mértékben adott helyes választ a kérdésre a diák. A szabályok alapján döntünk, hogy elfogadjuk e helyes megoldásnak az adott választ vagy sem. CheatBuster, a csodafegyver Nos, itt a cikk végére egy kis desszert. A hangzatos, kicsit szemtelen elnevezés nagy valószínűséggel a diákok rémálma, ugyanakkor a tanárok, oktatók kedvenc fegyvere a súgások ellen. Vége a Te, figy már, 6. feladatra melyik a jó válasz? A B. Merthogy a csodafegyver bekapcsolásával minden diák más-más sorrendben látja az adott feladatra adható válaszokat. Azaz ha párhuzamosan töltik a tesztet, mindenkinek más-más betűjel mögött lesz a helyes válasz az adott kérdésre. Mondhatnánk, ezt már tudja azért pár kérdőívkitöltő. Igazuk is van. Igen ám, de nem elég, hogy a kezdetben legenerált tesztlap mindenkinek más-más sorrendben jelenik meg, a feladat megoldása közben is folyamatosan változik mind a már megoldott válaszok, mind a soron következő válaszok sorrendje. És az AJAX-nak hála a diák javarészt ezt észre sem veszi. [4] Összegzés A cikkünkben említett technológia alkalmazása érdekes oktatásmódszertani kérdéseket feszeget, valóban hatékonyabbá és eredményesebbé válik e a feladatmegoldás, egy-egy teszt kitöltése, egy-egy felmérés végrehajtása. Már a Multimédia az oktatásban 2009-es konferencián is elhangzott, hogy további érdekes kutatási témák alapját szolgálhatja jelen publikáció, így a cikk olvasóját is bátorítom arra, hogy használja alapul a fenti sorokban megfogalmazott felvetéseket, a forradalmi webtechnológiát az interaktív oktatásban, oktatásmódszertani kutatásaiban. Irodalomjegyzék [1] Garrett, J, J (2005) : Ajax: A New Approach to Web Applications: http://www.adaptivepath.com [2] XMLHttpRequest Description basée sur la spécification du W3C avec un mode d'emploi: http://www.xul.fr [3] Nagy, Zs. (2009) : Ajax adaptív gyakorló teszt: http://www.nagyzsolt.hu/ajax [4] Nagy, Zs. (2009) : Ajax 2 in 1: Interaktív oktatás és modern webtecnológia, Multimédia az oktatásban konferencia, Debrecen [5] Reuven M. Lerner (2006): Bevetés közben Ismerkedés az Ajaxszal, Linux Journal 2006/151 pp 13-17, http://www.linuxvilag.hu/content/files/cikk/78/cikk_78_13_17.pdf [6] Linuxvilág fejlesztői sarok: http://www.linuxvilag.hu/ [7] Google Code Ajax programming: http://code.google.com/intl/hu/edu/ajax/index.html 50