Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2016

From ICO wiki
Jump to navigationJump to search


Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2016

Eesmärk

Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust.

  • SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.
  • REST teenuste loomisel tuleks kasutada ASP.NET Web API võimalusi.

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. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.

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 NB! Täpsem info
    • XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt 20. märts 2016.
    • Retsensioonid XML-failide kohta peavad tehtud olema 27. märts 2016.
    • 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 NB! Täpsem info
    • Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: 17.aprill 2016
    • Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 29. mai 2016.
    • Retsensioonid veebiteenuste kohta peavad tehtud olema 08. juuni 2016.


  • Klientrakendused NB! Täpsem info
    • Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 29. mai 2016.
    • Retsensioonid klientrakenduste kohta peavad tehtud olema 08. juuni 2016.


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ähemalt 4/6):

  • Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)
  • Mobiilrakendused
  • AngularJS klientrakendus
  • Kogukondade kaasamine
  • Kasutajamugavus
  • Läbimõeldud töökorraldus
  • Lisavõimaluste realiseerimine (vt näidisteemad)

XML andmefail

Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.

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 one enamat, kui lihtsalt ID.

Käesoleva ülesande käigus peab looma meeskonna ning selle wiki lehekülje

Veebiteenus

Loodav veebiteenus peab võimaldama:

  • Teenuse pakkumist
  • Teenuse kasutajate tuvastamist ning haldamist
  • Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes
  • Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.

Loodav veebiteenus peab toetama mitme kasutaja võimalust.

Loodav veebiteenus tuleb luua kasutades Windows Communication Foundation või ASP.NET MVC Web API tehnoloogiat

Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,


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:

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 või (+372 53 469 734)
(teksti originaalautor Priit Raspel)

Teemad 2016 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

NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.


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 administraatoril nimesid muuta/kustutada
  • meeste ja naiste nimed peavad olema süsteemis eristatavad
  • luua võimalus, mis võimaldab kuvada populaarseid nimesid
  • luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
  • luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud

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
  • kasutajaid on võimalik lisada gruppidesse
  • kasutajal on võimalik lisada vajalike kontaktandmete liike
  • kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper

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
  • kasutaja saab RSS vooge vaadata eraldi või grupeeritult
  • vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega

Meeskonnad 2016

Päevaõpe

Meeskond Travo 2.0

Liikmed:

  • Tarvo Reinpalu

Meeskonna koduleht: Meeskond: Travo 2.0

Meeskond "Aloha Snackbar"

Liikmed:

  • Egert Aia
  • Merit Ridaste
  • Ants-Kristjan Rooma
  • Siim Ivask

Meeskonna koduleht: Aloha Snackbar

Retsensioon meeskonnale SHOP asub siin
Retsensioon meeskonnale LuckyYou asub siin

Meeskond Kõnõtraat

Liikmed:

  • Kristjan Tõnismäe
  • Andreas Plado

Meeskonna koduleht: Kõnõtraat

Meeskond "Lebokeiss OÜ Core 1.0"

Liikmed:

  • Joonas Jõeleht - Projektijuht
  • Karell Veskimeister
  • Kerli Edasi
  • Iris Tambaum
  • Timo Lanno

Meeskonna koduleht: Lebokeiss OÜ.

Retsensioon meeskonnale Travo 2.0 asub siin.

Meeskond "LuckyYou"

Liikmed:

  • Tanel Vähk
  • Aleks Luik
  • Melissa Eenmaa
  • Taavi Kliss

Meeskonna koduleht: LuckyYou

Meeskonna TRAVO 2.0 XML retsensioon leiab SIIT

Meeskonna Kõnõtraat XML retsensioon leiab SIIT

Meeskond SHOP

Liikmed:

  • Johannes Tamm
  • Martin Mägi
  • Martin Betlem
  • Merilyn Renser

Meeskonna koduleht: SHOP

Retsensioon meeskonnale BurgerAce asub siin

Meeskond BurgerAce

Liikmed:

  • Silver Ohlo
  • Martin Luik
  • Ahto Elken
  • Arvo Bendi

Meeskonna koduleht: BurgerAce

Retsensioon meeskonnale Netgroup asub siin
Retsensioon meeskonnale Ordering asub siin

Meeskond LinkCode

Liikmed:

  • Rene Ott
  • Renet Pirso

Meeskonna koduleht: LinkCode

Retsensioon meeskonnale Screaming Magic Gnomes asub siin lingil
Retsensioon meeskonnale Double Trouble asub siin lingil

Meeskond Screaming Magic Gnomes

Liikmed:

  • Märt Häkkinen
  • Taavi Kivimaa
  • Siim Osa

Meeskonna koduleht: Screaming_Magic_Gnomes

XML retsensioon meeskonnale Aloha Snackbar

retsensioon meeskonnale Ordering [1]

Meeskond Givela

Liikmed:

  • Mikk Raudsepp
  • Alar Ameerikas
  • Vladimir Rõkovanov

Meeskonna koduleht: Givela

XML Retsensioon meeskonnale Kõnõtraat asub siin

