Talk:Meeskond Udud

From ICO wiki
Revision as of 21:09, 31 May 2014 by Aluuri (talk | contribs) (Created page with "==Teenuse ja klientrakenduse retsensioon meeskonna "Kirves" poolt== ===Teenus:=== Meeskond UDUD on loonud oma teenuse kasutates Web API 2.0 versiooni. Teenuse eesmärk on pakku…")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Teenuse ja klientrakenduse retsensioon meeskonna "Kirves" poolt

Teenus:

Meeskond UDUD on loonud oma teenuse kasutates Web API 2.0 versiooni. Teenuse eesmärk on pakkuda klientidele reaalajas olevate süsteemide logisid. Kuidas süsteem tegelikult peaks toimima, jääb veidi arusaamatuks. Ei saa paraku kuidagi testida, kuidas süsteemid peaksid ära kasutama seda teenust ja millised näevad välja tekitatud logid.

Nii teenus kui projekt on ühes solutionis, kuigi eraldi projektides. Teenuse poole peal on ära kasutatud osaliselt Võrgurakendused II aines õpitud mustreid.

Olemas on järgnevad vahekihid:

  • DAL - Data access layer
  • Models - Andmebaasi mudelid, kasutades Code first lähenemist
  • Repositories - Tühjad konstruktorid Entity Frameworkile
  • Transport Models - Transpordi mudelid, loogika jaoks, info mida päritakse andmebaasist.

Models

Andmebaasi mudelid tunduvad olema korralikud ja seosed samuti. Osaliselt on pandud eraldi label nimed, et vaates oleksid inimlikud pealkirjad väljadel. Paraku aga ei ole piiratud olemite max väärtusid, antud hetkel on need max väärtusega, mis ei ole andmebaasi jaoks eriti mõistlik.

Repositories

Et projektis kaotada otsesed siduvused funktsionaalsete meetodiega, on sisse toodud repositories kiht, mis võimaldab projekti arendust teha paindlikumaks, et mitte kirjutada kõike oma projektist ümber vaid lisada ja täiendada funktsionaalsust moodulitena.

Data access layer

Siin all on ära kirjeldatud kõik andmebaasis olevad mudelid ja antakse connection stringile andmebaasi nimetus. Paraku aga ei leia kahjuks kust kohast tõstetakse kogu andmebaas püsti. Antud hetkel ei näe meetodis vastavat koodi rida, mis looks andmebaasi kui projekt käima pannakse.

Transport Models

Eraldi on sisse toodud transpordi mudelid. Nende kaudu päritakse vajaminev info andmebaasilt, mida teenus edastab ja vastu võtab. Samas projektis on toodud eraldi mudelitele oma factory klass. Parem loogika oleks olnud vast teha üks factory klass, kus korjatakse create DTO meetodid kokku ja lisaks teha igale DTOle oma loogika, kuidas andmeid töödeltakse, päritakse jne.

Web API

Teenusel on olemas api enda poolne autentimine. Samuti on siin mõeldud ka liikluse turvalisusele ehk teenus jookseb HTTPS protokollil ja kasutatakse IIS serveri enda poolt loodud sertifikaate. Kontrollerid on üpris koodirohked ja segase struktuuriga. Olemas on seal põhilised kommentaarid ja osad kommentaarid on veidi emotsionaalselt sisse jäetud. Positiivne on meetoditel response message kasutamine ja veateadete kontroll.

Üldiselt on meeskond teenuse loomisega hakkama saanud, ära on kasutatud osaliselt aines tutvustatud vahekihte. Kontrollerid oleks võinud olla veidi puhtamad, aga põhiline funktsionaalsus on olemas ja kood siiski loetav, saab aru, mida mingi meetod teeb.

Klient: