Integraatio-opas

Mitä integraatio on, miten se kannattaa toteuttaa ja mitä sillä voi saavuttaa?

Mitä integraatio on?

Ohjelmistointegraatio tarkoittaa erillisten sovellusten ja järjestelmien yhdistämistä.

Integraation ansiosta yrityksen toiminnanohjausjärjestelmä voi esimerkiksi hakea osoitetietoja asiakkuudenhallintasovelluksesta tai yrityksen tuotesuunnitteluohjelma voi hakea osien saatavuustietoja varastonhallintajärjestelmästä.

Integroinnissa pyritään poistamaan manuaalisen tiedonsiirron tarve. Integrointi ei kuitenkaan ole välttämättä tarpeen, jos tiedon syöttämistä tapahtuu harvoin eikä se vie kauaa. Toisaalta, jos kyseessä on virhealtis ja kriittinen vaihe organisaation toiminnan kannalta, kannattaa tiedonsiirto automatisoida.

Integraation eri tyypit

Point-to-point-integraatio

Jos eri järjestelmiä on vain vähän, ne voidaan yhdistää suoraan järjestelmien välisenä point-to-point-integraationa. Kun järjestelmien määrä kasvaa, kasvaa suorien yhteyksien määrä eksponentiaalisesti. Varsinaisen tiedonsiirron lisäksi integroinnissa pitää huolehtia datan yhdistämisestä, muunnoksesta, rikastamisesta ja validoinnista sekä lokituksesta, monitoroinnista ja virheenhallinnasta. Point-to-point-integraatiossa edellä mainitut toimenpiteet pitää tehdä erikseen jokaisessa kohteessa aina, kun uusia integrointitarpeita tulee.

Kun integraatio on tehty keskitetysti, on kaikki yhdessä paikassa ja
helposti hallittavassa. Toisaalta keskitetty integraatio on palvelimen ja resursseja vaativa ratkaisu, jota ei voi lähteä suosittelemaan pienen, yksittäisen integraation ratkaisuksi. Kun integroitavien kohteiden määrä kasvaa, kannattaa harkita keskitettyä integraatioratkaisua.

Keskitetty integraatio

Helpommin skaalattavissa oleva integraatiotapa on käyttää keskitettyä integraatioalustaa (Enterprise Service Bus, ESB). Siinä kukin järjestelmä kommunikoi suoraan vain kaikille yhteisen toimijan kanssa, joka huolehtii tietojen välittämisestä, tietomuotojen muunnoksista ja integraatioiden valvonnasta. Tähän malliin on helpompi lisätä uusia järjestelmiä, koska integraattorin tarvitsee rakentaa vain yksi yhteys uuden järjestelmän ja integraatioalustan välille sen sijaan, että yhteys rakennettaisiin uudesta järjestelmästä jokaiseen olemassa olevaan järjestelmään. Tietoa voidaan helposti hakea myös useamman järjestelmän eri tiedostoista tai rajapinnoista.

Jos yrityksellä on jo käytössä integraatioalusta, sitä kannattaa hyödyntää, mikäli mahdollista. Point-to-point-integraatiota ja keskitettyä integraatiota voi myös käyttää rinnan, jos yhdistelmän vain saa toimimaan. Mikäli vanhassa point-to-point-integraatiossa on ongelmia tai kehitystarpeita, kannattaa harkita vanhojenkin integraatioiden siirtämistä keskitetylle integraatioalustalle. Tällöin irrallisen integraation toiminnan seurantakin voidaan siirtää keskitetyn valvonnan piiriin.

Integraatio mikropalveluna

Integraatiot voidaan toteuttaa myös mikropalveluarkkitehtuuria hyödyntäen. Mikropalvelut ovat pieniä, itsenäisiä sovelluksia, jotka eivät vaadi pohjalleen mitään tuotetta. Ne voivat toimia erikseen itsenäisinä tai yhdessä muodostaen isomman toiminnallisen kokonaisuuden. Mikropalvelujen käyttö mahdollistaa kokonaisuuden osien helpomman kehittämisen ja ylläpidon sekä tukee uudelleenkäytettävyyttä.

