Webtechnológia
(Web adatbázis programozás)
Informatika tanár szak, nappali tagozat
Programtervező matematikus szak, nappali tagozat
Programtervező informatikus, MSc - Médiainformatika szakirány, nappali tagozat
Időpont
Csütörtök 12:00-13:30, PC9
Tárgyleírás
A tárgy az adatbázisok web-es alkalmazásait mutatja be, félév végére a hallgatók képesek lesznek összetett webes alkalmazások készítésére. A Web adatbázis programozás tárgy az ELTE-n oktatott web-es képzéseken (Web-fejlesztés 1-2., (Web-programozás és HTML speci a korábban kezdetteknek), Web-szerkesztés) számonkért ismeretekre (HTML, CSS, PHP) erősen épít, nem alapozó jellegű kurzus.
A gyakorlatokon egy képalbum-kezelő alkalmazás készítésén keresztül ismertetjük az összetett webes alkalmazások tervezésének, készítésének menetét.
Elvárt, szükséges ismeretek:
- Web programozás 1. vagy Web-fejlesztés 2. tárgyak (PHP és JavaScript alapok)
- Web-szerkesztés tárgy (erős HTML és CSS ismeretek)
- Adatbáziskezelés tárgy (erős előfeltétel)
- XML ismeret előnyt jelent (Adatkezelés - XML)
Tárgyfelelős: Tarcsi Ádám
Követelmények
A tárgy teljesítéséhez egy beadandó feladatot kell készíteni. A beadandó forrás állományokat és a dokumentációt tartalmazó fájlt zip-elve kell e-mail-ben elküldeni a gyakorlatvezetővel egyeztetett határidőig, továbbá az alkalmazást el kell helyezni egy nyílt szerveren is, majd a gyakorlatvezetőnek be kell mutatni, meg kell védeni. A bemutatás/védés időpontját a gyakorlatvezetővel e-mailben egyeztetni szükséges.
A dokumentációnak tartalmaznia kell egy részletes fejlesztői- és egy rövidebb felhasználói leírást.
A fejlesztői dokumentációban szerepelnie kell:
- az alkalmazás terve,
- funkciók, függvények részletes leírása, azaz mi, mit csinál, mindezt vagy folyamatonként vagy képernyőnként
- fejlesztői döntések indoklása
- adatbázis terve (táblák szerepe, típusok, mezők egy mondatos leírása, megszorítások, kapcsolatok).
A felhasználói dokumentáció pedig röviden írja le az alkalmazás használatát.
A forráskód legyen részletesen kommentezett!
A beadandó feladat beküldésének határideje: A gyakorlatvezetővel egyeztetett időpont.
Beadandó
Az alábbi feladatok közül kell egyet elkészíteni. A tárgy oktatójával egyeztetve más feladatot is lehet készíteni!
A Web-es alkalmazástól elvártak:
Minimum követelmények (az 1-esért)
- dokumentáció
- template használata
- validitás (HTML, CSS, mobil alkalmazás esetén vegye figyelembe a W3C ajánlásait, Szemantikus web alkalmazás esetén pedig a W3C szemantikus web ajánlásait)
- adatbázis használat
- keretrendszer (PHP, Java, .NET)
További követelmények (ahány pont, annyi jegy - ettől egyéb vállalás, valamely témakört bővebben kifejtő példa alkalmazás, stb esetén a gyakorlatvezetővel történő egyeztetés után el lehet térni)
- AJAX
- Web Service-t (ír és használ)
- API (használja másét, pl. Google, Microsoft, Yahoo!, Twitter, Facebook, iwiw, stb ...)
- Gazdag funkcionalitású kliens (drag and drop, választhatóság, komponensek, effects) (Silverlight, Flash, Flex, RIA, JQuery, stb.)
- Egyebek: Mobil Web alkalmazás, Szemantikus Web alkalmazás.
Lehetséges beadandó feladatok:
- Készítsd el az órai példaalkalmazás, vagy bármelyik másik beadandó mobiltelefonokra optimalizált webes változatát. Az alkalmazás ismerje fel (vagy legyen választható), hogy asztali vagy mobilos nézetet kell használni, és annak megfelelően töltse be az oldalt. A megoldás során érdemes kihasználni az MVC-ben rejlő lehetőségeket, ahol az asztali vagy telefontípusbeli különbségek a nézetben (view) vannak. Kulcsszavak: kliens- és/vagy szerveroldali adaptációs technológiák.
- Készítsd el az órai példaalkalmazás, vagy bármelyik másik beadandó CMS rendszerbe (Wordpress, Drupal, Joomla) portolt változatát. Használd ki a keretrendszer adta lehetőségeket: bejelentkezés, authorizálás, sablonok. Készíts egy, a feladathoz illő komponenst / modult / plugin-t is!
- Készítsd el az órai példaalkalmazást ASP.NET-ben vagy valamely Java keretrendszer használatával.
- Készítsd fel az órai példa-alkalmazást, vagy bármelyik másik beadandót az offline működésre. Használd ehhez a HTML5 offline webapp API-ját.
- Készíts egy olyan diagram-rajzoló alkalmazást, melynek segítségével az adatbázisban lévő adatokat Google Maps térképen tudjuk ábrázolni. Legalább kétféle diagramtípust valósíts meg!
- Készíts egy csengőhangok tárolására, letöltésére szolgáló alkalmazást. Az alkalmazásban lehessen rákeresni adott kulcsszavakra az előadóban, a címben vagy a címkékben. A keresési találatoknál lehessen lejátszani az adott csengőhangot. Kiválasztva egy csengőhangot adjunk lehetőséget a letöltésre, valamint soroljuk fel a hasonló címkéjű csengőhangokat. A főoldalon listázzuk ki a legtöbbet letöltött, és a legtöbb általkedvencként bejelölt csengőhangokat. Legyen lehetőség egy url megadásával letölteni a csengőhangot.
- Az órai példaalkalmazás továbbfejlesztése úgy, hogy a felvitt képeket, albumokat töltse fel Facebook-ra is. Az alkalmazásban az egyes képekhez Facebook accounttal lehessen megjegyzéseket is írni.
- Készíts egy recepttár Facebook alkalmazást, melynek segítségével recepteket tudunk keresni, feltölteni. Az egyes receptekhez lehessen szavazni, megjegyzéseket is írni és képeket feltölteni.
Tetszőleges Google+ alkalmazás. - SEO ellenőrző alkalmazás, melynek segítségével leellenőrizhető, hogy egy adott oldal egy adott keresőszóra vagy kifejezésre hányadik helyen szerepel a Google, Bing, Yahoo keresőkben. A webes alkalmazás tartalmazzon továbbá kulcsszó ajánlót a megadott oldalt átvizsgálva.
- Az órai alkalmazás továbbfejlesztése PHP SOAP protokoll alapú web service kiegészítéssel.
- Tetszőleges Google API használata (szerver API-k, Picasa, stb.) Segítségül: http://code.google.com/more/table/
- Az órai példaalkalmazás átírása NoSQL technológia használatával.
Tematika
Óra | Dátum | Gyakorlat |
---|---|---|
1. | Óramegbeszélés, a félév ismertetése. Általános bevezető. Többrétegű architektúrák. Web-es technológiák: PHP, JSP, JAVA, ASP.NET (.NET), stb. Web-es alkalmazásfejlesztés módszertana. | |
2. | Webes keretrendszerek, Modell-View-Controller modell. JavaScript keretrendszerek, AJAX, Web 2.0 és hatása. Szemantikus Web. | |
3. | Web Servicek, Szolgáltatás Orientált Architektúra (SOA), Cloud computing. | |
4. | PHP adatbáziskezelés. Adatbiztonság a gyakorlatban. Dinamikus multimédiás tartalom (adatbázis, header, stb, dinamikus Flash). | |
5. | PHP keretrendszerek: "mini" PHP keretrendszer megvalósítása. | |
6. | Egy professzionális PHP keretrendszer megismerése. Egy web-es alkalmazás fejlesztése az előző órán megismert PHP keretrendszerben. Összetett web-es alkalmazás fejlesztése | |
7. | JavaScript keretrendszerek | |
8. | AJAX. Rich Internet Applications | |
9. | Webes API-k programozása, felhasználása | |
10. | Web Servicek felhasználása, készítése. Szolgáltatás Orientált Architektúrák a gyakorlatban. | |
11. | Multimédiás adatbázisok, Tartalom alapú visszakeresés elmélete. Az Oracle megoldása: Oracle interMedia Többrétegű adatbázis-modell. |
|
12. | Szemantikus Web | |
13. | Webes alkalmazások tervezése, Web Engineering |
Hasznos linkek
- API gyűjtemény: http://www.programmableweb.com/apis
- Web Service gyűjtemény: http://webservices.seekda.com/
- W3C Mobile Web oldal: http://www.w3.org/Mobile/
- Szemantikus Web: http://swa.cefriel.it/
Ajánlott irodalom
- Mike Andrews, James A. Whittaker: Hogyan törjünk fel webhelyeket (Webalkalmazások és webes szolgáltatások biztonsági vizsgálata)
- Kappel, G., Pröll, B., Reich, S., Retschitzegger W. (Eds.): Web Engineering: The Discipline
of Systematic Development. John Wiley & Sons Inc., Chichester (2006). - Mendes, E., Mosley, N. (Eds.): Web engineering. Springer-Verlag, Berlin (2005).
- Murugesan, S., Deshpande, Y. (Eds.): Web Engineering: Managing Diversity and
Complexity of Web Application Development. LNCS 2016, Springer-Verlag, Berlin (2001). - Rossi, G., Pastor, O., Schwabe, D. Olsina, L. (Eds.): Web Engineering: Modelling and
Implementing Web Applications. Springer (2007). - Segaran T., Evans, C., Taylor, J.: Programming the Semantic Web. O'Reilly Media (2009).
- Governor, J., Hinchcliffe, D., Nicknull, D.: Web 2.0 Architectures: What Entrepreneurs and
Information Architects Need to Know. O'Reilly (2009). - Holzner, S.: XML: A Beginner's Guide: Go Beyond the Basics with Ajax, XHTML, XPath
2.0, XSLT 2.0 and XQuery. McGraw-Hill Osborne Media (2008). - Kumar, B.,V. Narayan, P., Ng, T.: Implementing SOA Using Java EE. Addison-Wesley
Professional (2010).
Letölthető segédanyagok
Cím | Fájlméret | Fájlnév |
---|---|---|
1. óra: általános bevezető: többrétegű architektúrák | 249 kb |
1.pdf |
2. óra: Webes keretrendszerek, MVC modell, JavaScript keretrendszerek, AJAX, Web 2.0. Szemantikus Web | 3 544 kb |
2.pdf |
3. óra: Szolgáltatás Orientált Architektúra, Web service, Cloud computing | 1 833kb |
3.pdf |
PHP ismétlés | 74 kb |
PHP_ismetles.pdf |
JavaScript | 22 kb |
JavaScript.zip |
XML alapok | 27 kb |
xml_alapok.pdf |
PHP-XML | 113 kb |
PHP-XML.pdf |
4. óra: PHP adatbáziskezelés | 350 kb |
4.pdf |
CodeIgniter PHP keretrendszer részletes ismertetése | 305 kb |
CodeIgniter_PHP_Framework.pdf |