Izstrādāt plānā klienta Web aplikāciju, kas attēlo iepriekšēja praktiskajā darbā savāktos resursus, kā arī dod iespēju modificēt esošu saturu un pievienot jaunus datus. Web aplikācijas izstrādei izmantot Spring Web MVC ietvaru (kontrolieri, validācija, failu augšupielāde, internacionalizācija u.c.). JSP lapu vai citu šablonu stils ir tīrs un minimālistisks.
Portāls ir domāts lietotāju grāmatzīmju saglabāšanai, organizēšanai un apmaiņai. Ideja ir līdzīga populāram del.icio.us portālam, aprakstu var apskatīties šeit http://del.icio.us/about/
Izņēmuma kārtā ir iespējams izstrādāt Web aplikāciju arī par citu tematu, bet tas ir savlaicīgi jāsaskaņo ar pasniedzējiem.
Jūsu uzdevums ir izveidot Maven Web projektu (t.i. artifactType=war).
Izmantojot iepriekšējā praktiskā darba risinājumu var izveidot JAR failu, kas ir "persistence unit" - tas satur datu modeļa klases (ar JPA anotācijām) kā arī failu META-INF/persistence.xml. Maven Web projektam jābūt atkarīgam no augšminētā "persistence unit".
Instrukciju tādas Maven projektu struktūras izveidošanai var izlasīt šeit: "How do I build more than one project at once?"
Viens no iespējamiem direktoriju struktūras variantiem ir piedāvāts demo projektā "java-eim-lab02".
Projektu var izčekot no SVN repozitorija - http://java-eim.googlecode.com/svn/trunk
Iepriekšējā darbā minētais kešošanas robots savāca jau eksistējošas grāmatzīmes un pievienoja tās vienam konkrētam lietotājam ("robotuser" vai tml.).
Šajā Web aplikācijā ir uzdevums izveidot Web formas, ar kurām regjistrēts lietotājs var apskatīties savas un citu lietotāju grāmatzīmes, kā arī pievienot, anotēt ar "description", un notagot jaunas grāmatzīmes.
Aplikācijas ekrānu un formu minimālais saraksts:
Kā piemēru var skatīties del.icio.us, kas ir organizēts līdzīgā veidā.
Web portāla funkcionalitātes nodrošināšanai un demonstrēšanai ir jāizveido Selenium testi. Katram normālām scenārijam (lietotāja reģistrācija, login, grāmatzīmes pievienošana, pieprasījumi utt) ir jābūt izveidotam attiecīgam Selenium testam. Arī nenormālām situācijām (nepareizo datu ievads utml) ir jāizveido sakarīgi testi.
Lietderīga informācija
Visu informāciju par Selenium var atrast web lapā http://www.openqa.org/selenium/
Lai veidot testus vajag uzlikt Selenium IDE, kas ir Firefox paplašinājums (http://www.openqa.org/selenium-ide/). Kad Selenium IDE ir uzlikts, tad to var atvērt izvēloties "Tools->Selenium IDE" Firefox pārlūkprogrammā. Izmantojot Selenium IDE var pierakstīt un izpildīt testus. Testus var saglabāt uz diska ar paplašinājumu .html.
Lai pievienot testus web aplikācijai un izpildīt tos tieši pārlūkprogrammā ir vajadzīgs Selenium Core (http://www.openqa.org/selenium-core/). Vajag augšupielādīt failu ar Selenium Core (selenium-core-0.8.3.zip) un atzipot to zem web aplikācijas "webapp" direktorijas.
Demonstrācijas piemērs
Viens vienkaršs tests ir pievienots demo projektam "java-eim-lab02" (sk. direktoriju \java-eim-lab02\java-eim-lab02-portal\src\main\webapp\tests\). Papildus zem "webapp" vajag izveidod direktoriju "selenium-core" un atzipot tur selenium-core-0.8.3.zip. Tad izpildot komandu "mvn package" no "\java-eim-lab02\" uzbūvēt WAR failu un palaist aplikāciju uz servera. Testiem var piekļūt pēc URL adreses: http://localhost:8080/java-eim-lab02-portal/tests/
Spring MVC Web Framework
Spring MVC aplikāciju piemēri
Projektus var atrast Spring distributīvā (spring-framework-2.0.7/samples/)
Gadījumā, ja projekta struktūra atbilst demonstrācijas piemēra "java-eim-lab02" direktoriju struktūrai, tad iesūtamo failu var iegūt sekojošā veidā:
Gadījumā, ja tiek izmantota cita direktoriju struktūra, tad līdzīga veidā uztaisīt projekta zip failu, kurš nesatur liekus failus (jar, zip, log utml) un nosūtīt pasniedzējiem.
Šeit ievietojami datēti labojumi un precizējumi, kas pamanīti pēc praktiskā darba izziņošanas.