Web-teknologian vaiheittainen uudistus Sosiaali- ja terveysdatan integraatiojärjestelmälle: Uusien ohjelmistokehysvaihtoehtojen arviointi ja vaiheittaisen käyttöönoton mahdollistava arkkitehtuurisuunnitelma
Jurvanen, Konsta (2025)
Jurvanen, Konsta
2025
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-12-16
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2025121211575
https://urn.fi/URN:NBN:fi:tuni-2025121211575
Tiivistelmä
Atostek Oy on kehittänyt Kelan Kanta-palveluihin integroitumista helpottavan ERA-järjestelmän, jonka rinnalle on rakentunut monipuolinen web-käyttöliittymä sosiaali- ja terveydenhuollon ammattilaisille. Vuosia jatkuneen kehityksen aikana edullisinta on toistaiseksi ollut pitäytyä vanhassa ASP.NET MVC:tä hyödyntävässä käyttöliittymäteknologiassa, sillä välitön siirtymä vaatisi paljon työtä ja vanha käyttöliittymä on toiminit hyvin. Tämä on johtanut teknisen velan kertymiseen, mikä hidastaa kasvavissa määrin markkinoihin mukautumista ja rajoittaa vaativien käyttöliittymätoiminnallisuuksien kehittämistä. Tutkimuksen tavoitteena on luoda tieteellinen perusta suunnitelmille, jotka mahdollistavat teknisen velan takaisinmaksun asteittain uutta käyttöliittymäteknologiaa hyödyntäen.
Modernien käyttöliittymäteknologioiden vertailulla pyritään perustelemaan uuden ohjelmistokehyksen valinta, ja arkkitehtuurisuunnittelun tavoitteena on luoda kestävä pohja käyttöliittymän kehittämiselle ja vaiheittaiselle siirtymälle. Teknologioita arvioidaan ERAn tarpeiden pohjalta johdettujen kriteerien perusteella, joihin kuuluvat suorituskyky, ekosysteemi, luotettavuus, kehityskokemus, rakenteellisuus ja erityiset ominaisuudet. Kriteereittäin jaettu kirjallinen arviointi toteutetaan Angular-, React-, Vue-, Svelte- ja Blazor-teknologioille. Ominaisuuksissa huomioidaan myös teknologiakohtaiset korkean tason meta-tason ohjelmistokehykset Next, Nuxt ja SvelteKit, jotta toiminnallisuuksien taso vastaa kokonaisvaltaista Angular-kehystä.
Arkkitehtuurin osalta käyttöliittymälle havaittiin kolme eri tason integraatiotyyliä. Yksinkertaisena ratkaisuna malli A liittää ERAan itsenäisen yhden sivun sovelluksen, joka irtaantuu vanhasta järjestelmästä käyttöliittymän tasolla hyödyntäen navigointiin uudelleenohjauksia. Malli B erottaa myös palvelinpuolelle erillisen rajapintasovelluksen, mikä yksinkertaistaa useaan integraatiopalveluun yhdistymistä ja selkeyttää vastuunjakoa. Malli C rakentaa uudet komponentit nykyisten sivujen sisälle, jolloin uusi teknologia integroituu vanhoihin näkymiin selaimen JavaScript-sovelluksessa.
Tutkimuksen pohjalta tullaan kokeilemaan kehittäjäystävällistä Svelte-teknologiaa erillisen palvelun päälle rakentuvana yhden sivun sovelluksena. Vallittu arkkitehtuuri perustuu siis B-malliin, joka tukee modulaarisuutta ja vastuunjakoa. Lisäksi kiinnostavana liiketoimintamahdollisuutena tutkimuksessa havaittiin mahdollisuus micro-frontend-tekniikoiden hyödyntämiseen ERAn ulkopuolella, mutta myös nykyisen käyttöliittymän väliaikaiseen ehostukseen. Svelten valintaa perusteli sopeutuvuus tutkimuksen tarpeisiin ja arkkitehtuurisuunnitelmaan. Täten arkkitehtuurivaihtoehtoja yhdistelemällä löytyi ratkaisu, joka aloittaa teknisen velan takaisinmaksun puhtaalta pohjalta, mutta mahdollistaa osittaisen näkymien korvaamisen pienellä kynnyksellä. Turvallisena varavaihtoehtona kokeilun jälkeen toimii pelkkä B-mallin arkkitehtuuri ja Angular.
Modernien käyttöliittymäteknologioiden vertailulla pyritään perustelemaan uuden ohjelmistokehyksen valinta, ja arkkitehtuurisuunnittelun tavoitteena on luoda kestävä pohja käyttöliittymän kehittämiselle ja vaiheittaiselle siirtymälle. Teknologioita arvioidaan ERAn tarpeiden pohjalta johdettujen kriteerien perusteella, joihin kuuluvat suorituskyky, ekosysteemi, luotettavuus, kehityskokemus, rakenteellisuus ja erityiset ominaisuudet. Kriteereittäin jaettu kirjallinen arviointi toteutetaan Angular-, React-, Vue-, Svelte- ja Blazor-teknologioille. Ominaisuuksissa huomioidaan myös teknologiakohtaiset korkean tason meta-tason ohjelmistokehykset Next, Nuxt ja SvelteKit, jotta toiminnallisuuksien taso vastaa kokonaisvaltaista Angular-kehystä.
Arkkitehtuurin osalta käyttöliittymälle havaittiin kolme eri tason integraatiotyyliä. Yksinkertaisena ratkaisuna malli A liittää ERAan itsenäisen yhden sivun sovelluksen, joka irtaantuu vanhasta järjestelmästä käyttöliittymän tasolla hyödyntäen navigointiin uudelleenohjauksia. Malli B erottaa myös palvelinpuolelle erillisen rajapintasovelluksen, mikä yksinkertaistaa useaan integraatiopalveluun yhdistymistä ja selkeyttää vastuunjakoa. Malli C rakentaa uudet komponentit nykyisten sivujen sisälle, jolloin uusi teknologia integroituu vanhoihin näkymiin selaimen JavaScript-sovelluksessa.
Tutkimuksen pohjalta tullaan kokeilemaan kehittäjäystävällistä Svelte-teknologiaa erillisen palvelun päälle rakentuvana yhden sivun sovelluksena. Vallittu arkkitehtuuri perustuu siis B-malliin, joka tukee modulaarisuutta ja vastuunjakoa. Lisäksi kiinnostavana liiketoimintamahdollisuutena tutkimuksessa havaittiin mahdollisuus micro-frontend-tekniikoiden hyödyntämiseen ERAn ulkopuolella, mutta myös nykyisen käyttöliittymän väliaikaiseen ehostukseen. Svelten valintaa perusteli sopeutuvuus tutkimuksen tarpeisiin ja arkkitehtuurisuunnitelmaan. Täten arkkitehtuurivaihtoehtoja yhdistelemällä löytyi ratkaisu, joka aloittaa teknisen velan takaisinmaksun puhtaalta pohjalta, mutta mahdollistaa osittaisen näkymien korvaamisen pienellä kynnyksellä. Turvallisena varavaihtoehtona kokeilun jälkeen toimii pelkkä B-mallin arkkitehtuuri ja Angular.
