Työpöytäsovelluksen siirtäminen web-alustalle - Haasteet ja tekniset mahdollisuudet - Timonen, Sami (My University, 2021)
Uusien toiminnallisuuksien, alustariippumattomuuden, sekä datan liikutettavuuden ja hallinnan parantamisen myötä saatetaan tulla tilanteeseen, jossa työpöytäsovelluksen täytyy hyödyntää web-teknologioita. Työpöytäsovelluksen tuonti web-maailmaan saattaa olla erittäin haasteellista. Sovellus, jonka kehittämiseen on käytetty tuhansia henkilötyöpäiviä sisältää usein teknologioita, jotka rajoittavat sen käyttämisen tiettyyn ympäristöön ja käyttötapaan. Kehitykseen käytetyt teknologiat saattavat olla vanhentuneita, rajoittavat toiminnallisuuksia ja muiden teknologioiden käyttöönottoa. Usein tällaisen sovelluksen kokonaan uudelleen kehittäminen ei ole resurssien puitteissa mahdollista, eikä kannattavaa. Siksi ainoa vaihtoehto on hyödyntää olemassa olevaa koodipohjaa, yrittää korvata ja päivittää käytettyjä teknologioita ja valita sovellukseen, sen nykyiseen kehittämiseen ja käyttötapaan soveltuvimmat web-teknologiat. Jotta sovelluksessa voitaisiin käyttää moderneja web-teknologioita ja päästä lähemmäksi kaivattua alustariippumattomuutta, täytyy sovelluksen käyttämiä vanhentuneita tai epäyhteensopivia teknologioita päivittää tai korvata jollain toisella teknologialla. Työn tavoite on tutkia tätä ongelmaa Process Preparation -tuotteen näkökulmasta. Työn johdannossa kerrotaan tuotteesta, sekä sen tarpeesta ja tavoitteista web-teknologioiden hyödyntämiseen. Tämän jälkeen kartoitetaan nykyistä toteutusta ja mitkä käytetyt teknologiat rajoittavat web-teknologioiden käyttöönottoa. Kartoituksen jälkeen käsitellään eri tapoja ja teknologioita, ongelmallisten teknologioiden ratkaisemiseksi ja web-rajapinta päämäärän toteuttamiseksi. Teknologioiden suorituskykyä verrataan simuloimalla lopullista käyttötarkoitusta ja sitä kuinka hyvin ne täyttävät valinnalle asetetut vaatimukset. Lopputulemana, että .NET Framework tulisi päivittää .NET 5:een, Entity Framework suorituskykyisempään Entity Framework Coreen ja .NET Remoting vaatimukset täyttävään ja suorituskykyisempään gRPC:een. Lisäksi työssä ohjeistetaan kyseisten teknologioiden käyttöönottoa. Soveltuvimmaksi käyttötapauksen rajapintateknologiaksi osoittautui REST API- ja gRPC-toteutusten yhdistelmä. Web-palvelinohjelma tulisi valita vasta lopullisen käyttöympäristön perusteella. Lopuksi työn tulosten yhteenvedon lisäksi pohditaan mitä tulisi huomioida teknologioita valittaessa ja mitä ongelmia suoritustehokkuuksien vertailussa voi ilmetä.
Keywords: työpöytäsovellus, web-teknologia, alustariippumattomuus, .NET, C#