Kaikista käytettävissä olevista mikropalveluista pitää kirjaa palvelurekisteri, joka kertoo, mistä palvelu löytyy. Reititin puolestaan vastaanottaa ulkoa tulevat kutsut, jakaa työt ja kutsuu mikropalvelua. Mikropalvelut kertovat tilastaan säännöllisin väliajoin tukipalveluille, jotka näkevät palvelinten tilan ja kuormituksen, konfiguroivat palveluita ja huolehtivat palvelujen jatkuvasta integraatiosta.

Parhaiten mikropalveluarkkitehtuuri sopii tilanteisiin, joissa vaaditaan skaalattavuutta eli kun palvelupyyntöjen määrä vaihtelee paljon. Mikropalveluita käytettäessä kuorma jaetaan automaattisesti saatavilla olevien palvelujen kesken. Uusien palveluinstanssien pystytys tai käytöstä poisto onnistuu lennosta joko manuaalisesti tai automaattisesti.

Integraatioiden rajoitteet ja mahdollisuudet

Synkroninen ja asynkroninen integraatio

Integraatio voidaan toteuttaa synkronisena tai asynkronisena. Synkronisessa integraatiossa lähdejärjestelmä lähettää tiedon kohdejärjestelmään ja jää odottamaan vastausta kohdejärjestelmältä. Asynkronisessa integraatiossa lähdejärjestelmä ei jää odottamaan sitä, että kohdejärjestelmä saa työnsä tehtyä. Synkroninen integraatio on paikallaan, kun oletetaan, että kohdejärjestelmä suoriutuu tehtävästään nopeasti. Mutta jos kohdeoperaatioon kuluukin pitempään, ei lähdejärjestelmä voi jäädä odotuttamaan käyttäjää. Silloin integraatio pitää toteuttaa asynkronisesti.

Integration platform as a service (iPaaS)

Integraatiot siirtyvät yhä enenevissä määrin pilvipohjaisiin iPaaS-palveluihin, kuten Oraclen Integration Cloud Serviceen, Boomiin, MuleSoftiin ja Microsoftin Azure Logic Appsiin. IPaaS-mallissa yrityksen ei tarvitse huolehtia taustapalvelimista tai integraatioalustan asentamisesta ja päivittämisestä.

Lue blogi pilvi-integraatioalustalla yhdistät järjestelmät ketterästi ->

Vaihtoehto integraatiolle: ohjelmistorobotiikka

Integraation tekeminen käy hankalaksi tilanteissa, joissa jokin järjestelmä ei tarjoa rajapintoja, järjestelmän toimittaja ei halua avata niitä tai rajapintojen tekeminen on kallista. Silloin tiedonsiirto voidaan toteuttaa ohjelmistorobotiikalla.

Ohjelmistorobotti käyttää samoja käyttöliittymiä, joita ihminenkin käyttäisi, mutta tekee sen automatisoidusti ja nopeasti. Ohjelmistorobotiikkaa voidaan käyttää myös pienempiin tai yksittäisiin ja tilapäisiin tiedonsiirtotapauksiin.

Tiedonsiirto integroimalla on suositeltavampaa kuin ohjelmistorobotiikan käyttö, koska integraatio hyödyntää järjestelmien tarjoamia palveluita ja rajapintoja, ja tekee tiedon käsittelyn nopeammin. Ohjelmistorobotiikan on vaara jäädä kehitystyöstä irralliseksi osaksi, josta kunnollinen versionhallinta puuttuu. Kyse on kuitenkin toimintatavoista, joten ohjelmistorobotin kehityksen pitää noudattaa samoja hyviä ohjelmistokehityksen periaatteita kuin integraation tekemisenkin.

Integroinnin sudenkuopat

