Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Author "Virtanen, Tomi"

Sort by: Order: Results:

  • Virtanen, Tomi (2016)
    Nykyaikaiset sovellukset ovat yhä useammin verkkosovelluksia. Verkkosovellukset eivät kuitenkaan toimi perinteisten sovellusten tapaan yhdellä päätelaitteella vaan ne muodostuvat sovelluksia käyttävistä asiakkaista ja asiakkaita palvelevista palvelimista. Verkkosovellusten toimintaympäristö on sellainen, jossa sovellusten toiminta on hajautettu verkon yli. Tällöin tiedon synkronointi asiakkaiden ja palvelinten välillä muodostuu keskeiseksi. Muutokset datassa kulkevat tapahtumina, joiden hallinta on tärkeää sovelluksen toiminnan kannalta. Tapahtumien hallinnan logiikan toteuttaminen virheettömästi osoittautuu usein vaikeaksi. Tutkielmassa käsitellään reaktiivista ohjelmointia verkkosovellusten palvelinpuolella. Reaktiivisen ohjelmoinnin avulla pyritään ratkaisemaan tapahtumien hallinnan ongelmat. Tapahtumien hallinta kärsii usein monimutkaisista riippuvuuksista, vaikeasti ymmärrettävyydestä ja huonosta testattavuudesta. Reaktiivisen ohjelmoinnin avulla pyritään selkeyttämään sovellusten rakennetta. Tutkielmaa varten toteutettiin yksinkertainen verkkosovellus, jossa käyttäjät voivat keskustella sovelluksen välityksellä reaaliaikaisesti keskenään. Käyttäjät voivat lähettää toisille käyttäjille sekä yksityisviestejä että kirjoittaa kaikkien käyttäjien nähtäväksi tarkoitettuja viestejä. Verkkosovelluksen palvelinpuoli toteutettiin kahden reaktiivisen kirjaston avulla, sekä vertailun vuoksi ei-reaktiivisesti. Reaktiivisten versioiden toteutukseen käytettiin RxJs- ja Bacon.js-kirjastoja. Reaktiivisen ohjelmoinnin vaikutusta palvelinohjelmointiin tutkittiin staattisella lähdekoodin analyysillä. Tulosten perusteella reaktiivinen ohjelmointi lisää hieman lähdekoodin kokoa, mutta samalla vähentää sen kompleksisuutta.