{"id":308,"date":"2020-10-20T16:16:00","date_gmt":"2020-10-20T16:16:00","guid":{"rendered":"http:\/\/www.cheetah.fi\/blog\/?p=308"},"modified":"2021-04-29T06:30:27","modified_gmt":"2021-04-29T06:30:27","slug":"tietojarjestelmaintegraatioiden-ihanuus-ja-hurjuus","status":"publish","type":"post","link":"https:\/\/www.cheetah.fi\/blog\/tietojarjestelmaintegraatioiden-ihanuus-ja-hurjuus\/","title":{"rendered":"Tietoj\u00e4rjestelm\u00e4integraatioiden ihanuus ja hurjuus"},"content":{"rendered":"<p>Kaikki nykyp\u00e4iv\u00e4n tietoj\u00e4rjestelm\u00e4kokonaisuudet sis\u00e4lt\u00e4v\u00e4t integraatioita useiden eri tietoj\u00e4rjestelmien v\u00e4lill\u00e4. K\u00e4yt\u00e4nn\u00f6ss\u00e4 tietoj\u00e4rjestelm\u00e4integraatiossa on kyse j\u00e4rjestelmiss\u00e4 olevan tiedon (datan) siirt\u00e4misest\u00e4 j\u00e4rjestelmien v\u00e4lill\u00e4 tietoverkon avulla. Integraatiossa tieto luetaan ohjelmallisesti l\u00e4hdej\u00e4rjestelm\u00e4st\u00e4, jonka j\u00e4lkeen tietoa voidaan muokata ennen sen tallentamista kohdej\u00e4rjestelm\u00e4\u00e4n.<\/p>\n<p>Integraatioiden avulla useista tietoj\u00e4rjestelmist\u00e4 koostuva kokonaisuus saadaan tarjoamaan k\u00e4ytt\u00e4jilleen haluttu toiminnallisuus. Esimerkiksi verkkopankissa asioidessaan k\u00e4ytt\u00e4j\u00e4n k\u00e4ytt\u00f6liittym\u00e4 integroituu useisiin taustaj\u00e4rjestelmiin, joista yhdess\u00e4 voi hallita maksuja, toisessa tehd\u00e4 osakekauppaa ja kolmannessa k\u00e4sitell\u00e4 laina-asioita. Lis\u00e4ksi kaikki edell\u00e4 mainitut taustaj\u00e4rjestelm\u00e4t integroituvat tilitransaktioiden hallintaj\u00e4rjestelm\u00e4\u00e4n, joka edelleen integroituu mm. v\u00e4hitt\u00e4iskauppojen maksup\u00e4\u00e4tteisiin, pankkiautomaatteihin ja toisten pankkien tietoj\u00e4rjestelmiin.<\/p>\n<p>Tietoj\u00e4rjestelm\u00e4integraatiot ovat haastavia, koska integroitavat tietoj\u00e4rjestelm\u00e4t voivat k\u00e4ytt\u00e4\u00e4 samaa tietoa eri tarkoituksiin, k\u00e4sitell\u00e4 samaa tietoa eri tavoin ja perustua eri teknologioihin. Halutun kokonaistoiminnallisuuden varmistamiseksi integraatioita toteutettaessa t\u00e4ytyy m\u00e4\u00e4ritell\u00e4:<\/p>\n<ol>\n<li>tietosis\u00e4ll\u00f6n rakenne (tietomalli, keskin\u00e4iset suhteet, attribuutit)<\/li>\n<li>tiedon k\u00e4sittelys\u00e4\u00e4nn\u00f6t (tiedon oikeellisuus, omistajuus, transaktios\u00e4\u00e4nn\u00f6t)<\/li>\n<li>tiedonsiirron tekniset periaatteet (v\u00e4yl\u00e4t, standardit, protokollat, tilallisuus)<\/li>\n<\/ol>\n<p>Esimerkkin\u00e4 tietosis\u00e4ll\u00f6n rakenteeseen (kohta 1 yo. listassa) liittyvist\u00e4 integraatiohaasteista toimii e-reseptin suunnitteluvirhe, jonka takia osa reseptille tarkoitetusta tekstist\u00e4 voi j\u00e4\u00e4d\u00e4 puuttumaan reseptilt\u00e4. Ongelman syyn\u00e4 lienee, ett\u00e4 tietosis\u00e4lt\u00f6 (mm. tietokenttien pituudet) ei ollut yksiselitteisesti ja yhten\u00e4isesti m\u00e4\u00e4ritelty kaikille e-reseptin tietoja k\u00e4sitteleville j\u00e4rjestelmille ja osassa tietoa k\u00e4sittelevist\u00e4 j\u00e4rjestelmist\u00e4 reseptin tekstikenttien merkkim\u00e4\u00e4ri\u00e4 on rajoitettu (ks. <a href=\"http:\/\/yle.fi\/uutiset\/e-reseptin_suunnitteluvirheen_korjaaminen_on_hidasta_ja_kallista\/6565833\" target=\"_blank\" rel=\"noopener\">YLE<\/a>).<\/p>\n<p>T\u00e4st\u00e4 seuraa, ett\u00e4 vaikka l\u00e4\u00e4k\u00e4ri pystyykin onnistuneesti sy\u00f6tt\u00e4m\u00e4\u00e4n reseptin tiedot j\u00e4rjestelm\u00e4\u00e4n k\u00e4ytt\u00f6liittym\u00e4ns\u00e4 kautta, jossain integraatioketjun vaiheessa j\u00e4rjestelm\u00e4 ei pystyk\u00e4\u00e4n tallentamaan tiedosta kuin esim. ensimm\u00e4iset 50 merkki\u00e4. T\u00e4m\u00e4n seurauksena apteekin k\u00e4ytt\u00f6liittym\u00e4ss\u00e4 n\u00e4kyy tietyss\u00e4 kent\u00e4ss\u00e4 vain 50 merkki\u00e4.<\/p>\n<p>Esimerkkin\u00e4 tiedon k\u00e4sittelys\u00e4\u00e4nt\u00f6ihin (kohta 2 yo. listassa) liittyvist\u00e4 integraatiohaasteista toimii Puolustusvoimien SAP HR -j\u00e4rjestelm\u00e4n k\u00e4ytt\u00f6\u00f6notto puutteellisesti testattuna, jonka takia tuhansien ty\u00f6ntekij\u00f6iden palkanmaksussa oli virheellisyyksi\u00e4 ja viiv\u00e4stymisi\u00e4. Ongelman syyn\u00e4 lienee, ett\u00e4 tiedon k\u00e4sittelys\u00e4\u00e4nn\u00f6t (mm. tiedon oikeellisuuden varmistaminen) oli puutteellisesti m\u00e4\u00e4ritelty ulkoisen tiedon tuonnin kannalta (toisista j\u00e4rjestelmist\u00e4), jonka takia uudessa j\u00e4rjestelm\u00e4ss\u00e4 oli ty\u00f6ntekij\u00f6iden peruspalkassa, tehdyiss\u00e4 ty\u00f6tunneissa ja pankkitileiss\u00e4 virheellisyyksi\u00e4. T\u00e4st\u00e4 seurasi, ett\u00e4 ajettaessa palkanlaskenta-ajo SAP HR -j\u00e4rjestelm\u00e4ss\u00e4, tulokset olivat virheellisen tiedon takia v\u00e4\u00e4rin, vaikka itse ajon logiikka olisikin oltu testattu toimivan t\u00e4ydellisesti.<\/p>\n<p>Esimerkkin\u00e4 tiedonsiirron teknisiin periaatteisiin (kohta 3 yll\u00e4 olevassa listassa) liittyvist\u00e4 haasteista toimii suomalaisten teleoperaattoreiden kapasiteetin, VR:n maksup\u00e4\u00e4telaitteiden ja maksukorttien <a href=\"http:\/\/en.wikipedia.org\/wiki\/EMV\" target=\"_blank\" rel=\"noopener\">EMV-standardin<\/a> vaatimusten keskin\u00e4iset riippuvuudet, jonka takia VR p\u00e4\u00e4tti lopettaa Visa Electronin hyv\u00e4ksymisen junissa (ks. <a href=\"http:\/\/yle.fi\/uutiset\/vr_lopettaa_visa_electronin_kayton_junissa\/5055372\" target=\"_blank\" rel=\"noopener\">YLE<\/a>). Ongelman syyn\u00e4 lienee, ett\u00e4 joko Visa Electron -kortille pankin online-tarkistuksen vaativa EMV-standardi tai VR:n maksup\u00e4\u00e4telaite ei salli sellaisia teknisi\u00e4 viiveit\u00e4 (latensseja), pakkausta tai protokollaa, jolla tietoj\u00e4rjestelm\u00e4kokonaisuus toimisi varmuudella suomalaisten mobiiliverkkojen kattavuudella ja kapasiteetilla. T\u00e4st\u00e4 seuraa, ett\u00e4 Visa Electron ei toimi aina junassa, vaikka tietosis\u00e4ll\u00f6n rakenne ja tiedon k\u00e4sittelys\u00e4\u00e4nn\u00f6t onkin pilkuntarkkaan m\u00e4\u00e4ritelty.<\/p>\n<p>Riippuen IT-projektista, tietoj\u00e4rjestelmien v\u00e4liset integraatiot saattavat muodostaa jopa puolet projektin kokonaisty\u00f6m\u00e4\u00e4r\u00e4st\u00e4 (verrattuna siihen, ett\u00e4 teht\u00e4isiin yksi monoliittinen sovellus, mik\u00e4 ei usein ole edes k\u00e4yt\u00e4nn\u00f6ss\u00e4 mahdollista). Siksi on t\u00e4rke\u00e4\u00e4, ett\u00e4 j\u00e4rjestelm\u00e4n toiminnalliset vaatimukset ja k\u00e4ytt\u00f6tapaukset kytket\u00e4\u00e4n integraatioiden suunnitteluun jo projektin aikaisessa vaiheessa. Tietoj\u00e4rjestelm\u00e4integraatioissa onnistumisen varmistamiseksi on olemassa lukuisia teknisi\u00e4 ja metodologisia hyvi\u00e4 k\u00e4yt\u00e4nt\u00f6j\u00e4. Mik\u00e4\u00e4n ei kuitenkaan korvaa t\u00e4rkeint\u00e4 menestystekij\u00e4\u00e4 eli avointa, selke\u00e4\u00e4 ja tehokasta osapuolten (usein eri toimittajien) v\u00e4list\u00e4 viestint\u00e4\u00e4.<\/p>\n<p>Tarvitsetko apua tietoj\u00e4rjestelm\u00e4integraatioissa? <a href=\"https:\/\/www.cheetah.fi\">Tutustu neuvonanto- ja koulutuspalveluihini ja ota yhteytt\u00e4!<\/a><\/p>\n<p><em>Kirjoittaja on&nbsp;<a href=\"https:\/\/www.cheetah.fi\/\">Cheetah Consulting Oy<\/a>:n perustaja ja johtava konsultti Teemu Lepp\u00e4nen. Teemulla on yli 15 vuoden monipuolinen k\u00e4yt\u00e4nn\u00f6n kokemus IT-ratkaisujen toimittamisesta kansainv\u00e4lisiss\u00e4 teknologiayrityksiss\u00e4 ja tarjoaa yrityksens\u00e4 kautta erilaisia IT-neuvonanto- ja koulutuspalveluita.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kaikki nykyp\u00e4iv\u00e4n tietoj\u00e4rjestelm\u00e4kokonaisuudet sis\u00e4lt\u00e4v\u00e4t integraatioita useiden eri tietoj\u00e4rjestelmien v\u00e4lill\u00e4. K\u00e4yt\u00e4nn\u00f6ss\u00e4 tietoj\u00e4rjestelm\u00e4integraatiossa on kyse j\u00e4rjestelmiss\u00e4 olevan tiedon (datan) siirt\u00e4misest\u00e4 j\u00e4rjestelmien v\u00e4lill\u00e4 tietoverkon avulla. Integraatiossa tieto luetaan ohjelmallisesti l\u00e4hdej\u00e4rjestelm\u00e4st\u00e4, jonka j\u00e4lkeen tietoa voidaan muokata ennen sen tallentamista kohdej\u00e4rjestelm\u00e4\u00e4n. Integraatioiden avulla useista tietoj\u00e4rjestelmist\u00e4 koostuva kokonaisuus saadaan tarjoamaan k\u00e4ytt\u00e4jilleen haluttu toiminnallisuus. Esimerkiksi verkkopankissa asioidessaan k\u00e4ytt\u00e4j\u00e4n k\u00e4ytt\u00f6liittym\u00e4 integroituu useisiin taustaj\u00e4rjestelmiin, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,8,4],"tags":[],"_links":{"self":[{"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/posts\/308"}],"collection":[{"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/comments?post=308"}],"version-history":[{"count":29,"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/posts\/308\/revisions"}],"predecessor-version":[{"id":502,"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/posts\/308\/revisions\/502"}],"wp:attachment":[{"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/media?parent=308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/categories?post=308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cheetah.fi\/blog\/wp-json\/wp\/v2\/tags?post=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}