Vireo eTreeneri portaal

Vireo eTreener on portaal, mis võimaldab sul eriala spetsialistide toel jälgida oma energia bilanssi, muuta oma toitumine tasakaalustatuks ja tervsilikuks. Keskkond on loodud eelkõige tervisesportlastele ja haigustest taastuvatele inimestele.

Sisuliselt on tegemist mahuka infosüsteemiga, mis aitab korraldada nii Vireo tööd kui ka pakkuda võimalust nn inimesele tänavalt oma tervisenäitajatest saada paremat ülevaadet. Rakenduse loomisel kasutati JAVA programmeerimiskeelt ja Aranea raamistikku. Kogu süsteem sõltub MySQL andmebaasist. Mõned kasutatavad tehnoloogiad:

  • Spring Framework
  • Aranea
  • AspectJ
  • EHCache
  • Quartz
  •  GData
  •  iText
  •  jmt

Hetkel on süsteem vaid ühekeelne, kuid lahenduse väljatöötamisel on arvestatud võimalusega, et tekib vajadus lisada protaalile mõni teine keel juurde. Selleks hoitakse tõlkeid andmebaasis ning olemasolevate tõlgete muutmine on lahendusest eraldiseisev. Tarkvara käivitamisel laaditakse tõlked mällu. Seega teise keele lisamisel ei laadita iga lehe korral tõlkeid uuesti. Ei koormata andmebaasi.

Loodud lahenduse juures on iseäralik erinevate vormi andmete hoidmine. Selle asemel, et iga vormi  andmete hoidmiseks luua eraldi tabel, hoitakse antud lahenduse puhul vormiandmeid ühes kindlas tabelis. Andmed ning konkreetsed väljad on omavahel seotud klassifikaatoritega. Selline lahendus võimaldab aga laialdasemalt erinevaid andmeid erikohtades kasutada. Selle asemel, et neid igakord pärida ning näha vaeva nende näitamisel kui ka salvestamisel, on loodud lahendus igati paindlik ning on suuteline seda kõike ise tegema. Uute vormide loomisel tuleb lihtsalt loodaval vormil defineerida kindlad klassifikaatorid ning ümberasuv süsteem teeb kõik ülejäänu:

  • Leiab klassifikaatori alusel vajamineva väärtuse
  • Kontrollib kohustuslikkust
  • Kontrollib õigsust
  • Salvestab andmebaasi

Üleval pool loetletu toimib automaatselt, mis võimaldas hoida kokku aega ja seega ka arenduskulusid, kuna uute vaadete loomine võttis vähe aega.

Süsteemil on olemas Polar kellade liides, mis võimaldab nii infrapunaliidese vahendusel või ka Polari enda kalendrist saadud andmeid importida otse portaali. Selle tulemusena on imporditud andmed visuaalselt nähtavad ning nende põhjal on võimalik koostada täiendavaid kokkuvõtteid.

Väga laialdaselt on rakendatud EHCache võimalusi. Väga palju nn staatilisi andmeid hoitakse puhvrites ning puhvrist loetakse andmed välja juhtudel kui neid kasutatakse. Teatud aja möödudes, kui neid ei ole enam vaja, andmed operatiivmälust eemaldatakse. Näiteks on sellisel kujul lahendatud terve toitumispäevik, kus andmeid on palju ning reaalselt neid pidevalt andmebaasist välja lugemisel ei ole otseselt mõtet. Pigem on suunaks see, et juba kord loetud andmed on kõikide poolt kasutatavad.

Infosüsteem on võimeline töötama vähese ressursi peal. Kuna tegemist on JAVA lahendusega, siis sellised lahendused vajavad üldjuhul väga palju operatiivmälu. Samas portaal kasutab JVM keskmiselt enda tööks 250MB. See on võimalik, kuna väga palju nn staatilisi andmeid hoitakse puhvrites.