Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
INFORMÁCIÓ-ARCHITEKTÚRA A „WEB-FEJLESZTÉS” NEVŰ MSC TÁRGY KERETÉBEN INFORMATION ARCHITECTURE WITHIN THE MSC COURSE “WEB DEVELOPMENT”
Heckenast Tamás, Sziray József Széchenyi István Egyetem, Informatika Tanszék Összefoglaló A "Web-fejlesztés" nevű tárgy célja, hogy megismertesse a hallgatókat a World Wide Web (WWW) alkalmazásainak kialakítására szolgáló legfontosabb technológiákkal, szoftver architektúrákkal, a fejlesztési folyamathoz kapcsolódó kérdésekkel. Az alkalmazott architekturális, prezentációs és programozási megoldások és alap technológiák mellett, a tárgy keretében tárgyaljuk a web-alkalmazások használhatósági, tervezési, menedzselési és biztonsági kérdéseit is. Mivel napjaink, és különösen a Web, egyik legfontosabb szoftver-minőségi jellemzője a használhatóság, nem hagyhatjuk figyelmen kívül ezt a témakört egy web-fejlesztéssel foglalkozó tárgy esetén. Úgy gondoljuk, hogy az információ-architektúra megközelítésmódja alkalmas keret egy technológiai áttekintést nyújtó tárgynak. Ebben a keretben megfelelően elhelyezhetők a HCI (Human-Computer Interaction) ismeretek, szoftver-architekturális tervezési elemek, ismertethetők prezentációs technológiák, a dinamikus tartalom-előállítás programozási kérdései, elemezhetők az aktuális webfejlesztési trendek. Ugyanakkor úgy véljük, hogy az információ-architektúra önálló témaként nem oktatható megfelelő mélységű technológiai háttér-ismeret nélkül.
Kulcsszavak Web-fejlesztés, információ-architektúra, tantárgy-tematika
Abstract The aim of the course „Web development” is to present the technologies, softwarearchitectures and questions connected to development processes of the World Wide Web. Beyond the applied architectural patterns, representational and programming technologies, the usability, design, management and security questions are also covered in the umbrella of the subject. As today the most important software quality factor is usability, especially in case of the Web, we have to pay attention to this topic in a course concerning web development. We think that the so-called information architecture approach is a suitable frame for a course giving perspective. This frame can incorporate HCI principles, software architecture design elements, presentation technologies, dynamic content generation, and actual web application trends. Further, our opinion is that information architecture cannot be taught as a stand-alone subject without in-depth technological knowledge.
Keywords Web-development, information architecture, course contents
1
Informatika a felsőoktatásban 2008
1.
Debrecen, 2008. augusztus 27-29.
Bevezetés
A "Web-fejlesztés" nevű tárgy célja, hogy megismertesse a hallgatókat a World Wide Web (WWW) alkalmazásainak kialakítására szolgáló legfontosabb technológiákkal, szoftver architektúrákkal, a fejlesztési folyamathoz kapcsolódó kérdésekkel. A tárgy főleg a tartalomorientált web-alkalmazásokra koncentrál. Természetesen említésre kerülnek a tranzakcióorientált, web-infrastruktúrát használó alkalmazások megoldásai is. Az alkalmazott architekturális, prezentációs és programozási megoldások és alaptechnológiák mellett, a tárgy keretében tárgyaljuk a web-alkalmazások használhatósági, tervezési, menedzselési és biztonsági kérdéseit is. Mivel napjaink, és különösen a Web, egyik legfontosabb szoftver-minőségi jellemzője a használhatóság, nem hagyhatjuk figyelmen kívül ezt a témakört egy web-fejlesztéssel foglalkozó tárgy esetén. Egy web-alkalmazásnál a kialakuló felhasználói élmény egy komplex szoftverműködés következménye, és egy összetett, többrétegű tervezési folyamat áll a háttérben. Ennek a folyamatnak az egységes megközelítése az információ-arhitektúra, vagy információ-építészet, (Information Architecture). Úgy gondoljuk, hogy az információ-architektúra megközelítésmódja alkalmas keret egy technológiai áttekintést nyújtó tárgynak. Ebben a keretben megfelelően elhelyezhetők a HCI (Human-Computer Interaction) ismeretek, szoftver-architekturális tervezési elemek, ismertethetők prezentációs technológiák, a dinamikus tartalom-előállítás programozási kérdései, elemezhetők az aktuális web-fejlesztési trendek. Ugyanakkor úgy véljük, hogy az információ-architektúra önálló témaként nem oktatható megfelelő mélységű technológiai háttér-ismeret nélkül. 2.
Modern web-trendek
A Web felhasználási filozófiája, a létrejötte óta eltelt időben, többször jelentősen megváltozott. Ezek a periódusok természetesen nem különíthetők el élesen egymástól, de a szakértők bizonyos konszenzusa alapján megkülönböztethetjük a kezdeti idők hipertext felhasználását, a felfutást ténylegesen eredményező interaktív kereskedelmi tranzakciós időszakot (dot com boom) és végül napjaink felhasználói élményre épített szociális-hálózati felhasználását (web 2.0). A felhasználási kultúra változása látható a támogatására kifejlesztett technológiák területén is, bár a web alap-technológiáiban és alkalmazás-architektúráiban jóval kevesebb változás mutatható ki (Zakas et al., 2007). A legtöbb új web 2.0 alkalmazás az 1990-es évek végén kidolgozott technológiák újszerű felhasználásával jött létre. Az üzleti szférában dolgozó elemzők megkísérelték többé-kevésbbé formálisan elemezni ezen új alkalmazások népszerűségének okait, illetve a mögöttes technológiák szerepét, illetve előrejelezni a várható törekvéseket. Mindebből számunkra annak kell nyilvánvalóvá válnia, hogy az informatikai iparág egyik meghatározó alkalmazási területével állunk szemben, és ha az oktatás célja kompetens szakemberek képzése, akkor nagyobb hangsúlyt kell fektetni a tiszta technológiai kérdések mellett a webes fejlesztési folyamatok, eljárások, az alkalmazott tervezési gyakorlatnak az oktatásban való megjelenítésére. A webszájtokkal kapcsolatban a felhasználói élmény még fontosabb, mint más szoftver termékek esetén (Nielsen, 2002). A webszájtok egyfajta "önkiszolgáló" szolgáltatások. Általában nincs kézikönyv és felhasználói tréning, sem ügyfélszolgálat. A felhasználó közvetlenül és kíméletlenül szembesül a szájt összes használhatósági előnyével és
2
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
problémájával. Gyakran elhangzó állítás a webbel kapcsolatban, hogy a tartalom a meghatározó („content is the king”), de valójában a tartalomnak fogyaszthatónak is kell lennie, a webalkalmazásnak pedig flexibilisnek és jól használhatónak. A web 2.0 alkalmazások esetén a felhasználói élmény lesz meghatározó („user is the king”). Ráadásul a web az egyik legnyíltabb piac, könnyű új vagy alternatív szolgáltatásokkal megjelenni, kevés dolog monopolizált. A jó használhatóság piaci versenyelőnyhöz vezethet, míg a rossz felhasználói élmények a szolgáltatás csődjét is jelenthetik. A ráfordítások megtérülése pénzben mérhető. 3.
Információ architektúra
A 2000-s évek elején a nagy tartalom-orientált webszájtok tervezése, átalakítása egy új "szakma" megjelenéséhez vezetett. A területet információ architektúrának (IA) nevezték el, a tevékenység magyar megnevezésére az információ építészet talán a legkifejezőbb szókapcsolat. Az információ architektúra szoros kapcsolatban van a webdesign-nal és a felhasználói-felület tervezéssel. Az információ építészek feladatai széles palettát ölelnek fel, és szervezetről szervezetre változhatnak: üzleti stratégia megjelenítése, információ-tervezés, interakció tervezés, követemény meghatározás, stb. Tevékenységük lényege effektív kommunikációt biztosító tartalom kialakítása, ami valójában információ visszakeresési probléma a web, mint média keretei között. Az információ architektúrát sokan a web-használhatóság szinonímájaként tekintik. Kétségtelen, hogy a jó információ architektúra legfontosabb következménye a jó használhatóság, de az információ architektúrának kell többek között megoldania a speciális igényű felhasználók kiszolgálását, a tartalom-klasszifikálást és metaadat-kezelést, az információ visszakeresési problémákat, az arculat-megjelenítését. Az információ építészek munkájának hitelessége szempontjából érdekes kérdés lehet, hogy a klasszikus szoftverek használhatósági elemzésének egyelőre leginkább használt eszköze a felhasználói teszt (user testing) az implementálás után vagy közben prototípusok segítségével. A webes fejlesztések gyors életciklusa és a webszájtok hordozta presztizs-elvárasok nem kedveznek ennek a megközelítésnek. Sokkal inkább a tervezés előtti felhasználói felmérésekre, illetve tapasztalatokra épített professzionális tervezési döntésekre van szükség. Ehhez nagy tapasztalat vagy speciális képzés szükséges. Továbbá elmondható, hogy az igazán sikeres információ architektúra megoldásokban rendkívül nagy szerepe van a kreativitásnak. 4.
A "Web-fejlesztés" tárgy
Egyetemünk Magyarországon az elsők között indított MSc szintű műszaki informatikusképzést. Az MSc-s tanterv és tantárgy-tematikák kialakításakor fontos szempont volt a tárgyak korszerűsége. A "Web-fejlesztés" nevű kötelező tárgy az első félévben kapott helyet. A tárgy célja, hogy átfogó képet nyújtsunk a témáról az alap protokolloktól és reprezentációs megoldásokól egészen az alkalmazásfejlesztési technikákig és architektúrális tervezésig. A tárgy tematikája altal felölelt területek: történeti áttekintés, jelenlegi trendek, webalkalmazás architektúrák, web-design, alaptechnológiák, XML technológiák, szerveroldali dinamikus tartalom előállítás, webszolgáltatások, webes biztonsági kérdések. A foglalkozások heti két óra előadást, és két óra számítógépes laborban lebonyolított gyakorlatot foglalnak magukba. Az előadásokon kerülnek felvezetésre az aktuálisan
3
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
tárgyalandó anyagrészhez kapcsolódó alkalmazások, információ architektúrális ismeretek és a technológiai alapkérdések. Az előadásokon lehetőség szerint sok valós életből vett példát használunk. A gyakorlatokon kidolgozott forrás nyelvi példákon próbáljuk a legfontosabb technológiai részleteket bemutatni, és lehetőséget biztosítani a hallgatók számára az adott technológiával, fejlesztőkörnyezettel való ismerkedésre, kísérletezésre. Az oktatás során fontos szempont volt, hogy könnyen elérhető és a tényleges gyakorlatban is széleskörben használt platformot használjunk szemléltetésre. Ennek a kívánalomnak a nyílt-forrású megoldások eleget tesznek (Raymond, 2004). Maga a web-fejlesztés az egyik nyílt-forrású technológiákkal legjobban lefedett terület. A gyakorlatok környezetének legfontosabb elemei a könnyen telepíthető és menedzselhető XAMPP rendszer, Apache Tomcat szervlet-konténer, a legtöbb platformon elérhető Netbeans IDE, XML-editorok, a debuggoló eszközökkel jól felszerelt Firefox böngésző voltak. A MS Windows platform mellett a Web szempontjából klasszikus Linux operációs rendszert választottuk. Mivel az egyetemi számítógépes infrastruktúra menedzsmentje nem támogatta egy natív Linuxos labor kialakítását, az érezhető teljesítmény csökkenés ellenére használható megoldásnak bizonyult a Linux környezet (Debian, Woody) MS VirtualPC-n való futtatása. A tárgy vizsgával zárul. A számonkérés két részből állt. A hallgatók a szorgalmi időszakban meghatározhattak maguknak az oktatók által meghatározott követelményeknek elegettevő beadandó feladatot. Ennek a komplex feladatnak tartalmaznia kellett szerveroldali dinamikus tartalom előállító komponenst, valamint demonstrálni kellett a kliens oldalon a tartalmat és megjelenítést szeparáló modern felhasználói felület megoldást. Az elméleti ismeretek számonkérése egy öt kérdésből álló minimum kérdéssorral a vizsgán történt. Tapasztalatunk szerint ez a fajta számonkérés a valódi fejlesztésekhez közelebb álló probléma-megoldási készséget mér. Az alkalmazható technológiák terén nem korlátoztuk a hallgatókat, amennyiben az adott technológia megfelelő szintű megértését bizonyították. 5.
IA a „Web-fejlesztés” tárgy keretében
Tárgyunk keretében mérnöki megközelítésben jelenik meg az információ-architektúra. Bemutatunk tervezési elveket, módszereket, valamint a tervezésben használható formalizmusokat. Ezzel biztosítható a tárgy egyfajta multidiszciplináris ötvöző szerepe a szoftver-technológia, design, multimédia, valamint a programozás témakörökben. Az információ architektúra terminológiájának egységesítésére tett kísérletek közül az egyik legsikeresebbnek a Jesse James Garrett által kidolgozott felhasználói élmény megközelítési keretrendszer (elemek, szintek) tekinthető (Garrett, 2002). Ez a rendszer lényegében az alkalmazott információ architektúra, web-design, felhasználói-felület tervezés, valamint információ visszakeresés módszereit helyezi egy egységes követelmény meghatározási keretbe. A keretrendszer disztingvál az interaktív tranzakciós webalkalmazások és a tartalom orientált webszájtok tervezése között. Ez a követelmény-orientált megközelítés egy jól struktúlt leírást biztosít a webes fejesztésekhez kapcsolódó projekt menedzsment, fejlesztői kompetencia, tervezési háttérkérdésekhez. A Garrett által létrehozott réteg-szerkezetű keret a webes alkalmazások fejlesztésének minden szintjét képes integrálni úgy, hogy a legmegfelelőbb felhasználói élményhez vezető stratégia érvényesülni tudjon. Egy olyan áttekintő szemléletű tárgy esetén, mint az MSc-s "Web-fejlesztés" ez az integráló keret az információ architektúrális alapokkal együtt egy természetes elrendezést és
4
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
vezető vonalat definiál a tárgy filozófiájához, a tematika kibontásához, különböző témák prioritálásához. Napjaink szoftver-technológiai problémái közül a web-fejlesztés az, melynek professzionális művelése a legszélesebbkörű technológiai ismeretek, valamint a felhasználói élmény kialakítása miatti humán-komputer interakciós ismeretek felhasználását kívánja meg a szakma-terület művelőitől (Shklar, 2003). Ezen meggondolások egyenes következménye, hogy egy ilyen tárgy keretei között nem nélkülözhetők az idevágó információ architektúra ismeretek. Ugyanakkor lévén szó egy bizonyos vonatkozásaiban gyorsan változó, erősen az alkalmazható technológiák által meghatározott alkalmazási területről, a gyakorlatban ténylegesen alkalmazható információ architektúra sem képzelhető el a mögöttes technológiák megértése nélkül. Úgy gondoljuk sikerült egy olyan tárgytematikát kialakítanunk, mely a rendelkezésre álló oktatási erőforrások mellett optimális ötvözetét adja a multi-diszciplináris információ architektúra ismereteknek, valamint a klasszikus web-programozási, fejlesztési technológiai ismereteknek. 6.
Oktatási tapasztalatok
Informális hallgatói vélemények alapján a tárgy pozitív hallgatói fogadtatásra talált. Szemben a BSc képzés választható "Web-technológia" tárgyaival, ennél a tárgynál nincsenek előtanulmányi követelmények, ellenben kötelező tárgy. Ebből annak kell következnie, hogy a hallgatóság sokkal inhomogénebb háttérrel rendelkezik fejlesztési tapasztalatok és webtechnológiák terén. Ennek ellenére, a kisszámú, jórészt munkahelyi, fejlesztési tapasztalatokkal rendelkező hallgatóság számára sikerült érdekes témákat felvetni, fejlesztési és technológiai kérdéseket tisztázni. A webfejlesztéssel foglalkozók számára is tudtunk hasznos tippekkel szolgálni. A félév során kitüntetett figyelmet kaptak a használhatósági kérdések. Ezek megoldásában nagyon gyakran kifinomult architektúrális tervezési meggondolások és gondos technológiaválasztás rejlik. A tárgy időkorlátai miatt a hangsúly ezekre a kérdésekre és a szemlélet formálására esett: napjaink népszerű és sikeres webes megoldásai mögött található technológiák elemzésére. A különféle technológiák használata nem lehet öncélú, valamilyen információ architektúrából fakadó stratégia részeként kerülnek alkalmazásra. Fontos kiemelni, hogy napjaink népszerű technológiai és design trendjeinek, keretrendszereinek alkalmazása automatikusan nem vezet a felhasználói élmény, a használhatóság, vagy valamilyen metrika szerint definiált jó teljesítmény elérésére. Hogy csak az akadémiai szféránál maradjunk, a legtöbb egyetemi webszájt információ architektúra szempontjából komoly deficittel rendelkezik, így kitűnő terepül szolgálhatnak a problémák felvetésére, elemzésére, alternatív megoldások kigondolására. Szintén széleskörben elmezhető a legtöbb webes interfésszel rendelkező tanulmányi rendszer, mint tranzakciós célú webalkalmazás. Jól azonosíthatók az egyes Garrett féle felhasználói élmény elem-szinteken elkövetett tervezési hibák. 7.
Konklúzió
Összefoglalva, egy modern tematikájú web-fejlesztéssel kapcsolatos tárgy alkalmas a megfelelő, piacképes webes fejlesztői szemlélet kialakítására. Az információ architektúra lassan kibontakozó és elterjedő módszerei, formalizmusai, és magasszintű keretei alkalmasak
5
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
a webes fejlesztésekkel kapcsolatos speciális követelmények elemzésére, rögzítésére, a fejlesztési folyamatok és szerepek tárgyalására. Természetesen, mivel a webes alkalmazások sikerességét meghatározó alapvető faktor a tervező tapasztalata és gyakorlata, egy kis óraszámú és kötelező tárgy önmagában nem lehet alkalmas ennek a professzionális döntéseket, kutatási eredményeket és fegyelmezett kreativitást ötvöző gyakorlatnak a szintetizálására. A hallgatóságtól iránymutató konzulációk mellett elváratik nem kevés önálló tanulási erőbefektetés és munka. Önálló munkával és néhány választható tárgy keretében elsajátíthatók a mélyebb és speciális technológiai ismeretek. Tárgyunkban ezen ismeretek egy globális képben való elhelyezése, a lehetőségek bemutatása volt a cél. Mivel egy rendkívül gyorsan változó és széles technológiai palettával dolgozó területről van szó elengedhetetlen az állandó tárgyfejlesztés és a tematika naprakészen tartása, időközönkénti revidiálása. Irodalomjegyzék [1]
J. J. Garrett (2002): The Elements of User Experience, New Riders Press.
[2]
J. Nielsen (2002): Web-design, Typotex, Budapest.
[3]
E. S. Raymond (2004): A katedrális és a bazár, Egy botcsinálta forradalmár gondolatai a Linuxról és a nyílt forráskódú programokról, O’Reilly, Kiskapu, Budapest.
[4]
L. Shklar, R. Rosen (2003): Web Application Architecture, John Wiley & Sons Ltd.
[5]
N. C. Zakas, J. McPeak, J. Fawcett (2007): Professzionális Ajax, a második kiadás fordítása, SZAK Kiadó.
6