Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2012(kaugõpe)
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2012(kaugõpe)
Eesmärk
Saada praktiline kogemus hajussüsteemide ehitamisest XML veebiteenus ja vastava kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).
Reeglid
Kodutöö koosneb kolmest eraldiseisvast ülesandest:
- Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)
- Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes
- Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.
Töö käiku kajastatakse http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.
Tähtajad
- XML fail
- XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt 3. aprill 2012.
- Retsensioonid XML-failide kohta peavad tehtud olema 10. aprill 2012
- Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.
- Veebiteenus
- Veebiteenus peab olema valmis ja ja wikilehel kirjeldatud hiljemalt 13. mai 2012.
- Retsensioonid veebiteenuste kohta peavad tehtud olema 20. mai 2012
- Klientrakendused
- Klientrakendused peavad olema valmis ja wikilehel kirjeldatud hiljemalt 26. mai 2012.
- Retsensioonid veebiteenuste kohta peavad tehtud olema 1. juuni 2012
Hindamine
Üldised kriteeriumid
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.
Maksimumtulemuse annab (vähemalr 4/7):
- Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)
- Mobiilrakendused
- Kogukondade kaasamine
- AJAX / Silverlight
- Kasutajamugavus
- Läbimõeldud töökorraldus
- Lisavõimaluste realiseerimine (vt näidisteemad)
Tähtaegadest kinnipidamine
Töö tuleb esitada kasutades wiki.itcollege.ee keskkonda tähtajaks. Iga päeva eest, mis töö hiljaks jääb, kaotab see 10% punktidest! Kokku võib kaotada kuni 50% punktidest. Ehk kui töö eest on võimalik teenida näiteks maksimaalselt 10 punkti ja see esitatakse 2 päeva hiljem perfektselt, siis saab meeskond selle eest 8p, kuna on kaotanud maksimumist 20%. Töö esitamise tähtaeg on konkreetsel kuupäeval kell 23:59. Ehk, kui tähtajaks on märgitud 7.aprill, siis tähtajaks on esitatud töö, mis on hiljemalt esitatud 7.aprill kell 23:59.
XML andmefail
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning 2-3 sobivat XSL faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. XML andmefaili sisu on vabalt valitav, kuid andmed peavad olema üksteisega loogiliselt seotud ja struktuur otstarbekas. J.Kippari raamatus valmis tehtud XML andmefailide kasutamine on keelatud.
XML-il peab olema vähemalt 4 loogilist dimensiooni.
<dim1> <dim2> <dim3> <dim4> </dim4> </dim3> </dim2> </dim1>
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.
Kindlasti tuleb lugeda töö teostamise käigus järgnevat raamatut: Kippar, J. "XML rakendused", TLU:2009 http://minitorn.tlu.ee/~jaagup/kool/java/kursused/10/xmlrak/trykk/xmlrak.pdf
Veebiteenus
Loodav veebiteenus peab võimaldama:
- Teenuse pakkumist
- Teenuse kasutajate tuvastamist ning haldamist
- Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).
Klientrakendus
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.
Variant1: teha klientrakendus enda loodud veebiteenusele
Variant2: teha klientrakendus mõnele levinud veebiteenusele. Näiteks:
- http://www.bing.com/developer
- http://www.flickr.com/services/api/response.soap.html
- http://developer.ebay.com/developercenter/windows/
- http://apiwiki.twitter.com/Getting-Started
Retsensioonid
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.
Retsensioon peab sisaldama minimaalselt...
- XML - ...200 sõna.
- Veebiteenus - ...600 sõna.
- Klientrakendus - ...600 sõna.
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.
Konsultatsioonid
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida õppejõuga kokkuleppeid kontaktidel mait.poska [ät] itcollege.ee (+372 53 469 734) või kaarel.raspel [ät] gmail.com (+372 522 2468) (teksti originaalautor Priit Raspel)
Teemad 2012 kevad
Kodutöö koosneb kolmest eraldiseisvast ülesandest:
- Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)
- Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes
- Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele
Näidisteemad
Nimede pakkumise teenus
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: autocompleter tarvis teenuse pakkumine
Ülesanne
Luua sobiva alguse järgi nimede pakkumise teenus:
- alates kahetähelisetest algustest pakkuda sobivad nimesid
- luua võimalus kasutajatel nimesid lisada
- luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
Lisavõimalused:
- luua kontroll, et nimi lisatakse baasi alles siis, kui seda nime on pakkunud vähemalt kaks erinevat kasutajat
- luua roll-back'i võimalus juhuks, kui mõni kasutaja on tegelenud spämmimisega
Külastusstatistika teenus
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.
Ülesanne
Luua külastusstatistika teenus:
- kasutaja saab teenuses registreerida külastusi
- kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes
- luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
Lisavõimalused:
- luua võimalus registreerida alamlehtede külastusstatistikat
- luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)
Telefoniraamatu teenus
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida
Ülesanne
Luua telefoniraamatu teenus:
- kasutaja saab teenuses kontakte lisada ja kustutada
- kasutaja saab kontaktide nime/telefoninumbri jne abil otsida
- luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
Lisavõimalused:
- luua võimalus kasutajatel oma kontaktibaase omavahel jagada
- luua võimalus pakkuda kontaktibaasis leiduvate nimede järgi sobivaid nimesid
RSS voogude kogumise ja uudiste kuvamise teenus
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda
Ülesanne
Luua RSS voogude haldusteenus:
- kasutaja saab teenuses RSS vooge lisada ja kustudada
- kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid
- luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
Lisavõimalused:
- luua võimalus kasutajatel erinevaid vooge grupeerida
- luua võimalus voogudes leiduvate uudiste puhverdamiseks (voogude lugemine võtab enamasti üsna palju aega)
Meeskonnad 2012
Meeskond "Minu meeskonnanimi"
- Liikmed
- Kes
Mida selles projektis teeme
Meeskond "Söörlösed"
- Liikmed: Anneli Rasu ja Reget Kalamees
- Meil on plaan tekitada veebiteenus, mis vastavalt sisestatud GPS koordinaatidele ja kuupäev-kellaajale kuvab ilmainfo.
Meeskond "Unusual Suspects"
- Liikmed: Denis Veltson, Anu Kuusmaa, Mari Lehis, Alvar Lumberg
- Tegeleme Edela-Raudtee Tallinn-Tartu-Valga sõiduplaanidega.
Meeskond "Kolmas" 2012
- Liikmed: Jevgeni Nesterenko, Jako Heinmets, Lauri Rooden
Meeskond "akaver"
- Liikmed: Andres Käver
- asp.net ja VR II ühisarenduse projektina valmib Eesti Automudelismi Klubi'i veebirakendus-teenus-teenusehost-winphoneapp
Meeskond "partycrasher"
- Tanel Lebedev