| MLR5015 | Programare Web |
| Titularii de disciplina |
Lect. Dr. BUFNEA Darius Vasile, bufny cs.ubbcluj.roLect. Dr. STERCA Adrian Ioan, forest cs.ubbcluj.roLect. Dr. RUFF Laura Ildiko, laura cs.ubbcluj.roLect. Dr. VASZI Attila |
| Obiective |
|
- Familiarizarea studentilor cu principalele concepte, tehnologii atât client side cât si server side precum si cu instrumentele cel mai des folosite în programarea web; - Utilizarea elementelor de mai sus în proiectarea site-urilor web de generatie recenta. |
| Célkitűzések |
|
a web-programozásban használt alapfogalmak, eszközök, elterjedtebb kliens-, illetve szerveroldali technológiák megismerése a fenti elemek felhasználása korszer? web-alkalmazások készítésére |
| Aims |
| The main purpose of this course is to introduce students to modern techniques for web programming using both server-side and client-side technologies. The course is meant as an introductory course in web technologies, discussing only the basics of most common tools for web developement and leaving out advanced server-side frameworks/containers and middleware for web-based enterprise business applications |
| Continutul |
|
Curs: 1. Introducere în HTML. Structura unui document HTML. Taguri de baza. 2. Formulare Web. 3. Protocolul HTTP. Metodele GET, POST 4. CGI (Common Gateway Interface) 5. JavaScript 6. Document Object Model 7. CSS (Cascade Style Sheets) 8. Ajax 9. PHP 10. Accesarea bazelor de date (MySQL) folosind PHP 11. Aplicatii Web Java 12. Java Servlets 13. JSP (Java Server Pages) 14. ASP (Active Server Pages) Laborator: 1. Introducere în limbajul HTML. Prezentarea structurii unui document HTML si a celor mai importante taguri. Fiind prima activitate didactica de tip laborator, studentii trebuie doar sa exerseze si sa reproduca exemplele prezentate de cadrul didactic. 2. Prezentarea formularelor Web si a controalelor Web de tip input asociate. Tema de laborator: Reproducerea cât mai fidela folosind tag-urile de baza a unui site cunoscut. 3. Prezentarea din partea cadrului didactic a protocolului HTTP cu exemple practice. 4. Tema de laborator: CGI ca prima tehnologie server-side. 5. Tema de laborator: Tehnologii client side: JavaScript. 6. Tema de laborator: Mecanisme JavaScript avansate: Document Object Model (DOM). DHTML 7. Prezentarea tehnologiei Cascade Style Sheets. Tema de laborator pe baza acestei tehnologi. 8. Prezentarea unor exemple pe baza tehnologiei AJAX. Combinarea pe baza acestei tehnologi a tehnologiilor server side si client side însusite deja. 9. Prezentarea functiilor de baza ale limbajului PHP ca prim limbaj de scripting evoluat server side. Tema de laborator pe baza tehnologiei AJAX si a tehnologiei PHP pentru partea server side. 10. Accesarea bazelor de date (MySQL) folosind PHP. Demonstratii practice din partea cadrului didactic. Tema de laborator. 11. Prezentarea structurii aplicatiilor Web Java. Instalare si configurare container de aplicatii. Studiu de caz: Tomcat. 12. Tema de laborator Java Servlets. 13. Tema de laborator Java Server Pages. Prezentarea unor facilitati avansate JSP precum Custom Tags. 14. Predarea ultimelor laboratoare din partea studentilor. Încheierea activitatii didactice. Masuri organizatorice în ceea ce priveste examenul final din sesiunea de examene. Proiect: Pe parcursul întregului semestru, studentii care frecventeaza cursul de Programare Web vor trebui sa-si creeze o pagina personala pe sistemele server puse la dispozitie de facultate, pagina în care sa fructifice toate tehnologiile însusite la acest curs. Aceasta pagina va fi analizata din mai multe perspective, astfel: tehnologiile client-side folosite (HTML, JavaScript); tehnologiile server-side folosite (PHP, JSP, Servlet, ASP), comunicarea server side cu servere de date; continutul, designul si aspectul. O cerinta speciala este dezvoltarea acestei pagini personale treptat pe masura însusirilor tehnologiilor de catre student. Cadrul didactic va acorda o atentie sporita dezvoltarii graduale a paginii si a evolutiei continutului acesteia pe parcursul semestrului. |
| Tartalom |
|
El?adás 1. hét Bevezetés: - A web története, komponensei kliens-szerver architektúra különbség statikus illetve dinamikus HTML oldal lekérése között Alapfogalmak: URL HTTP protokoll Kliens- illetve szerver oldali technológiák áttekintés, általános jellemz?k 2. hét Statikus HTML/XHTML oldalak történet, felépítés 3. hét Egymásba ágyazható stíluslapok (CSS) 4. hét Kliens oldali script nyelvek - JavaScript HTML Document Object Model (DOM) JavaScript 5. hét Szerver oldali technológiák- PHP Szerver oldali script nyelvek jellemz?i PHP Általános jellemz?k Formkezelés, állománykezelés, adatbázis-hozzáférés Sütik (cookie) használata, szessziókövetés 6. hét AJAX technológia Aszinkron kommunikáció kliens és szerver között - alternatívák AJAX technológia m?ködése AJAX keretrendszerek 7. hét Java Web-technológiák-beveztés MVC elv általánosan különbség desktop- illetve Web-alkalmazásban való használata között alkalmazása Java alapú Web-alkalmazások esetén (áttekintés a JSP-r?l szóló kurzusban) Java EE (lényeg: Web-alkalmazásokkal kapcsolatos rész) Java EE alkalmazás elkészítésének fázisai Többréteg? Java EE Web-alkalmazások Web-kliens Web-komponensek Konténer típusok JavaBean-ek (JSP-r?l szóló kurzusban is szerepel) Java alapú Web-alkalmazások Web-alkalmazás életciklusa (elkészítés fázisai) Web-modul (Web-alkalmazás) szerkezete 8. hét Java servlet technológia Mikor/mire használjuk Életciklusa Nyilvános hatókör? objektumok (public scope objects) Service metódusok Servlet map-elés web.xml-ben Kliens-állapot meg?rzése (szessziókövetés) Kérés/válasz sz?rése Más web-er?forrás hívása (include, forward) 9. hét JSP technológia JSP életciklusa Szkript elemek Implicit objektumok (Bean-ek ismét, illetve ezek használata JSP oldalon) Kifejezés nyelv (Expression language) include direktíva, illetve jsp:include, jsp:forward elemek 10-11. hét JSP elemkönyvtárak Saját elemkönyvtárak (custom tags) El?nyei Fejlesztése Saját elem definiálása Könyvtárleíró létrehozása Saját elem használata JSP standard elemkönyvtár (JSTL) Alap elemkönyvtár Nemzetköziesítés 12. hét JDBC adatbázis-hozzáférés Kapcsolat objektum lekérésének módjai SQL parancsok küldése Válasz feldolgozása Tranzakciók Megj.: hangsúly a web-alkalmazás specifikus problémákon XML feldolgozás XML oldal felépítése XML feldolgozók (DOM, SAX) 13. hét Struts2 keretrendszer Keretrendszerek szerepe, jellemz?i Struts2 keretrendszer Action osztály Interceptorok OGNL 14. hét RIA (Rich Internet Application) alkalmazások Általános ismertet? Adobe-Flex keretrendszer Laborgyakorlat-témák: 1-2. Statikus HTML oldal + stílusállomány használata (CSS) 3-4. HTML Form + JavaScript 5-6. PHP 7. Servlet technológia 8. JSP technológia 9. JSP Elemkönyvtárak 10. JDBC adatbázis hozzáférés 11. AJAX technológia 12. Egyéni projekt 13-14. Projekt bemutatása Egyéb információk a tantárgy honlapján: www.cs.ubbcluj.ro/~laura/webprg |
| Content |
|
Course (2 hours per week) Week 1. WWW history and concepts Week 2. HTML – HyperText Markup Language Week 3. HTTP – HyperText Transfer Protocol Week 4. CSS – Cascading Style Sheets Week 5. XML languages Week 6. DOM – Document Object Model Week 7. Javascript Week 8. Server-side technologies: CGI (Common Gateway Interface) Week 9. AJAX Week 10. Server-side technologies: PHP. Week 11. Server-side technologies: JSP and Java servlets Week 12. Server-side technologies: ASP .NET Week 13. Advanced client-side frameworks (overview): Jquery and GWT (Google Web Toolkit) Week 14. SEO – Search Engine Optimization. Web security: cross site scripting and SQL injection. Laboratory (1 hour per week) Week 1. Introduction to WWW Week 2. The main tags of HTML Week 3. Clonning a famous web site (using only HTML, without CSS) Week 4. Frames and iframes. Week 5. CSS Week 6. Javascript and DOM (DHTML) Week 7. XML and XSLT. Week 8. CGI. Week 9. AJAX and PHP. Week 10. Java servlets and JSP Week 11. Asp .Net Week 12. Jquery. Week 13-14. Project delivery. Project: The students must develop throughout the semester a personal home page that uses both server side and client side technologies. The developed home page must also use some data base access middleware technology. |
| Bibliografie |
|
1. Anghel T. Dezvoltarea aplicatiilor web folosind XHTML, PHP si MySQL. Editura Polirom, Iasi, 2005 2. Boian F. M. Programare distribuita în Internet; metode si aplicatii. Editura Albastra, MicroInformatica, Cluj, 2005 3. Boian F.M., Boian R.F. Tehnologii fundamentale Java pentru aplicatii Web. Editura Albastra, MicroInformatica, Cluj, 2005 4. Buraga S. Tehnologii web. Editura Matrix Rom, Bucuresti, 2001 5. Buraga S. Proiectarea siturilor web. Editura Polirom, Iasi, 2002 6. Castro E. HTML for the World Wide Web with XHTML and CSS. 5’th edition, Visual QuickStart Guide, 2004 7. Hall M., Brown L. Core web programming. 2nd edition. Prentice Hall, 2001 8. Negrino T., Smith D. JavaScript for the World Wide Web. 4th edition, Visual QuickStart Guide, 2001 9. Varlan C. Macromedia FLASH; concepte, exemple, studii de caz. Editura Polirom, Iasi, 2004 10. W3Schools Online Web Tutorials, http://www.w3schools.com 11. http://www.php.net 12. http://www.java.sun.com |
| Evaluare |
|
Nota finala se calculeaza dupa urmatoarea formula: NotaFinala = 40%Laborator + 40%ExamenPractic + 20%ProiectIndividual Proiectul individual consta în elaborarea de catre student a unei pagini personale proprii care sa fie bazata atât pe tehnologii web client side cât si server side, precum si cu tehnologii midleware de conectare la baza de date. Examenul final este un examen practic în cadrul caruia în paginile dezvoltate în timpul examenului studentul trebuie sa si raspunda la anumite întrebari teoretice. Nota de la laborator consta în media aritmetica cu care sunt notate activitatile practice de laborator rezolvate de student pe parcursul semestrului. Pentru promovare fiecare din cele trei componente ale notei finale trebuie sa fie cel putin 5. Informatii actualizate despre curs se pot obtine la adresa: http://www.cs.ubbcluj.ro/~bufny/index.php?view=pw/pw.php |
| Felmérés |
|
A végs? jegyet az (összegy?jtött összpontszám)/10 adja, ahol az összegy?jtött összpontszám a következ?t jelenti: A végs? jegy kiszámításánál figyelembe vett pontokat három különböz? módon lehet összegy?jteni: 1. elméleti vizsga: max. 40 pont 2. projekt: a követelményeknek való maximális megfelelés esetén 40 pont (illetve további pluszpontokat lehet szerezni) 3. az évközi tevékenység során összegy?jtött pontszámból (laborházik, kurzuson szerzett pontok, pluszpontok), ami 80% fölött van, az hozzászámít a végs? jegyhez (1% 1 vizsga-pontnak felel meg) Részletek az alábbi címen: http://www.cs.ubbcluj.ro/~laura/webprg/olvass_el.htm |
| Assessment |
|
The final mark is computed by using the following formula: FinalMark = 40%LabsMark + 40%FinalPracticalExamMark + 20%IndividualProjectMark The individual project is a semester project developed by each student. The students must develope a personal home page that uses both server side and client side technologies. The developed home page must also use some data base access middleware technology. The final exam it is a practical one consisting from some theoretical questions and small tasks concerning client-side and server-side web technologies. The lab mark is the average of the marks the student gets on the labs resolved during the semester. In order to successfully pass this class, each of the above marks must be at least five. The course requirements are described at: http://www.cs.ubbcluj.ro/~forest/wp |