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/2022062301/56814e56550346895dbbec16/html5/thumbnails/1.jpg)
Tīmekļa programmēšana
2013. gada rudens semestris
![Page 2: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/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/2022062301/56814e56550346895dbbec16/html5/thumbnails/4.jpg)
Kursa materiāli
• Kursa Web lapa• http://ante.lv
LU maģ. "Tīmekļa programmēšana" 2013.g. rudens
Tieša saite: http://ante.lv/web-programming-2013/
• Moodle• http://estudijas.lu.lv • DatZ5008
![Page 5: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/5.jpg)
Google grupa diskusijām• Grupas nosaukums: Web Programming LU 2013
• Grupas mājas lapa: http://groups.google.com/group/web-programming-lu-2013
• 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/2022062301/56814e56550346895dbbec16/html5/thumbnails/6.jpg)
Kursa prasības
• 1.praktiskais darbs (obligāts): 30% (25% + 5%), min 15%
• 2.praktiskais darbs (obligāts): 30% (25% + 5%), min 15%
• 3.praktiskais darbs (obligāts): 25% (20% + 5%), min 10%
• 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/2022062301/56814e56550346895dbbec16/html5/thumbnails/7.jpg)
Praktiskie darbi
• Darbus var pildīt individuāli, vai divu cilvēku komandās
• Komandas ir jāpiesaka līdz 23.09.2013 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/2022062301/56814e56550346895dbbec16/html5/thumbnails/8.jpg)
Praktiskie darbi• 1. PD (30%)• Uzdevums: Java konsoles programma. Datu iegūšana no
tīmekļa (HTTP klients), datu saglabāšana datubāzē.• Termiņš: 11. novembris (check point: 28. oktobris)
• 2. PD (30%)• Uzdevums: Spring MVC tīmekļa portāls• Termiņš: 9. decembris (check point: 25. novembris)
• 3. PD (25%)• Uzdevums: Rich GUI un Ajax tīmekļa portāls• Termiņš: 19. decembris
![Page 9: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/9.jpg)
Praktiskie darbi• 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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
• Problēmu gadījumā SAVLAICĪGI informēt pasniedzēju!!!
• Darbus vajadzēs iesūtīt pa e-pastu
• Sesijas laikā visus darbus vajadzēs aizstāvēt klātienē
![Page 10: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/10.jpg)
Praktiskie darbi
• Kavējuma soda piemērs
• Iesniegšanas termiņš = 11.11.2013
• Darbs iesūtīts:
• 11.11.2012 max atzīme = 30
• 12.11.2012 max atzīme = 29,5
• 13.11.2012 max atzīme = 29
• .....
• 21.11.2012 max atzīme = 25
• 22.11.2012 FAILED!!!
![Page 11: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/11.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• “līdz sesijas beigām” = darbu jāiesūta vismaz 60
stundas pirms nākšanas uz eksāmenu
![Page 12: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/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/2022062301/56814e56550346895dbbec16/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• “līdz sesijas beigām” = darbu jāiesūta vismaz 60
stundas pirms nākšanas uz eksāmenu
![Page 14: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/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/2022062301/56814e56550346895dbbec16/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/2022062301/56814e56550346895dbbec16/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• NoSQL datubāzes, MVC ietvari, Ajax ietvari utml
• Studenti veiks 10-15 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/2022062301/56814e56550346895dbbec16/html5/thumbnails/17.jpg)
Jautājumi ???
![Page 18: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/18.jpg)
Maģistra darbi
Pieredze: 16 veiksmīgi aizstāvēti vadītie maģistra darbi
1.Visdažādākās tēmas, kas saistītas ar tīmekli un programmēšanu
2.Kvantu skaitļošana
Nāciet runāt...Nāciet runāt...Rakstiet e-pastus... Rakstiet e-pastus...
![Page 19: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/19.jpg)
Kursa saturs
![Page 20: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/20.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 21: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/21.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 22: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/22.jpg)
![Page 23: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/23.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• Versiju kontroles rīki Git un Subversion• Projektu pārvaldības un būvēšanas rīki Maven un Ant
![Page 24: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/24.jpg)
Kursa saturs (3. 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 25: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/25.jpg)
Kursa saturs (4. lekcija)
• HTTP protokols • HTTP klientu programmēšana Java valodā
• Tīmekļa datu apmaiņas formāti• JSON, XML, YAML un citi
• Programmatiskā apstrāde, lasīšana, ģenerēšana
• XML apstrāde: DOM, SAX un citas pieejas
![Page 26: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/26.jpg)
Kursa saturs (5.,6. 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 27: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/27.jpg)
Kursa saturs (6.,7. lekcija)
• NoSQL datubāzes• Key-Value Stores
• Document Stores
• Graph Databases
• Multivalue databases
• Object databases
• Spring Data:• Redis (key-value store)
![Page 28: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/28.jpg)
Kursa saturs (7. lekcija)
• Žurnalēšanas ietvars log4j
• Vienību testēšana• JUnit
• Mockito
• Spring Test Framework
![Page 29: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/29.jpg)
Kursa saturs (8. lekcija)
• Pārskata lekcija par moderno tīmekli
• HTML5, CSS3 interesantākie elementi
• Node.js
![Page 30: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/30.jpg)
Kursa saturs (9. lekcija)
• 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 31: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/31.jpg)
Kursa saturs (9. lekcija)
• 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 32: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/32.jpg)
Kursa saturs (10. lekcija)
• Java Servlet tehnoloģija
• Servlet - Java programma, kas tiek darbināta uz tīmekļa servera, apstrādā HTTP pieprasījumus un veido tīmekļa lapas
![Page 33: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/33.jpg)
Kursa saturs (11. lekcija)
• JavaServer Pages (JSP) tehnoloģija• servera puses Java tehnoloģija, kas ļauj veidot
dinamiski ģenerētas tīmekļa lapas HTML formātā
• JSTL tagu bibliotēka
![Page 34: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/34.jpg)
Kursa saturs (11., 12., 13. lekcijas)
• Spring Web MVC
ietvars tīmekļa lietojumprogrammu izstrādei
• Tīmekļa lietojumprogrammu testēšana• Selenium
• HttpUnit
![Page 35: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/35.jpg)
Kursa saturs (14. lekcija)
• 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 36: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/36.jpg)
Kursa saturs (15. lekcija)
• Bagātīgas tīmekļa lietojumprogrammas
(Rich Internet Applications)
• Ajax - bagātīgu tīmekļa lietojumprogrammu izstrādes tehnoloģiju kopa
• Comet (Ajax Push)
![Page 37: Tīmekļa programmēšana](https://reader036.fdocument.pub/reader036/viewer/2022062301/56814e56550346895dbbec16/html5/thumbnails/37.jpg)
Kursa saturs (15., 16. lekcijas)
RIA un Ajax ietvari
•Google Web Toolkit ietvars (GWT)
•jQuery bibliotēka