Olemassa olevan integraation siirtäminen moderneille integraatioalustoille ja -kehyksille
Mielikäinen, Tero (2021)
Mielikäinen, Tero
2021
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ä
2021-10-06
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202109237250
https://urn.fi/URN:NBN:fi:tuni-202109237250
Tiivistelmä
Integraatiot ovat olleet keskeisessä roolissa ohjelmistotuotannossa jo pitkään ja niiden merkitys kasvaa koko ajan. Sovellusten ja palveluiden laajentuessa kommunikointitarve ei ole enää yhden yrityksen sisällä, vaan järjestelmiin tuodaan myös ulkoisia palveluita. Integraatioilla on tarkoitus yhdistää nämä ulkoiset palvelut mahdollisimman saumattomasti ja niitä voidaan toteuttaa monella tapaa. Usein vanhemmat toteutukset ovat suoraan kahden järjestelmän välille luotuja räätälöityjä pisteestä-pisteeseen integraatioratkaisuja, jolloin usean integraation ylläpitäminen on usein kallista ja työlästä. Moderneilla integraatioalustoilla ja -kehyksillä voidaan keskeisen järjestelmän tai arkkitehtuurin avulla toteuttamista yhtenäistää, vähentää ylläpidollista työtä ja helpottaa uusien järjestelmien liittämistä osaksi integraatiojärjestelmää. Tämän tutkimuksen tarkoituksena on selvittää, kuinka olemassa oleva integraatiototeutus voidaan siirtää moderneille integraatioalustoille ja -kehyksille sekä minkälaisia hyötyjä ja kompromisseja siirtäminen tuo mukanaan.
Tutkimus toteutettiin tapaustutkimuksena, jossa toimeksi antavan yrityksen olemassa oleva Javaan perustuvan integraatiototeutuksen yksittäinen integraatiotapaus siirrettiin valituille alustoille ja kehyksille. Vaihtoehtoja integraatioalustoille oli paljon, mutta ne ovat periaatteiltaan samankaltaisia. Ratkaisevana tekijänä verrattavien alustojen valinnoissa oli yrityksen tarve saada integraatiototeutus kommunikoimaan sisäverkossa sijaitsevien resurssien kanssa. Vertailuun otettiin myös kaksi integraatiokehystä, jotka molemmat ovat JVM-pohjaisia. Vertailemalla alustoja pyrittiin selvittämään käytännössä mitä integraation siirtäminen vaatii ja minkälaisia kompromisseja ja parannuksia siirtyminen tuo aiempaan toteutukseen nähden. Alustojen välisiä eroja pyrittiin tuomaan esille erilaisien laatuominaisuuksien ja yrityksen esittämien vaatimusten perusteella.
Tutkimuksen perusteella selvisi, että olemassa olevaa ohjelmakoodia ei voida suoraan siirtää integraatioalustoille. Logiikka täytyy siirtäessä muuttaa ensin teknologiariippumattomaan muotoon ja toteuttaa integraatio sen perusteella alustan omilla työkaluilla. Vanhan toteutuksen pohjalta luodut uudet integraatiototeutukset tuovat kuitenkin merkittäviä parannuksia yrityksen nykyiseen tilanteeseen. Alustat tarjoavat helpon ja yhtenäisen tavan luoda integraatioita nopeasti ja tuovat vain vähän kompromisseja toteutusmielessä aiempaan toteutukseen verrattuna. Kehykset tuovat yhtenäistä rakennetta ohjelmoimalla tehtyyn toteutukseen, ilman ulkopuolisia järjestelmiä. Lopulta yrityksen tarpeisiin parhaat vaihtoehdot valittiin vertailemalla taulukoituja tuloksia laatuominaisuuksista, vaatimusten toteutumisesta ja alustoille suoritetun suorituskykytestin perusteella.
Tutkimus toteutettiin tapaustutkimuksena, jossa toimeksi antavan yrityksen olemassa oleva Javaan perustuvan integraatiototeutuksen yksittäinen integraatiotapaus siirrettiin valituille alustoille ja kehyksille. Vaihtoehtoja integraatioalustoille oli paljon, mutta ne ovat periaatteiltaan samankaltaisia. Ratkaisevana tekijänä verrattavien alustojen valinnoissa oli yrityksen tarve saada integraatiototeutus kommunikoimaan sisäverkossa sijaitsevien resurssien kanssa. Vertailuun otettiin myös kaksi integraatiokehystä, jotka molemmat ovat JVM-pohjaisia. Vertailemalla alustoja pyrittiin selvittämään käytännössä mitä integraation siirtäminen vaatii ja minkälaisia kompromisseja ja parannuksia siirtyminen tuo aiempaan toteutukseen nähden. Alustojen välisiä eroja pyrittiin tuomaan esille erilaisien laatuominaisuuksien ja yrityksen esittämien vaatimusten perusteella.
Tutkimuksen perusteella selvisi, että olemassa olevaa ohjelmakoodia ei voida suoraan siirtää integraatioalustoille. Logiikka täytyy siirtäessä muuttaa ensin teknologiariippumattomaan muotoon ja toteuttaa integraatio sen perusteella alustan omilla työkaluilla. Vanhan toteutuksen pohjalta luodut uudet integraatiototeutukset tuovat kuitenkin merkittäviä parannuksia yrityksen nykyiseen tilanteeseen. Alustat tarjoavat helpon ja yhtenäisen tavan luoda integraatioita nopeasti ja tuovat vain vähän kompromisseja toteutusmielessä aiempaan toteutukseen verrattuna. Kehykset tuovat yhtenäistä rakennetta ohjelmoimalla tehtyyn toteutukseen, ilman ulkopuolisia järjestelmiä. Lopulta yrityksen tarpeisiin parhaat vaihtoehdot valittiin vertailemalla taulukoituja tuloksia laatuominaisuuksista, vaatimusten toteutumisesta ja alustoille suoritetun suorituskykytestin perusteella.