Webes alkalmazásfejlesztés
Tartalom Bevezetés Webes alkalmazások fejlesztéseinek kérdései Web Engineering Web alapú Információs Rendszerek (WIS) Webalkalmazások általános architektúrája Tervezési stratégiák Jellemző problémák és megoldások Webalkalmazások réteges szerkezete és az MVC Fejlesztési folyamat
Bevezetés Mi is az a webes alkalmazás? Felhasznált források Adamkó Attila doktori disszertációja Web alapú Információs Rendszerek modellezése címmel (Saját tapasztalatok PHP, MySQL, (X)HTML, stb. témakörben)
Webes alkalmazások fejlesztéseinek kérdései 1. Ezek közül az egyik legjelentősebb az állandó technológiai változásoknak a hatása. Nagyon gyorsan alakulnak ki és terjednek el egyre újabb és újabb technológiák, amelyek még hatékonyabb alkalmazásfejlesztést tesznek lehetővé. Ezért a web fejlesztéseknek fel kell készülniük a változásokra.
Webes alkalmazások fejlesztéseinek kérdései 2. A másik fontos szempont a fejlesztésre szánható idő mennyisége. Ez web alkalmazások esetén legfeljebb három, esetleg négy hónap lehet.
Webes alkalmazások fejlesztéseinek kérdései 3. A harmadik a fejlesztéshez szükséges szakismeret. Miután a web alkalmazások számos technológiát használnak a működésükhöz, a fejlesztéshez ezen irányzatok mindegyikét ismerni kell, ami általában számos különböző területről érkező ember együttműködését kívánja meg.
Webes alkalmazások fejlesztéseinek kérdései 4. A negyedik pedig a felhasználók széles köre. Míg a hagyományos szoftverek esetén előre meghatározható, hogy a terméket kik fogják használni, addig a web alkalmazások esetén ez már nehezebben megfogható.
Web Engineering „A Web Engineering a szisztematikus és követhető irányzatok alkalmazása a kiváló minőségű Világhálós alkalmazások költség-hatékony fejlesztéséhez és fejlődéséhez.” Web Enginerering közösségi portálja
Webalkalmazás karakterisztikája Informális Interaktív Kereskedelmi Munkafolyamat kezelő Együttműködési környezet Közösségi Portál
Web alapú Információs Rendszerek (WIS) A WIS a webalkalmazások egy speciális fajtája, amely az előbbi felsorolást alapul véve a következő kategóriákba sorolható: információs, interaktív és kereskedelemmel kapcsolatos. Jellemzésére pedig a következők igazak: Információs Rendszer, elosztott alkalmazás, a kliens/szerver alkalmazások speciális esete, melyben a funkcionalitás nagy része a szerver-oldalra kerül, a weben, mint alkalmazási infrastruktúrán alapszik, a felhasználói kommunikációk webes interfészeken keresztül történnek.
A kommunikáció és információ jellegének kapcsolata a WIS-nél Aszimmetrikus kommunikáció Szimmetrikus kommunikáció Objektív információ Információ szolgáltató Információs rendszer Befolyásoló információ Hirdetési Közösségi
Webalkalmazások általános architektúrája Architektúrájukat talán úgy jellemezhetjük a legjobban, hogy a kliens/szerver modellek egy speciális formája, ahol a kliensek „vékonyak”, és a szerveroldal felelős az alkalmazás teljes funkcionalitásának a kezeléséért.
Webalkalmazások általános architektúrája – A kommunikáció 3 lépcsője Kérés: a felhasználó elküldi a kérést a szervernek, többnyire egy weboldalon keresztül. Feldolgozás: a szerver fogadja a kérést, és különböző műveleteket hajt végre. Ezt követően az eredmény (általában egy új oldal) továbbítódik a klienshez. Válasz: a felhasználó böngészője megjeleníti a kérés eredményét.
Tervezési stratégiák Problémák: nem lehet teljes mértékben specifikálni, hogy az alkalmazás pontosan miként fog működni Változások (információ) Amikor gyorsan kell a webalkalmazásokat elkészíteni skálázhatóság könnyen felállítható és méretezhető Stb.
Tervezési stratégiák – Hogyan? Saját modellek készítése, használata Tervezési mintákat használunk Esetleg az elérhető módszertanok egyikét alkalmazzuk
Tervezési minták Definíció: „egymással együttműködő objektumok és osztályok leírásai, amelyek testreszabott formában valamilyen általános tervezési problémát oldanak meg egy bizonyos összefüggésben” A web alapú alkalmazások fejlesztésénél használt legelterjedtebb tervezési minta a Model-View-Controller (Modell-Nézet-Vezérlő). A tervek elkészítéséhez viszont nem nyújtanak támogatást
Az MVC architektúra
MVC-vel elérhető dolgok Modularitás: lehetővé teszi bármely komponens kicserélését a felhasználó vagy a program igényei szerint. A program egy moduljának cseréje nem kötődik a többi modulhoz. Újrafelhasználhatóság: a korábban készült kódok újrafelhasználását támogatja, ha megfelelően körültekintően terveztünk. Egyszerű bővíthetőség: a Controller és a View a modellel együtt bővülhet. Központosított vezérlő: a Controller segítségével a menedzselhetőség még egyszerűbbé válik.
Kapcsolódó módszertanok Web Application Extension (WAE) – az UML bővítése Web Modeling Language (WebML) Web Site Design Method (WSDM)
Jellemző problémák és megoldások A minden igényt kielégítő, teljes webalkalmazások generálásához és működtetéséhez egyik sem nyújt megfelelő támogatást. Az implementáció megvalósítása az üzleti (alkalmazás) logika és a megjelenítésért felelős kódrészletek egy programmodulba való „összemosása” Internet és az intranet -> Redundancia Rétegek közötti határok meghatározása Általános érvényű szabályok nincsenek
A webalkalmazások réteges szerkezete és az MVC
Fejlesztési folyamat - fázisok elemzési kialakítási elkészítési átviteli karbantartási (evolúciós)