Meeskond VVA

Liikmed:

  • Aleksandr Babõkin
  • Vladislav Kovaltšuk
  • Andrei Tverskoi
  • Vladislav Lahtarin

Meeskonna koduleht: VVA

Retsensioon XML-failide kohta meeskonnale "Givela" siin

Meeskond "Undress Gaver"

Liikmed:

  • Marko Koiduste
  • Jaanus Türnpuu
  • Sergei Fatejev
  • Kaspar Tilk

Meeskonna koduleht: Undress Gaver
Retsensioon meeskonna Ordering XML-ile asub siin

Meeskond "Double Trouble"

Liikmed:

  • Kaido Henrik Elias
  • Jekaterina Jakimets

Meeskonna koduleht: DoubleTrouble

XML retsensioon meeskonnale VRJ asub siin
XML retsensioon meeskonnale Givela asub siin

Meeskond "Team ATW"

Liikmed:

  • Aleks Tatter
  • Vaiko Vällik

Meeskonna koduleht: Team_ATW

Meeskond "Netgroup"

Liikmed:

  • Indrek Nurja
  • Imre Teras
  • Kristjan Kotto
  • Marek Kivikink

Meeskonna koduleht: Netgroup

Meeskond "Ordering"

Liikmed:

  • Kelli Lukas
  • Märt Lõhmus

Meeskonna koduleht: Ordering

Meeskond KTM Development

Liikmed:

  • Tauno Otti
  • Mart Abel
  • Kristian Laupa

Meeskonna koduleht: KTMdev

Retsensioon meeskonnale BurgerAce asub siin

Meeskond: "Status Code 200"

Liikmed:

  • Ilja Andrejev
  • Kristjan Kivisild

Meeskonna koduleht: Status_Code_200


Meeskond: "Spendings"

Liikmed:

  • Tauri Busch

Meeskonna koduleht: [[]]

Meeskond Loading

Liikmed:

  • Laura Teder
  • Martin Saar
  • Roomet Saadi
  • Indrek Tamm

Meeskonna koduleht: Loading

Kaugõpe

Meeskond "Symphony No. 7 in C-sharp minor"

Liikmed:

  • Mikhail Reznichenko
  • 10143193
  • 10090107
  • Alisa Dudinova

Meeskonna koduleht: Meeskond "Symphony No. 7 in C-sharp minor"

XML ülesande retsensioonid meeskonnale "VRJ" ja "Vrii-team"

Meeskond VRii Team

Liikmed:

  • Andres Mets
  • Toomas Juhkov
  • Tiit Kuuskmäe
  • Kaire Toom

Meeskonna koduleht: Vrii-team

XML: [2] XML olemas ka meeskonna kodulehel.

Retsensioonid XML ülesandele: Meeskond "Symphony No. 7 in C-sharp minor" ja Sille.

Meeskond "VRJ"

Liikmed:

  • Jevgeni Gavrilov
  • Vladimir Nitsenko
  • Riho Uusjärv

Meeskonna koduleht: VRJ

Meeskond "Aeg" ja "Enneaegsed" retsentsioonid asuvad "siin"

Meeskond "freeVariable"

Liikmed:

  • Mihkel Viilveer
  • Kristjan Adrat
  • <sinu_nimi>
  • <sinu_nimi>

Meeskonna koduleht: freeVar

Meeskonna Aeg XML retsensioon asub siin

Meeskonna TRAVO 2.0 XML retsensioon asub siin

Meeskond "Enneaegsed"

Liikmed:

  • Jaan Elken
  • Margit Ool

Meeskonna koduleht: Enneaegsed

XML ülesande retsensioon meeskonnale Travo 2.0 asub siin. XML ülesande retsensioon meeskonnale Aloha Snackbar asub siin.

Meeskond: "Skeddl"

Liikmed:

  • Karina Egipt
  • Kärt Palm
  • Joonatan Uusväli
  • Aleksei Suvorov

Meeskonna koduleht : Skeddl

19.03.2016 XML/XSLT ülesande leiab SIIT.

26.03.2016 Meeskonna Aeg XML retsensioon leiab SIIT

26.03.2016 Meeskonna Enneaegsed XML retsensioon leiab SIIT

Meeskond: "Sille"

Liikmed:

  • Andres Trei
  • Lasse Kolkanen

Meeskonna koduleht : Sille


Meeskonna VRJ XML retsensioon asub : SIIN

Meeskond: "A$unik"

Liikmed:

  • Hardi Antsov
  • Juhan Trink

Meeskonna koduleht : A$unik

Meeskond: "Yksikyritus"

Liige:

  • Kaidi Parman

Meeskonna koduleht : Yksikyritus

Meeskond: "Aeg"

Liige:

  • Maksim Gorb

Meeskonna koduleht : Aeg

Meeskond: "VRFeeds"

Liige:

  • Tarmo Sillajõe

Meeskonna koduleht : VRFeeds

Retsensioon meeskonna "freeVariable" XML'i osale

Retsensioon meeskonna "Sille" XML'i osale