Legacy-ohjelmistojen kontittaminen
Niemelä, Jani (2017)
Niemelä, Jani
Kajaanin ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017112818646
https://urn.fi/URN:NBN:fi:amk-2017112818646
Tiivistelmä
Eficode on Helsingissä toimiva ohjelmistoyritys, jolla on toimipisteitä Tampereella, Tukholmassa, Kööpenhaminassa ja Göteborgissa. Sen toimenkuvaan kuuluu asiakkaan bisnestarpeiden täyttämiseen ohjelmistokehitystä, konsultointia, ohjelmistotuotannon tehostamiseen liittyviä Devops-palveluita sekä digitaalisia asiakaskokemuksia palvelumuotoiluilla. Työ suoritettiin Eficoden tiloissa.
Tämän opinnäytetytön tavoitteena on kuvata, miten vanha legacy-järjestelmän monoliittinen arkkitehtuuri siirretään mikropalveluarkkitehtuuriin. Vaikka hajautetut järjestelmät eivät ole uusi asia tietotekniikassa, ovat mikropalvelut saaneet viiden vuoden aikana suuren suosion ja ovat tällä hetkellä pinnalla arkkitehtuurivalinnoissa.
Työssä tutkittiin miten kontitusteknologiat ovat kehittyneet 2000-luvulta nykyhetkeen. Tutkimuksessa käy ilmi vaiheet, miten monoliittinen arkkitehtuuri pilkotaan osiin ja millaisia muutoksia se tarvitsee toimiakseen itsenäisenä mikropalveluna. Nykypäivänä Docker tunnetaan käytetyimpänä alustana kontittamiseen ja sitä hyödynnetään työssä mikropalveluarkkitehtuurin luomiseen.
Työ aloitettiin jakamalla monoliittinen ohjelmisto omaan taustajärjestelmään, tietokantaan ja käyttöliittymäkerrokseen. Kehitystä varten luotiin automaattinen kehitysputki, joka testasi automaattisesti käyttöliittymän sekä tiedonhakukerroksen toimivuuden yksikkötesteillä. Ohjelmistoon tarvitsi tehdä uusina ominaisuuksina PDF-tiedoston luominen, toimintaloki ja palautusmekanismi, jolla pystyttiin palauttamaan tila entiteetin luomisesta lähtien. Näille ominaisuuksille luotiin omat palvelut, jotka yhdistettiin viestintäjonoon muiden palveluiden kanssa.
Työn tuloksena saatiin pienin toimiva tuote, joka pystyi erillisissä palveluissaan tallentamaan käyttäjätietoja ja tapahtumia, perumaan tapahtumia ja luomaan käyttäjätiedoista ja sen tapahtumista PDF-tiedostoja. Työssä saavutettiin sille annetut tavoitteet.
Tämän opinnäytetytön tavoitteena on kuvata, miten vanha legacy-järjestelmän monoliittinen arkkitehtuuri siirretään mikropalveluarkkitehtuuriin. Vaikka hajautetut järjestelmät eivät ole uusi asia tietotekniikassa, ovat mikropalvelut saaneet viiden vuoden aikana suuren suosion ja ovat tällä hetkellä pinnalla arkkitehtuurivalinnoissa.
Työssä tutkittiin miten kontitusteknologiat ovat kehittyneet 2000-luvulta nykyhetkeen. Tutkimuksessa käy ilmi vaiheet, miten monoliittinen arkkitehtuuri pilkotaan osiin ja millaisia muutoksia se tarvitsee toimiakseen itsenäisenä mikropalveluna. Nykypäivänä Docker tunnetaan käytetyimpänä alustana kontittamiseen ja sitä hyödynnetään työssä mikropalveluarkkitehtuurin luomiseen.
Työ aloitettiin jakamalla monoliittinen ohjelmisto omaan taustajärjestelmään, tietokantaan ja käyttöliittymäkerrokseen. Kehitystä varten luotiin automaattinen kehitysputki, joka testasi automaattisesti käyttöliittymän sekä tiedonhakukerroksen toimivuuden yksikkötesteillä. Ohjelmistoon tarvitsi tehdä uusina ominaisuuksina PDF-tiedoston luominen, toimintaloki ja palautusmekanismi, jolla pystyttiin palauttamaan tila entiteetin luomisesta lähtien. Näille ominaisuuksille luotiin omat palvelut, jotka yhdistettiin viestintäjonoon muiden palveluiden kanssa.
Työn tuloksena saatiin pienin toimiva tuote, joka pystyi erillisissä palveluissaan tallentamaan käyttäjätietoja ja tapahtumia, perumaan tapahtumia ja luomaan käyttäjätiedoista ja sen tapahtumista PDF-tiedostoja. Työssä saavutettiin sille annetut tavoitteet.