Tieto Corporation Public Järjestelmäintegroinnin lähitulevaisuus Senkun asennetaan osajärjestelmät yhteen ja se on siinä? Tampereen Testauspäivä 2014-06-03, TTY Erkki A. Pöyhönen Lead Test Manager Tieto, CSI, Testing Service Area erkki.poyhonen@tieto.com
Sisällys Johdanto 3 Kokonaisuutta monella tasolla ja useammalla tekniikalla 4 Tekeminen vs. Kokoaminen 5 Integrointistrategiat 6 Järjestelmien tekeminen on jo muuttunut 7 Ketterä konteksti 8 Alihankinta & Pakettiohjelmistot 9 Integrointiarkkitehtuurit 10 Integrointia juu, mutta missä on testaus? 11 Integrointia eri osapuolten näkökulmasta 12 Testauksen luonne muuttuu 13 2 Tieto Corporation Järjestelmäintegroinnin lähitulevaisuus 2014-06-03
Johdanto Integrointi kuuluu järjestelmähankkeisiin Komponenttien rakentamista ja integrointia ei voi erottaa toisistaan kovinkaan kauas Integrointi on paitsi asioiden yhteen liittämistä myös palautemekanismi (kuten testaus yleensä) Järjestelmäintegrointi usein on huonosti johdettua Hajaantuu eri osapuolille: Toimittaja / Integraattori, Alihankkija, Asiakas (tietohallinto & liiketoiminta) Näkyvin osa integroinnista on parhaiten tuettua; asennetaan osajärjestelmät samaan ympäristöön, yhteiset tietovarastot ja ulkoiset yhteydet Huonoimmin tuettua ja vajaimmin hallittua ovat liiketoimintaprosessia lähellä oleva testaus ja tuotantokelpoisuuden seuranta 3 Tieto Corporation Järjestelmäintegroinnin lähitulevaisuus 2014-06-03
Tieto Corporation Public Kokonaisuutta monella tasolla ja useammalla tekniikalla Tekeminen vs. Kokoaminen Integrointistrategiat
Tekeminen vs. Kokoaminen Järjestelmät koostuvat komponenteista Komponentti voi olla koodiyksikkö (funktio, luokka, ), toiminnallisuus (kirjasto, palvelu), muu arkkitehtuurin elementti (tietovarasto, välittäjä, ), osajärjestelmä tai ulkoinen liittymä Kullakin komponentilla on ainakin rakennusvaiheessa jokin omistaja Rakennettujen tai ostettujen komponenttien yhteen liittäminen ei tunnetusti ole triviaalia (integrointivirheet yleisiä) Organisaation kokonaisjärjestelmässä komponentit ovat usein syntyneet eri aikaan Jonkin projektin tuottama järjestelmä päätyy osajärjestelmäksi kokonaisjärjestelmään 5 Tieto Corporation Järjestelmäintegroinnin lähitulevaisuus 2014-06-03
Integrointistrategiat Likimain koskaan ei ole hyvä idea laittaa kaikkia liikkuvia osia kerralla yhteen ( Big Bang ei ole hyvä integrointistrategia) Integrointijärjestys liittyy vahvasti projektin komponenttien rakentamisjärjestykseen ja toisaalta projektin tulosten käyttöönoton mahdolliseen vaiheistukseen Järjestelmä- ja sovellusarkkitehtuurit ja näihin liittyvät teknologiat tukevat omanlaistaan integrointia Yleensä vahva tavoite on välttää yllätyksiä ja pitää saavutettu tuotantokypsyys Pahin uhka on kaaos teknisessä mielessä Sopivan integrointistrategian ja järjestyksen valinta edellyttää näkemystä integroinnin asiakkaan prioriteeteista ja toisaalta integrointiin liittyvistä riskeistä 6 Tieto Corporation Järjestelmäintegroinnin lähitulevaisuus 2014-06-03
Tieto Corporation Public Järjestelmien tekeminen on jo muuttunut Ketterä konteksti Alihankinta & Pakettiohjelmistot Integrointiarkkitehtuurit
Ketterä konteksti Ketterässä kontekstissa yleisesti käytetty käsitteistö on usein jäänyt matalan skaalautuvuuden käsitteistöön Story, tiimi, asiakas Käytännössä arkinen peruskäytäntö, Jatkuva integrointi (CI, Continuous Integration) perustuu useimmin matalan tason testiautomaatiolle CI on kriittinen automaation soveltamiselle ja tasaiselle kehitysvauhdille Ketterässä kontekstissa hallintavälineiden takana oleva oletus tuntuu olevan, että integrointi on tekninen tarkistus kutsurajapintojen yhteensopivuudesta Luonnollisesti päätösvalta on tiimillä, joka voi määritellä haluamansa tasoisia integrointitestejä Tieto Corporation
Alihankinta & Pakettiohjelmistot Yleinen konteksti projektiliiketoiminnassa Organisaatiot: asiakkaan liiketoimintajohto, tietohallinto, ei liiketoiminta-alueita; toimittajan kehitys ja testaus Projekti tuottaa muutoksen asiakkaan kokonaisjärjestelmään Toimittajalla voi olla alihankkijoita, joka tekee toimittajasta vastuullisen integraattorin asiakkaaseen päin Asiakas ei kiinnosta kuka koodasi mitäkin, vaan integraattori on vastuussa kaikesta Ns. pakettiohjelmistoissa usein hankalinta ei olekaan uusi toiminnallisuus vaan sen kytkeminen vanhan kokonaisjärjestelmän osiin ERP muodostuu mittatikuksi kaikille muille järjestelmille ERP-integrointi on nykyään keskeinen ICT-toimialataito keskisuurille ja suurille asiakkaille toimitettaessa 9 Tieto Corporation Järjestelmäintegroinnin lähitulevaisuus 2014-06-03
Integrointiarkkitehtuurit Perinteinen monoliittiarkkitehtuuri ei tukenut integroitavuutta eikä komponenttien ylläpitoa Nykyiset hajautusarkkitehtuurit tukevat hyvin komponenttien joustavaa päivittämistä, löyhiä palveluliitoksia ja arkkitehtuurillisten elementtien sijoittelun tuunaamista Kerrosarkkitehtuuri: sopii loistavasti eri teknologioiden yhteensovittamiseen sekä vanhojen järjestelmien piilottamiseen osaksi uutta kokonaisjärjestelmää Löyhät integrointitekniikat (esim. SOA) mahdollistavat löyhien komponenttien joustavan hankinnan eri suunnista sekä eri aikaan ja eri tekniikoilla tuotettujen komponenttien yhteen liittämisen Yhteensopivuusongelmista on ratkaistu nyt alemman tason ongelmat Toistaiseksi konstit ovat liian ohuet hallita sovellustason yhteensopivuutta Vrt. tietoliikenteen OSI-malli 10 Tieto Corporation Järjestelmäintegroinnin lähitulevaisuus 2014-06-03
Tieto Corporation Public Integrointia juu, mutta missä on testaus? Integrointia eri osapuolten näkökulmasta Testauksen luonne muuttuu Entäs se lähitulevaisuus
Integrointia eri osapuolten näkökulmasta Monenlaista testaustarvetta Monitoimittajahanke Jos kukaan ei ole integraattori, asiakkaan pitää ryhtyä sellaiseksi; haettu vastuu tarkoittaa, että kukaan ei huolehdi Asiakas-toimittajasuhde Järjestelmäintegrointi on usein viimeinen mahdollisuus ottaa kantaa toimituskypsyyteen ennen luovutusta asiakkaalle Liian harvoin asiakkaallakaan on selkeä kuva tuotantokypsyyden tuntomerkeistä vaan vahdataan pelkkää toimituksen sisältöä ( onko kaikki sovitut käyttötapaukset mukana? ) Hyväksymistestaus Monessa organisaatiossa järjestelmäintegrointi on osa hyväksymistestauksen valmistelua Käyttäjät eivät tyydy tekniseen yhteensopivuuteen: käyttäjäkokemus, Tuotanto Tuotannon odotuksen yhteensopivuudelle menevät yli rajapintojen yhteensopivuuden Esimerkiksi uusi osajärjestelmä voi sotkea varmistusrutiinit, kapasiteetin hallinnan, katastrofista toipumisen, yms ei-toiminnalliset tuotannon laadut Tieto Corporation
Testauksen luonne muuttuu Siinä missä integrointi alemmilla tasoilla on teknisen yhteensopivuuden testaamista, olisi suotavampaa ohjata fokus ylemmillä tasoilla lähemmäs asiakkaan liiketoimintaa Suunnittelu, kattavuus ja raportointi liiketoimintaprosessin suuntaisesti Selkeä työnjako esim. järjestelmätestauksen ja järjestelmäintegroinnin välillä Odotukset fokukselle ja kattavuudelle Yleinen virhe on vaatia sopimusvaiheessa liian vähän & seurata kehityksen aikana liian ohuesti, ja siksi päätyä tekemään liian matalan tason testausta (sama pätee järjestelmäintegrointiin ja hyväksymistestaukseen) Odotetaanko integroinnin tuovan jotain uutta informaatiota? Kelpuutus (validointi) vs. Todennus (verifiointi) 13 Tieto Corporation Järjestelmäintegroinnin lähitulevaisuus 2014-06-03
Entäs se lähitulevaisuus: pitäisi Teknisen yhteensopivuuden protokollan on pakko nousta Esim. WSDL-rajapinta on staattinen ja liian matalalla tasolla Paljon integrointiongelmia Mutta HTTP-rajapinnat eivät ihan heti häviä, kannattaa opetella SOA & REST Integrointifokuksen tulee olla enemmän liiketoimintaprosessissa Ei yleisiä kuvausmenetelmiä laajassa käytössä Asiasta ei puhuta Kokonaisjärjestelmän hallinta paranee Arkkitehtuurikuvausten, ja siis myös integrointien dokumentointi on luvattoman huonolla tasolla Edelleen suurissa taloissa ei välttämättä ole edes luetteloa talon yhteisistä järjestelmistä 14 Tieto Corporation Järjestelmäintegroinnin lähitulevaisuus 2014-06-03
Tieto Corporation Public Erkki A. Pöyhönen Lead Test Manager Tieto, CSI, Testing Service Area erkki.poyhonen@tieto.com