Mobiilisovelluksen tietokantakirjaston uudistaminen
Määttä, Samuli (2020)
Määttä, Samuli
2020
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202001151287
https://urn.fi/URN:NBN:fi:amk-202001151287
Tiivistelmä
Tämän opinnäytetyön tavoitteena oli tutkia ja tehdä esimerkkitoteutus, kuinka Room-tietokantakirjasto voisi korvata vanhan SugarORM-tietokantakirjaston Polarin Flow App Android -sovelluksessa. Työ oli tarpeellinen Polarin mobiilikehittäjille, sillä vanhentunut tietokantakirjasto ja sen arkkitehtuuri sovelluksessa vaikeuttavat kehitystä.
Aiemmin Polarille tehdyssä yrityslähtöisen tuotekehitysprojektin vertailussa, Room-tietokantakirjasto osoittautui parhaaksi valinnaksi sovelluksen uudeksi tietokantakirjastoksi. Sovellus oli jo valmiiksi tuttu, joten siihen tutustuminen ei vienyt aikaa.
Työ aloitettiin miettimällä Polarin asiantuntijoiden kanssa sovelluksen uutta arkkitehtuuria tietokantaan liittyen, sekä mitä turhaa nykyisessä tietokannassa on. Työn aikana pidettiin arkkitehtuuripalavereita ja koodikatselmointeja.
Tuloksena saatiin aikaan toimiva esimerkkitoteutus Room-tietokantakirjaston käyttöönotosta, jossa on käytössä uusi palvelupohjainen arkkitehtuuri, missä tietokantaoperaatiot on abstraktoitu palveluiden ja erillisten DAO-luokkien sisään. Sovellukseen tehtiin myös käyttäjälogiikan refaktorointia paremmin sopivaksi uuteen arkkitehtuuriin. Tietokannan viite-eheys varmistettiin relaatioilla. Esimerkkitoteutukseen tehtiin myös tietokannan salaus sekä yksikkötestejä tietokannan testaamiseen. Tietokantamigraatioiden tekemisestä dokumentoitiin Polarin sisäiseen Confluence-wikiin. Työ tehtiin Kotlin-ohjelmointikielellä sekä vanhaa koodia refaktoroitiin käyttämään Kotlinia, sallien Kotlinin vuorottaisrutiinien käytön. Työ tukee myös tulevaisuudessa käyttöönotettavaa MVVM-suunnittelumallia.
Esimerkkitoteutus saatiin koodikatselmointiin, josta se voi hyväksymisen jälkeen edetä testaukseen ja tuotantoon.
Aiemmin Polarille tehdyssä yrityslähtöisen tuotekehitysprojektin vertailussa, Room-tietokantakirjasto osoittautui parhaaksi valinnaksi sovelluksen uudeksi tietokantakirjastoksi. Sovellus oli jo valmiiksi tuttu, joten siihen tutustuminen ei vienyt aikaa.
Työ aloitettiin miettimällä Polarin asiantuntijoiden kanssa sovelluksen uutta arkkitehtuuria tietokantaan liittyen, sekä mitä turhaa nykyisessä tietokannassa on. Työn aikana pidettiin arkkitehtuuripalavereita ja koodikatselmointeja.
Tuloksena saatiin aikaan toimiva esimerkkitoteutus Room-tietokantakirjaston käyttöönotosta, jossa on käytössä uusi palvelupohjainen arkkitehtuuri, missä tietokantaoperaatiot on abstraktoitu palveluiden ja erillisten DAO-luokkien sisään. Sovellukseen tehtiin myös käyttäjälogiikan refaktorointia paremmin sopivaksi uuteen arkkitehtuuriin. Tietokannan viite-eheys varmistettiin relaatioilla. Esimerkkitoteutukseen tehtiin myös tietokannan salaus sekä yksikkötestejä tietokannan testaamiseen. Tietokantamigraatioiden tekemisestä dokumentoitiin Polarin sisäiseen Confluence-wikiin. Työ tehtiin Kotlin-ohjelmointikielellä sekä vanhaa koodia refaktoroitiin käyttämään Kotlinia, sallien Kotlinin vuorottaisrutiinien käytön. Työ tukee myös tulevaisuudessa käyttöönotettavaa MVVM-suunnittelumallia.
Esimerkkitoteutus saatiin koodikatselmointiin, josta se voi hyväksymisen jälkeen edetä testaukseen ja tuotantoon.