Integraatio voi lakata toimimasta, kun järjestelmiä päivitetään. Ihmiset voivat myös alkaa käyttää järjestelmiä eri tavalla kuin on ajateltu tai vain eri tavalla kuin ennen. Yleisiä kompastuskiviä ovat eri muodoissa annetut päivämäärät, kellonajat ja aikavyöhykkeet. Myös kenttiin syötetyt erikoismerkit saattavat aiheuttaa ongelmia.

Tyypillinen rakenteellinen integraatiovirhe on tehdä joku palvelu kopiona aina uudestaan, vaikka yhtä ja samaa palvelua voitaisiin hyödyntää useammassa paikassa. Integraatiosta voidaan myös tehdä asynkroninen, kun kannattaisi tehdä synkroninen, ja päinvastoin. Asynkronisessa integraatiossa myös viestijärjestys voi mennä väärin, joten integraatioalustan on tärkeä pitää huolta viestijärjestyksen säilymisestä.

Integraatiosta palvelu

Yritykselle voi liiketoimintansa oheistuotteena syntyä tietoa, jota sen asiakkaat voisivat hyödyntää. Asiakkaalle voi tällöin tarjota maksua vastaan rajattua pääsyä yrityksen tietokantoihin. Palvelun tarjoamiseen ei välttämättä tarvita edes käyttöliittymän rakentamista, vaan halutut tiedot voidaan integroida näkymään suoraan asiakkaan omissa järjestelmissä. Kaikkien yritysten kannattaisikin pohtia, olisiko niillä mahdollisuus kasvattaa liiketoimintaansa tarjoamalla jotain asiakkailleen arvokasta tietoa.

Integraation tekijät

Järjestelmätoimittajat

Monet järjestelmätoimittajat tekevät tuotteisiinsa integraatioita. He tuntevat oman järjestelmänsä hyvin ja kykenevät hyödyntämään sitä tietoa integraatiota toteuttaessaan. Integraatiot eivät kuitenkaan ole järjestelmätoimittajien ydinbisnestä, eikä heillä lähtökohtaisesti ole muita parempaa osaamista toisista järjestelmistä, joihin oma tuote integroidaan.

Integraatioihin erikoistuneet yritykset

Pelkästään integraatioita tekevät yritykset ovat keskittyneet juuri integraatioiden tekemiseen, ja omaavat kokemusta useista eri järjestelmistä. Integraatiot ovat kuitenkin yleensä vain osa organisaation liiketoimintaprosessien kehittämistä, mikä sisältää myös moneen muuhun digitaaliseen prosessiin puuttumista.

Ohjelmistoalan yritykset

Ohjelmistoalan yritykset, joilla on integroinnin lisäksi laajempaa ohjelmistokehityksen osaamista, ovat hyviä kumppaneita, kun integraatioiden tarkoituksena on parantaa vanhoja tai luoda uusia liiketoimintaprosesseja. He tuntevat yleiset hyvät integrointikäytännöt ja osaavat toteuttaa integroinnit parhaalla mahdollisella tavalla, mutta pystyvät auttamaan myös muissa ohjelmistokehitystarpeissa.

Onnistunut integraatio?

Integraation tekninen toteutus sujuu nopeammin, kun yhdistettävät järjestelmät ovat tekijälle entuudestaan tuttuja. Suurin yksittäinen tekijä onnistuneen integraation tekemisessä on kuitenkin asiakkaan liiketoiminnan ja prosessien ymmärtäminen. Mitä paremmin integraation toteuttajalle on selvää, mitä tietoja asiakas tarvitsee ja mihin haluaa niitä käyttää, sitä parempi lopputulos.

Monipuolinen ohjelmistotalo pystyy tarjoamaan integroinnin lisäksi organisaatiolle paljon muutakin liiketoiminnan tehostamiseksi.

Integraatiotarpeita?

Ota yhteyttä myynnissämme työskentelevään Juhaniin.

Kenttä on validointitarkoituksiin ja tulee jättää koskemattomaksi.