Tietojärjestelmäintegraatioiden ihanuus ja hurjuus

Kaikki nykypäivän tietojärjestelmäkokonaisuudet sisältävät integraatioita useiden eri tietojärjestelmien välillä. Käytännössä tietojärjestelmäintegraatiossa on kyse järjestelmissä olevan tiedon (datan) siirtämisestä järjestelmien välillä tietoverkon avulla. Integraatiossa tieto luetaan ohjelmallisesti lähdejärjestelmästä, jonka jälkeen tietoa voidaan muokata ennen sen tallentamista kohdejärjestelmään.

Integraatioiden avulla useista tietojärjestelmistä koostuva kokonaisuus saadaan tarjoamaan käyttäjilleen haluttu toiminnallisuus. Esimerkiksi verkkopankissa asioidessaan käyttäjän käyttöliittymä integroituu useisiin taustajärjestelmiin, joista yhdessä voi hallita maksuja, toisessa tehdä osakekauppaa ja kolmannessa käsitellä laina-asioita. Lisäksi kaikki edellä mainitut taustajärjestelmät integroituvat tilitransaktioiden hallintajärjestelmään, joka edelleen integroituu mm. vähittäiskauppojen maksupäätteisiin, pankkiautomaatteihin ja toisten pankkien tietojärjestelmiin.

Tietojärjestelmäintegraatiot ovat haastavia, koska integroitavat tietojärjestelmät voivat käyttää samaa tietoa eri tarkoituksiin, käsitellä samaa tietoa eri tavoin ja perustua eri teknologioihin. Halutun kokonaistoiminnallisuuden varmistamiseksi integraatioita toteutettaessa täytyy määritellä:

  1. tietosisällön rakenne (tietomalli, keskinäiset suhteet, attribuutit)
  2. tiedon käsittelysäännöt (tiedon oikeellisuus, omistajuus, transaktiosäännöt)
  3. tiedonsiirron tekniset periaatteet (väylät, standardit, protokollat, tilallisuus)

Esimerkkinä tietosisällön rakenteeseen (kohta 1 yo. listassa) liittyvistä integraatiohaasteista toimii e-reseptin suunnitteluvirhe, jonka takia osa reseptille tarkoitetusta tekstistä voi jäädä puuttumaan reseptiltä. Ongelman syynä lienee, että tietosisältö (mm. tietokenttien pituudet) ei ollut yksiselitteisesti ja yhtenäisesti määritelty kaikille e-reseptin tietoja käsitteleville järjestelmille ja osassa tietoa käsittelevistä järjestelmistä reseptin tekstikenttien merkkimääriä on rajoitettu (ks. YLE). Tästä seuraa, että vaikka lääkäri pystyykin onnistuneesti syöttämään reseptin tiedot järjestelmään käyttöliittymänsä kautta, jossain integraatioketjun vaiheessa järjestelmä ei pystykään tallentamaan tiedosta kuin esim. ensimmäiset 50 merkkiä. Tämän seurauksena apteekin käyttöliittymässä näkyy tietyssä kentässä vain 50 merkkiä.

Esimerkkinä tiedon käsittelysääntöihin (kohta 2 yo. listassa) liittyvistä integraatiohaasteista toimii Puolustusvoimien SAP HR –järjestelmän käyttöönotto puutteellisesti testattuna, jonka takia tuhansien työntekijöiden palkanmaksussa oli virheellisyyksiä ja viivästymisiä. Ongelman syynä lienee, että tiedon käsittelysäännöt (mm. tiedon oikeellisuuden varmistaminen) oli puutteellisesti määritelty ulkoisen tiedon tuonnin kannalta (toisista järjestelmistä), jonka takia uudessa järjestelmässä oli työntekijöiden peruspalkassa, tehdyissä työtunneissa ja pankkitileissä virheellisyyksiä (ks. HS tai Tietokone ). Tästä seurasi, että ajettaessa palkanlaskenta-ajo SAP HR –järjestelmässä tulokset olivat virheellisen tiedon takia väärin, vaikka itse ajon logiikka olisikin oltu testattu toimivan täydellisesti.

Esimerkkinä tiedonsiirron teknisiin periaatteisiin (kohta 3 yo. listassa) liittyvistä haasteista toimii suomalaisten teleoperaattoreiden kapasiteetin, VR:n maksupäätelaitteiden ja maksukorttien EMV-standardin vaatimusten keskinäiset riippuvuudet, jonka takia VR:n päätti lopettaa Visa Electronin hyväksymisen junissa (ks. YLE). Ongelman syynä lienee, että joko Visa Electron-kortille pankin online-tarkistuksen vaativa EMV-standardi tai VR:n maksupäätelaite ei salli sellaisia teknisiä viiveitä (latensseja), pakkausta tai protokollaa, jolla tietojärjestelmäkokonaisuus toimisi varmuudella suomalaisten mobiiliverkkojen kattavuudella ja kapasiteetilla. Tästä seuraa, että Visa Electron ei toimi aina junassa, vaikka tietosisällön rakenne ja tiedon käsittelysäännöt onkin pilkuntarkkaan määritelty.

Riippuen IT-projektista tietojärjestelmien väliset integraatiot saattavat muodostaa jopa puolet projektin kokonaistyömäärästä (verrattuna siihen, että tehtäisiin yksi monoliittinen sovellus, mikä ei usein ole edes käytännössä mahdollista). Siksi on tärkeää, että järjestelmän toiminnalliset vaatimukset ja käyttötapaukset kytketään integraatioiden suunnitteluun jo projektin aikaisessa vaiheessa. Tietojärjestelmäintegraatioissa onnistumisen varmistamiseksi on olemassa lukuisia teknisiä ja metodologisia hyviä käytäntöjä. Mikään ei kuitenkaan korvaa tärkeintä menestystekijää eli avointa, selkeää ja tehokasta osapuolten (usein eri toimittajien) välistä viestintää.