Johdanto integrointiin, webcast 2. Talvivaara/PKAMK. Kevät 2009.
(Kiinnostaako koulutuksemme tai materiaalimme käyttäminen omassa opetuksessa? Älä epäröi tai älä käytä kysymättä, vaan ota rohkeasti yhteyttä - jarmo.talvivaara@pkamk.fi)
2. Sisältöä Perusteita, käsitteitä, historiaa Organisaatiot, liiketoiminta ja integraatio Organisaation sisäinen näkökulma, organisaatioiden väliset näkökulmat Erilaiset organisaatiot? Erilaiset tietojärjestelmät? Prosessinäkökulma ja integraatio? Tyypilliset integraatioratkaisut, hyödyt & haasteet
3. Mitä järjestelmäintegraatio on? Tyypillisesti – erityisesti yritysjärjestelmien kohdalla – järjestelmäintegraatiosta käytetään eng. termiä ”EAI” eli ”Enterprise Application Integration” ”Hallittu, automatisoitu – yleensä ohjelmistollinen – ratkaisu järjestelmien väliseen yhteiskäyttöön/yhteistoiminnan rakentamiseen” EAI ei ole yksittäinen tekniikka tai tuote, vaan AJATTELUTAPA Toki: teknisillä ratkaisuilla ne toteutetaan Kuitenkin: kokonaiskuva organisaatiosta (mm. liiketoiminnan tarpeet) pidettävä mukana koko ajan!
4. Integroinnin historiasta lyhyesti (1/3) Mutta; ei sama kuin LYHYT HISTORIA!! Huolimatta siitä, että järjestelmäintegraatio yksi suurimpia viime-, tämän ja etenkin tulevien vuosien (EAI, SOA/ESB, orchestration, BPM, jne.) ”hypeistä” ja it-trendeistä => Integrointi-hankkeita jo ’50-60 –luvuilta saakka (!!!) Perus ”jenkki-ilmiö”; USA:n puolustusvoimien projekteista siviiliprojekteiksi, jonka jälkeen ”poika merille ja maailmalle” Kiinnostusta integrointiin ollut tietojärjestelmien alusta alkaen Huom! paineet tulleet tyypillisesti liiketoiminnan näkökulmasta Ratkaisujen kehittäminen mennyt tekniikan kehittymisen ehdoilla (mainframet, paketoidut sovellukset, jne.)
5. Integroinnin historiasta lyhyesti (2/3) Paketoitujen sovellusten probleemi? Kokonaisratkaisuiden toimitus -> järjestelmät laajoja, mutta suljettuja kokonaisuuksia – suljettuja järjestelmiä, ei yhteisiä rajapintoja Miten ”integraatiovalmiita” ratkaisuja vielä esim. 2000-luvun taitteessa mietittiin? Internetin kehityksen merkitys! EAI-ajattelu ja -tekniikat kehittyneet rinnan mm. Unixin ja internetin myötä (TCP/IP, Arpanet, jne) Globaalin EAI-arkkitehtuurin ”backbone”! Internetin myötä boostia yhteisille standardeille, rajapinnoille, jne.
6. Integroinnin historiasta lyhyesti (3/3) Tietoyhteiskuntien kehitys, globalisaatio, jne. Rajat aukeavat entisestään ja tiedon merkityksen kasvu mitä erilaisimmissa prosesseissa => paineita sujuvaan tiedonkulkuun eri järjestelmien välillä! Muutoksiin pystyttävä yleensä reagoimaan … HETI! Tämän vuosikymmenen loppupuolisko voimakasta EAI-ratkaisujen kehittymisaikaa Alkupuolisko olikin ”application islandien” vuosikymmentä… mm. EDI, XML, WS ja muut yhteiset standardit voimakkaita ajureita kehitykselle Buumia pukkaa? => ”DOT-COM ja WAP” (~1999) => ”SOA ja BI” (~2009)”??? Toivottavasti kymmenessä vuodessa opittu jotakin ;)
7. Mitä järjestelmäintegraatio on? Muutamia eri koulukuntia, eri termejä => jotkut eivät miellä EAI:n sisältävän kaikkea – etenkin business-lähtöisyyttä tai palveluorientaatiota Tällä(kin) kurssilla käytetään lyhyitä ”integraatio”, ”integrointi” ja ”EAI”-termejä => tarkoitettakoon sillä kaikkea tietojärjestelmien integrointiin liittyvää Nykyisin mukaan otetaan termi ”liiketoimintalähtöisyys” => etenkin yritysjärjestelmissä tämä enemmän kuin perusteltua Jokunen vuosi vallalla ollut trendi, jossa siirrytään integroinnin teknisisistä kysymyksistä kohti liiketoiminta- ja etenkin prosessilähtöistä integraatiota => Mitenkäs se eräs mummo sanoi mainoksessa?? ….. … Hyvä, hyvä, hyvä!!! Ts. tekniikka, välineet, osaaminen ja asenteet alkaa olla kypsä business-lähtöiseen ajatteluun järjestelmien integroinnissa
8. Miten järjestelmäintegraatiota? Yksinkertaistaen: Kaksi tai useampi järjestelmä … vaihtaa tietoja keskenään Kutsuvat toistensa palveluita, käyttävät toisten toimintoja hyväkseen Toimivat muulla tavoin vuorovaikutuksessa Yksinkertainen integraatio-ratkaisu: Luetaan tietoa järjestelmästä A (Tarvittaessa: käsitellään tietoa) Välitetään tieto järjestelmälle B B A Pohdittavaa: Kuka vaiheista 1-3 vastaa?
9. Esimerkkejä integrointitavoista? Manuaalinen integrointi Tietojen lukeminen ja käsin syöttäminen toiseen järjestelmään.. Sovitaanko sellaisesta kampanjasta, että tästä ei enää ”integrointina” puhuttaisi ;) Tehotonta, hidasta, virhealtista, jäykkää (kaupanpäälle: jäykistää prosesseja), epämiellyttävää, jne. Positiivisia argumentteja ei paljoa tule mieleen… Soveltuu: harvinaiset/satunnaiset, kertaluontoiset, vähätöiset caset – ei muuta A B Gallup: oletteko koskaan törmänneet tällaiseen? ;)
10. Esimerkkejä integrointitavoista? Siirtotiedostot (file transfer) Järjestelmät tuottavat (manuaalisesti/automaattisesti, eräajona/reaaliajassa) määrämuotoisia tiedostoja, joissa järjestelmien välillä siirrettävät tiedot kuljetetaan Lähdejärjestelmässä (A) oltava export/vienti – toiminto datan saattamiseksi siirrettävään muotoon Oltava jettu tallennuspaikka tai muu toimitustapa Kohdejärjestelmässä oltava import/tuonti-toiminto siirtotiedoston datan lukemiseksi Välttämättä aina – vaikka olisi tarve - ei päästä reaaliaikaiseen ja automaattiseen tiedonsiirtoon A B export import
11. Esimerkkejä integrointitavoista? Tietokanta-pohjainen integrointi (data integration) Eri sovellusten tietoja vaihdetaan tietokanta-tasolla Vaihtoehtoja useita, esim. Yhteinen tietokanta (”shared database”) kaikilla osapuolilla? Molemmilla omat kannat, joiden välillä tiedot päivitetään (”replikoidaan”, kuten kuvassa)? Molemmilla omat kannat, mutta yhteinen data jaetussa kannassa? A B
12. Esimerkkejä integrointitavoista? Viestinvälitys ja palvelukutsut (messaging, remote procedure call) Sovellukset vaihtavat tietoja keskenään verkon kautta viestien avulla Matala taso: Java/JMS, .NET/MSMQ, jne Korkea taso: SOAP/WebServices, XML-RPC, jne Tehokas, joustava, paikasta riippumaton, muutoshelppous, Joustava myös integroitaessa isoa joukkoa järjestelmiä toisiinsa Mahdollistaa automatiikan ja reaaliaikaisuuden Asynkronisuus/synkronisuus Asettaa melko kovat vaatimukset käytettäville järjestelmille, rajapinnoille, alustoille (ts. IT-infralle) Hyödyntää yleensä sovellusten valmista sovelluslogiikkaa! A B
13. Esimerkkejä integrointitavoista? Käytettävät integraatiotavat riippuvat tietenkin käytettävistä järjestelmistä Lähdejärjestelmä, integraatiokerros, kohdejärjestelmä Myös ratkaisuissa tehtävän ”käsityön määrä” riippuu käytettävistä järjestelmistä Tehdään täysin käsin itse? Käytetään täysin valmiita ratkaisuja? Jotain siltä väliltä? Oikeanlaisen IT-infran merkitystä ei voi korostaa liikaa! BTW, jos integraatio on yksi merkittävä tapa kehittää IT:n kykyä liiketoiminnan tukemisessa… … onko liiketoimintaa tukevan IT-infran asenne integraatioon mahdollisimman ”tukeva” Eri integrointi-tapoihin, -tekniikoihin, -alustoihin ja -työkaluihin tutustumme tarkemmin kurssin seuraavissa moduuleissa
14. Organisaatiot, tietojärjestelmät ja integraatio Integroinnissa tyypillisesti kyse .. eri tietojärjestelmien eri organisaatioiden ja erilaisten liiketoiminta-tarpeiden näkökulmista tapahtuvasta kehitystyöstä Eri organisaatioilla, eri tietojärjestelmillä ja eri liiketoiminnan alueilla erilainen kypsyys/valmius integraation hyödyntämiseen Kuitenkin: Tarpeita lähes kaikilla! Erityisesti voinee korostaa organisaatioita mm. joilla tarve kehittää sisäisiä tai ulkoisia prosesseja jotka voimakkaasti verkostoituneita joiden toiminnassa tiedolla on suuri merkitys
15. Erilaiset tietojärjestelmät & integraatio Eritysesti ns. valmiiksi integroidut sovellukset: esim. SAP: in tuotteet, jossa mukana CRM, ERP, fin. Management, jne, piirteitä samojen sovellusten sisällä Yhden sovelluksen sisäinen integraatio harvoin riittävää Laajoista, useita ominaisuuksia sisältävistä ohjelmistoista huolimatta… Useat osapuolet (eri organisaatiot, jne.) => varauduttava verkon tai muuta kautta tapahtuvaan tiedonsiirtoon sekä Useisiin erilaisiin järjestelmiin (eri versiot, eri valmistajat, eri tuotteet, eri tekniikat, eri rajapinnat, eri tapa integroitua, laajempi/suppeampi tuki integrointiratkaisuille, etc.) HUOM! Usein yksittäinen organisaatiokaan ei pärjää yhdellä ratkaisulla?!
16. Erilaiset tietojärjestelmät & integraatio Usein integraatio aloitetaan sisäisestä (ns. vertikaalisesta integraatiosta) Organisaation omat, sisäiset tietojärjestelmät integroidaan tarvittavilta osiltaan yhteen esim. eCommerce + CRM + ERP + laskutus Tarpeet (ja usein myös ratkaisut) hyvin tapauskohtaisia => organisaation liiketoiminnasta lähteviä Tyypillisesti tavoitteena tehostaa organisaation toimintaa (prosesseja!) Esim. käsityön määrän vähentäminen, virheiden vähentäminen, tiedonkulun parantaminen, toiminnan mittaamisen ja arvioinnin nopeuttaminen, päätöksenteon ”reaaliaikainen” tukeminen Web-kauppa ERP MES
17. Erilaiset organisaatiot ja integraatio Eri organisaatioilla erilaiset tarpeet järjestelmien integroimiseen Osalla ei ollenkaan tarpeita (harvinaista) Osalla – ehkä paljonkin – integroitavaa, mutta ei suoraa voimakasta vaikutusta liiketoimintaan Osalla kehittymisen, jopa yleensäkin toimimisen kannalta elinehto! Tarpeet voivat olla sisäisiä (omat prosessit) tai ulkoisia (integrointi toisten org. kanssa) Integroinnissa kannattaa aina tarkastella organisaation sisäisen näkulman lisäksi myös ulkoisia tarpeita – jos niitä ei nyt ole, niin huomenna on!
18. Erilaiset organisaatiot ja integraatio Esimerkkejä? Kaksi organisaatiota, tiivistä yhteistyötä (esim. alihankinta, partnership) Tarve yhdistää esim. ERP-ratkaisuja SCM-ketjun sujuvuuden aikaansaamiseksi Horisontaalinen (SCM-ketjun suuntainen) integraatio Organisaatio 1 Organisaatio 2 ERP Ostotilaus (esim. SAP) ERP Myyntitilaus (esim. Dynamics NAV) SCM-tilaus-toimitusketjun hallinta
19. Erilaiset organisaatiot ja integraatio – verkostojen huomiointi Eri organisaatioiden välinen integraatio rajoittuu harvoin kahden osapuolen välisiin tarpeisiin Usein integraatio toteutettava tai ainakin hyvä suunnitella N kpl osapuolia huomioden Esim. ns. point-to-point-integraatio Kaksi osapuolta = 1 kpl yhteyksiä Kolme osapuolta = 3 kpl yhteyksiä Neljä osapuolta = 6 kpl yhteyksiä (!!) Viisi osapuolta = 10 kpl yhteyksiä (!!!!) Jossakin vaiheessa verkosto haastava hallita, ainakin manuaalisesti Ratkaisuna siirtyminen point-to-point:ista esim. ESB-palveluväyliin 1 2 3 2 1 1 2 3 4 3 4 5
20. Erilaiset organisaatiot ja integraatio – verkostojen huomiointi Integroinnin näkökulmasta, organisaatioiden väliset yhteydet ovat tietojärjestelmien välisiä yhteyksiä ts. yhteyksiä esim. kahden organisaation välillä voi olla useampiakin, jos useampi järjestelmä integroidaan toisiinsa Eri järjestelmien välillä voi olla tarve käyttää erilaisia integraatio-ratkaisuja, joten kahden organisaation välillä voi olla useita (>1) erityyppistä yhteyttä Organisaatio 1 Organisaatio 2 ERP ERP CRM eCommerce
21. Prosessit & integraatio Tehokkaita prosesseja eivät ole kauniit vuokaaviot ja samanaikaisesti toisiinsa yhteensopimattomat, toimintokohtaiset, erilliset järjestelmät Well.. Mikäs tilanne eri organisaatioissa on tällä hetkellä? Aidosti prosessiorientoitunut organisaatio asettaa voimakkaat vaatimukset käytössä olevien tietojärjestelmien väliselle yhteistoiminnalle: integroinnilta ei voida välttyä vaikka haluttaisiin => prosessit haastavat IT-ratkaisut todella => integraatio usein ratkaisuna haasteisiin Ilman prosessien luomaa painetta, vaatimuksia integrointiin ei välttämättä edes tunnisteta? Esille voi tulla todella eksoottisiakin integrointitarpeita Jos tarpeet tulevat prosessin toimesta, tuleeko tarpeisiin vastata?
22. Prosessit & integraatio Miksi painetta toimintoja (markkinointi, myynti, tuotanto, laskutus, ylläpito, logistiikka, r&d, jne.) ylittäviin tietojärjestelmäratkaisuihin? Yksi esimerkki: katso lähes mitä tahansa prosessikaaviota => prosessissa mukana useita toimintoja (”cross-functionality”), joiden pitäisi toimia yhdessä? Prosessit yleensä hyvä työkalu … tiedonsiirron joustavuuden testaamiseen, nykytilan ratkaisujen riittävyyden arviointiin, integraatiotarpeiden kartoittamiseen! Vaatimuksia tiedonkululle => integroinnille Prosessiajatteluun liittyvä ”olisihan-se-hyvä-noin-mutta-ei-meidän-järjestelmät-taivu” –kritiikki tulee uuteen valoon?
24. Tekniikkaa, liiketoimintaa vai molempia? Huomioidaan molemmat Tekniikka mahdollistaa – liiketoiminta antaa vaatimuksia Asiakaslähtöisyys ja prosessiajattelu sparraa myös järjestelmäintegraatio-ratkaisujen tekoa Muuten voidaan teknisten haasteiden vuoksi helposti syyllistyä ”miksi-suunnitella-pidemmälle-kun-ei-tiedetä-miten-tämä-yksikään-toimii”-ajatteluun Ratkaisut voivat olla lyhytnäköisiä, ”karvahattu”- tai ”purukumi”-osastoa Ratkaisut voivat olla riittämättömiä, vanhentuneita, jne. jopa jo valmistuessaan?!? Ratkaisujen pitää sietää liiketoiminnan muuttumista!! => Ei ”ASAP” vaan JIT -> On demand! Ajattele aina kokonaisuutta, vaikka aloittaisit pienestä Tällöin integrointitarpeita katsotaan kokonaisuuden kannalta, ei pelkästään yksittäisten sovellusten liitoksen rajoittuneesta näkökulmasta
25. Miksi sekä yksityiskohtia mutta myös kokonaisuutta? (1/2) Miten tässä tapauksessa integraatiohaasteet nähdään, ratkaisut tehdään, laajuus otetaan huomioon, jne? ”Miten ERP- ja CRM-järjestelmämme saadaan integroitumaan?” ????
26. Miksi sekä yksityiskohtia mutta myös kokonaisuutta? (2/2) Entä nyt kun, kokonaisuus osoittautuikin seuraavaksi? OK ???? ???? ???? ???? ???? ???? ???? ???? ???? ????