Tīmekļa programmēšana
description
Transcript of Tīmekļa programmēšana
![Page 1: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/1.jpg)
Tīmekļa programmēšana
2010. gada rudens semestris
![Page 2: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/2.jpg)
Lekcijas
• Ceturtdien, 16:30 – 19:45
Raiņa bulvāris 29, 413. auditorija
![Page 4: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/4.jpg)
Kursa materiāli
• Kursa Web lapa• http://www.ante.lv/xwiki
LU maģ. "Tīmekļa programmēšana" 2010.g. rudens
Tieša saite: http://www.ante.lv/xwiki/bin/view/Training.WebProgramming.Masters2010/
• Moodle• http://estudijas.lu.lv • DatZ5008
![Page 5: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/5.jpg)
Google grupa diskusijām• Grupas nosaukums: Web Programming LU 2010
• Grupas mājas lapa: http://groups.google.com/group/web-programming-lu
• Grupas e-pasta adrese:[email protected]
• Grupa ir paredzēta vispārīgu jautājumu apspriešanai, kas varētu interesēt visus kursa dalībniekus• Praktisko darbu precizējumi• Tehnisko grūtību atrisināšana• utml
![Page 6: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/6.jpg)
Kursa prasības
• 1.praktiskais darbs (obligāts) - 30% (25% + 5%)
• 2.praktiskais darbs (obligāts) - 30% (25% + 5%)
• 3.praktiskais darbs (neobligāts) - 30%
• Individuālie mājasdarbi (neobligāti) - 15% + 15%
• Izvēļu testi (neobligāti) - 10%
• Negaidīti mazie mājasdarbi (neobligāti) – max 10%
• Konferences (neobligāti) – max 10%
![Page 7: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/7.jpg)
Praktiskie darbi
• Darbus var pildīt individuāli, vai divu cilvēku komandās
• Komandas ir jāpiesaka divu nedēļu laikā (līdz 23.09.2010) pa e-pastu
• Komandas gadījumā katram cilvēkam ir jāpiedalās katra darba izstrādē un jāmāk paskaidrot gan sevis izpildītas uzdevuma daļas, gan arī visu risinājumu kopumā!!!
![Page 8: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/8.jpg)
Praktiskie darbi• Termiņi
• 1. PD = 8. novembris (check point: 18.oktobris)• 2. PD = 13. decembris (check point: 29. novembris)
• Kavējuma sods• Par katru nokavētu dienu 0,5 punkti tiek atskaitīti:
• 10 dienu garumā ‘check point’ gadījumā• 10 dienu garumā gala termiņa gadījumā
• PĒC 10 DIENĀM IESNIEGT VAIRS NEDRĪKST !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
• Darbus vajadzēs iesūtīt pa e-pastu• Sesijas laikā visus darbus vajadzēs aizstāvēt klātienē
![Page 9: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/9.jpg)
Praktiskie darbi
• Kavējuma soda piemērs
• Check-point termiņš = 18.10.2009
• Darbs iesūtīts:
• 18.10.2010 max atzīme = 30
• 19.10.2010 max atzīme = 29,5
• 20.10.2010 max atzīme = 29
• .....
• 28.10.2010 max atzīme = 25
• 29.10.2010 FAILED!!!
![Page 10: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/10.jpg)
Extra credit
• Praktiskajiem darbiem papildus pamata prasībām tiks definēti arī “extra credit” uzdevumi, par kuriem būs iespējams iegūt papildus punktus
• Extra credit uzdevumus drīkst pildīt līdz sesijas beigām
![Page 11: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/11.jpg)
Trešais praktiskais darbs
• Nav obligāts!
• Termiņš – līdz sesijas beigām
![Page 12: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/12.jpg)
Individuālas prakt. darbu tēmas
• Ja Jūsu pieredze tīmekļa programmēšanā ir attīstījusies citā virzienā un vēlaties kursa laikā programmēt citas tīmekļa lietojumprogrammas, tad piesakoties pirmajās 2 nedēļās varat piedāvāt savu praktisko darbu virkni
![Page 13: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/13.jpg)
Individuālie mājasdarbi
• Nav obligāti
• Pirmo uzdevumu izlozē – tiks piedāvāti 3 varianti, var izvēlēties kuru pildīt
• Otro uzdevumu var brīvi izvēlēties
• Termiņš – līdz sesijas beigām
![Page 14: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/14.jpg)
Izvēļu testi
• Būs pieejami Moodle vidē semestra beigās
• Nav obligāti
![Page 15: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/15.jpg)
Negaidīti mazie mājasdarbi
• Iespējams, tiks uzdoti lekciju laikā
• Izpildes termiņš: 1 nedēļa
• Maksimāls punktu skaits, kurus būs iespējams iegūt: 10%
![Page 16: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/16.jpg)
Konferences
• Motivācija:• vairāk iesaistīt studentus mācību procesā • padarīt lekcijas interaktīvākās• dalīties ar pieredzi
• Veltītas konkrētai tēmai• ORM ietvari, XML apstrāde, MVC ietvari utml
• Studenti sagatavos 5-10 minūtes ilgas prezentācijas
• Pēc prezentācijām notiks kopēja diskusija
• Maksimāls punktu skaits: 10%
![Page 17: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/17.jpg)
Kursa saturs
![Page 18: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/18.jpg)
Internets mūsdienās
• Mūsdienās VISI zina kas ir Internets un VISI izmanto Internetu
• Bet mūs, kā datoriķus, interesē kā veidot tīmekļa lietojumprogrammas
gan mazuļi gan vecmammiņas
![Page 19: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/19.jpg)
Kursa mērķis
• Kursa mērķis ir iepazīties ar dažādām Java un Java Enterprise Edition tehnoloģijām, kas noder tīmekļa lietojumprogrammu veidošanai
Kas ir Kas ir tīmekļa tīmekļa
lietojumprogramma ???lietojumprogramma ???
![Page 20: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/20.jpg)
![Page 21: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/21.jpg)
Kursa saturs (1., 2. lekcija)
• Java programmēšanas valodas svarīgāko elementu pārskats
• Rīki un palīglīdzekļi, kuru izmantošana atvieglo programmētāja dzīvi un darba pieredze ar kuriem ir nepieciešama mūsdienu programmētājam:• Integrētas izstrādes vide Eclipse• Projektu pārvaldības un būvēšanas rīki Maven un Ant• Versiju kontroles rīki Subversion un CVS• Vienību testēšanas ietvars JUnit• Žurnalēšanas ietvars log4j
![Page 22: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/22.jpg)
Kursa saturs (2. lekcija)
• Spring Framework – lietojumprogrammu izstrādes ietvars Java platformai
• Vispārīgs Spring ietvara pārskats
• Spring moduļi
• ”Atkarību injicēšanas” princips (Dependency Injection)
• ”Kontroles inversijas” konteineris (Inversion of Control)
![Page 23: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/23.jpg)
Kursa saturs (3. lekcija)
• Datubāzes piekļuve
• Java Database Connectivity (JDBC)
• Objektu-relāciju attēlojums (Object-Relational Mapping)
• Java Persistence API ietvars
• Java Persistence Query Language (JPQL)
• Hibernate ietvars
![Page 24: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/24.jpg)
Kursa saturs (4., 5. lekcijas)
• HTTP protokols • FTP, SMTP protokoli• HTTP/FTP/SMTP klientu programmēšana
• Tīmekļa datu apmaiņas formāti• XML, JSON, YAML un citi
• Programmatiskā apstrāde, lasīšana, ģenerēšana
• XML apstrāde: DOM, SAX un citas pieejas
![Page 25: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/25.jpg)
Kursa saturs (6., 7. lekcijas)
• Tīmekļa lietojumprogrammu arhitektūra un darbības pamatprincipi• Tīmekļa serveri, lietojumprogrammu serveri
• Tīmekļa lietojumprogrammas komponenti
• Moduļa (WAR) struktūra
• Tīmekļa lietojumprogrammas konfigurācija (web.xml fails)
• Tīmekļa lietojumprogrammu izvietošana (deployment) uz servera
• Java Enterprise Edition - tīmekļa lietojumprogrammu izstrādes platforma
![Page 26: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/26.jpg)
Kursa saturs (6., 7. lekcijas)
• Java Servlet tehnoloģija
• JavaServer Pages (JSP) tehnoloģija
• JSTL tagu bibliotēka
![Page 27: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/27.jpg)
Kursa saturs (8., 9., 10. lekcijas)
• Spring Web MVC
ietvars tīmekļa lietojumprogrammu izstrādei
• Tīmekļa lietojumprogrammu testēšana• Selenium
• HttpUnit
![Page 28: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/28.jpg)
Kursa saturs (11., 12. lekcijas)
• Tīmekļa pakalpes (Web servisi)
• Tīmekļa servisu dažādi izmantošanas stili –
SOA un REST
• SOA tīmekļa servisu standarti – SOAP, WSDL
• RESTful tīmekļa servisi
• Tīmekļa servisu izstrāde ar JAX-WS un JAX-RS lietojumprogrammas saskarnēm
![Page 29: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/29.jpg)
Kursa saturs (13. lekcija)
• Enterprise Java Beans
• EJB tehnoloģijas pārskats
• EJB konteineris un tā servisi
• Entītiju komponenti
• Sesijas komponenti
• Ziņojumu (Message-driven) komponenti
![Page 30: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/30.jpg)
Kursa saturs (14., 15. lekcijas)
• Bagātīgas tīmekļa lietojumprogrammas
(Rich Internet Applications)
• Ajax - bagātīgu tīmekļa lietojumprogrammu izstrādes tehnoloģiju kopa
• Google Web Toolkit ietvars (GWT)
![Page 31: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062314/568133a9550346895d9ab998/html5/thumbnails/31.jpg)
Kursa saturs (16. lekcija)
• Tīmekļa lietojumprogrammu drošība
• Varbūt kaut kas vēl, piemērām:• Spring Web Flow