Talk:Meeskond:SimpleShow

From EIK wiki

Esmalt sai kontrollitud XML koodi W3 validaatoriga ja oli 1 hoiatusi , see on väga väike viga http://www.w3schools.com/xml/xml_validator.asp ja läbis ka kasutada teist http://www.utilities-online.info/xsdvalidation/#.VQSl2I6sUuI siis läbi selle ka. Mõlemad on vead. XMLi peale vaadatres tundub see hea. Kõik elementide info on hästi pandud kõik CDATA vahele. XSD skeemifail on täiesti korrapärane ja veatu. Andmetüübid on õiged. XSLT transformatsiooni failid annavad hästi edasi XML struktuuris toodud sisu. Oleks võinud olla ka kommentaare, mis oleks lihtsalt arusaada mida nad on kirjutanud. Kokkuvõttelt võib öelda, et meeskond on oma töö ära teinud õigeaegselt. Hinnang tööle on positiivne. Retsensioon meeskonnalt Martin.

Jaksu edasipidiseks!

ALTER eGO veebiteenuse retsensioon

Meeskond otsustas luua RESTful veebiteenuse kasutades ASP.NET MVC Web API tehnoloogiat. Teenus peab võimaldama kasutajatel nii-öelda järjehoidja panna vaadatavatele sarjadele , ehk mis nähtud või kus pooleli.

Üldjoontes on projekt jaotatud alamprojektideks, mis annab ülevaate sellest, mida on praktikas rakendatud kursuse käigus omandatavast. Eristatavad on andmekiht, olemid, ärikihiloogika, klientrakendus, teenus ning konsoolirakendus testimise eesmärgil. Sellise ülesehitusega projekt lubab erinevaid komponente ka tulevastes projektides hõlpsasti ära kasutada, sest kõik alamprojektid on omavahel suuresti sõltumatud. Olemeid on 6 ning seeläbi andmebaas vastab esitatud kriteeriumile. Olemid ühes väljadega on nimetatud korrektselt ning loovad selge pildi andmebaasist ning sellest, missuguseid andmeid hoitakse. Siinkohal dokumenteerimise, kommentaaride lisamise järele vajadust ei ole nähtud ning nõustun autoritega. Samuti on loodud objektide väljadel kirjeldatud annotation’id erinevate sõne ja numbrite piirangute näol.

Andmekihis ehk Data Access Layer’is on kasutusel repositooriumid, mis annavad paindlikkuse ja baasist sõltumatuse. On loodud üks universaalne repositoorium, millest spetsiifilised repositooriumid vajamineva pärivad, sedasi säästab kõvasti aega ning koodiridu.

Äriloogikakihis ehk Business Logic Layer’is on kirjeldatud data transfer object’id, mis oma olemuselt on väga lihtsad ning mida teenus tagastab JSON kujul. Samuti on kasutusele võetud unit of work disainimuster, mis võimaldab teha andmete baasi salvestamise ühekordse tegevusena, baasi ja teenuse suhtluse optimeerimise eesmärgil väga hea.

Teenuse kontrollerites on juba üksjagu detailsemalt kommentaare ning mõningal määral on ülevaatlik dokumentatsioon päringute kohta ka nähtav /Help lehelt, kui teenus on töös. Üldjoontes on kirjeldatud päringud vastavalt äriloogikale, olemitele. Kõigis kontrollerites on realiseeritud CRUD operatsioonid ning mõni abimeetod, et soovitav tulemus saavutada kontrolleri operatsioonis. Seejuures on peaaegu kõigis kontrollerites (va AccountController) kirjeldatud annotation’i näol, et päringuid lubataks teha ka teise serveri/domeeni pealt. JavaScript’i puhul on veebilehitseja loomulik käitumine, et vaikimisi saab päringuid teha ainult sama domeeni peal.

Teenus struktuuri ning koodi poolest on üldjoontes hästi vormistatud, kergesti hoomatav ning mis kõige tähtsam, läbimõeldud. Seejuures märgin ära ka nüansi, et koodis oli kasutatud vaid inglise keelt (sh kommentaarid), mis on kindlasti ühtsuse näitaja ning loob selgust.


Veebiteenuse retsensioon meeskonnalt Vertigo

Retsenseeritava töö eesmärk oli luua veebiteenus ja klientrakendus, mis võimaldaksid kasutajal hallata vaadatavate seriaalide käiku. Meeldis, et api oli eraldi pandud ka Apiary rakendusse, mis andis hea ja silmale sõbraliku ülevaate, mida, kuidas veebiteenuses kasutatud. Wikis toodud analüüs oli üsna piisav. Seda oleks võinud rikastada ehk andmebaasi olemite pildiga. Meeldis, et meeskond oli ise arutanud ka loodava projekti ärilist poolt ning hinnanud, kellele ja miks seda tarvis on. Tore oleks olnud näha ka valminud projekti kajastavat dokumentatsiooni, et teada saada, kuidas väljatoodud probleemid lahendati ja milliseks kujunes projektitegijate tööjaotus ja tööprotsess.

Veebiteenus on loodud kasutades ASP.NET MVC Web API tehnoloogiat ning loodud on RESTful teenus. Veebiteenuse loomisel on kasutatud nõutud kihte – Business Logic Layerit (BLL), Data Access Layerit (DAL). Kasutatakse Code First lähenemist ning andmebaas luuakse Entity Frameworki abiga. Olemeid on andmebaasis 6 ja seega vastab olemite arv projektis nõutule. Olemi atribuutidel on ShowLibrary projektis määratud omadused, näiteks public String Name { get; set; } puhul [MaxLength(128)]. Seda oli hea näha, et mõeldi juba siin selle peale, kuidas säästa andmebaasi, et hoitaks nii suures mahus andmeid, kui see on mõistlik. BLLi kihis on kasutatud Data Transfer Objecteid (DTO) ja loodud on Object Factoryd, mis olid ka nõutud mustrid projekti loomisel. DAL kihis on kasutatud repostory’sid ja interface’e, mis on samuti nõutud mustrid projektis. Lisaks on DAL-kihis ka kasutusel Unit of Work (UOW), mis on hea jällegi andmebaasi suhtes, kuna võimaldab muudatused ühe korraga salvestada. Repositooriumid pärivad kõik oma meetodid EFRepository klassist, ühegi repositooriumi alla pole lisatud eraldi kustomiseeritud meetodit.

Turvalisuse meetmetest on kasutusel näiteks [Authorize] atribuut kontrollerites (välja arvatud HomeController), mis annavad märku, et ainult sisseloginud kasutajad saavad ligipääsu. Kontrollerites on lahti kirjutatud CRUD operatsioonid vastavalt äriloogikale.

Meeldis, et kood oli piisavalt kommenteeritud ning seega arusaadav. Veebiteenuse loomisel on kasutatud kõiki nõutuid mustreid ning tulemuseks on hästi hallatav ning struktureeritud teenus.