Mikropalveluarkkitehtuuri hajautetun tietojärjestelmän toteutuksessa
Ropponen, Mika (2017)
Ropponen, Mika
Haaga-Helia ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017113019167
https://urn.fi/URN:NBN:fi:amk-2017113019167
Tiivistelmä
Opinnäytetyö selvittää mikropalveluarkkitehtuurin hyötyjä ja haasteita hajautetun tietojärjestelmän kehitystyössä. Teoriaosa esittelee yleisesti mikropalveluarkkitehtuuria sekä organisaation että kehitystyön näkökulmasta. Teoria pyrkii nostamaan esiin tärkeimpiä näkökulmia, mitä mikropalvelupohjaisen verkkosovelluksen suunnittelussa ja toteutuksessa tulisi ottaa huomioon. Lisäksi teoriassa käsitellään kehitys- ja tuotantoympäristöjen vaatimuksia mikropalvelupohjaiselle järjestelmäkehitykselle.
Mikropalvelujen suunnittelussa perehdytään sovelluksen modularisointiin, sisäiseen arkkitehtuuriin, tietoturvaan, vikasietoisuuteen ja erityisesti keskitettyyn hallintaan. Hallintamenetelmiin kuuluvat mikropalvelujen keskitetty konfigurointi, havaitseminen ja viestiliikenteen ohjaus. Mikropalvelujen välisen tiedonvaihdon osalta perehdytään sisäisiin ja ulkoisiin rajapintoihin, tietoliikenneprotokolliin ja viestiteknologioihin.
Mikropalvelujen ominaisuuksia tutkitaan käytännössä opinnäytetyön toteutusosassa, jossa kehitetään järjestelmäprosessi lääketietojen hakemiseksi suojatusta tietokantaresurssista. Toteutuksessa sovelletaan erityisesti Java-pohjaisia avoimen lähdekoodin ohjelmakirjastoja, joilla pyritään ratkomaan keskeisimmät hajautetun järjestelmän ongelmat. Järjestelmäprosessin kehitystyön tavoitteena on ennen kaikkea automatisoida tietojärjestelmän hallintamekanismit, jotta varsinaisten sovellusominaisuuksien kehitystyö olisi vapautettu hajautetun järjestelmän kompleksisesta kokonaistoiminnasta.
Selvitystyön ja käytännön toteutuksen tuloksena syntyy muutoksille joustava, vikasietoinen järjestelmä, jonka itsenäisiä mikropalveluja voidaan kehittää ilman vaikutusta muihin järjestelmän komponentteihin. Tulokset kuvaavat, miten hyvin mikropalvelupohjaisen järjestelmän hallintaominaisuudet ovat toteutettavissa ohjelmallisin menetelmin. Sovelletun teorian ja kehitystyön tuloksia käsitellään työn lopussa kehitystyön jälkiarvioinnin ja pohdinnan yhteydessä.
Mikropalvelujen suunnittelussa perehdytään sovelluksen modularisointiin, sisäiseen arkkitehtuuriin, tietoturvaan, vikasietoisuuteen ja erityisesti keskitettyyn hallintaan. Hallintamenetelmiin kuuluvat mikropalvelujen keskitetty konfigurointi, havaitseminen ja viestiliikenteen ohjaus. Mikropalvelujen välisen tiedonvaihdon osalta perehdytään sisäisiin ja ulkoisiin rajapintoihin, tietoliikenneprotokolliin ja viestiteknologioihin.
Mikropalvelujen ominaisuuksia tutkitaan käytännössä opinnäytetyön toteutusosassa, jossa kehitetään järjestelmäprosessi lääketietojen hakemiseksi suojatusta tietokantaresurssista. Toteutuksessa sovelletaan erityisesti Java-pohjaisia avoimen lähdekoodin ohjelmakirjastoja, joilla pyritään ratkomaan keskeisimmät hajautetun järjestelmän ongelmat. Järjestelmäprosessin kehitystyön tavoitteena on ennen kaikkea automatisoida tietojärjestelmän hallintamekanismit, jotta varsinaisten sovellusominaisuuksien kehitystyö olisi vapautettu hajautetun järjestelmän kompleksisesta kokonaistoiminnasta.
Selvitystyön ja käytännön toteutuksen tuloksena syntyy muutoksille joustava, vikasietoinen järjestelmä, jonka itsenäisiä mikropalveluja voidaan kehittää ilman vaikutusta muihin järjestelmän komponentteihin. Tulokset kuvaavat, miten hyvin mikropalvelupohjaisen järjestelmän hallintaominaisuudet ovat toteutettavissa ohjelmallisin menetelmin. Sovelletun teorian ja kehitystyön tuloksia käsitellään työn lopussa kehitystyön jälkiarvioinnin ja pohdinnan yhteydessä.