VESA AHOLA Järjestelmäintegraatio 14.3.2013
Agenda 1. Minä 2. Integraatio? 3. Esimerkkijärjestelmä 4. Integraatioprojektit
Minä Ikä 32 vuotta Kotoisin Parolasta, asun Hämeenlinnassa TTY:llä 2001-2010 Pääaine ohjelmistotuotanto Pitkä sivuaine hypermedia Alayhdistystoimintaa (NääsPeksi, TTYkitys, TTSS)
Minä Töihin Enersoftille 2004 Vaihto Digialle 2009, ensimmäinen integraatioprojekti Solitalle 2012, integraatiotiimiin Nyt menossa integraatioasiantuntijaksi Maintpartnerille
Solita https://www.solita.fi/ Liikevaihto 2012 27 miljoonaa Yli 220 ammattilaista, jatkuvaa kasvua Toimipisteet Tampereella ja Helsingissä Suomen 7. paras työpaikka (http://www.greatplacetowork.fi/ ) http://blogit.solita.fi/rajapinnalla/
Integraatio?
Integraatio Ohjelmistot kirjoittavat tiedostoja/tietokantadataa/sanomia Usein tarve lukea yhden ohjelman kirjoittamaa dataa toisessa ohjelmassa Point-to-point vs. keskitetty ratkaisu
Integraatio Integraatioratkaisu pyrkii keskittämään tiedonvälityksen eri järjestelmien välillä Yhtenäiset käytännöt Oma osansa projektikokonaisuutta On myös projekti: Määrittely, suunnittelu, toteutus, testaus...
Integraatio
Integraatio
Esimerkkijärjestelmä
Esimerkkijärjestelmä Asema, joka kerää säätietoa Käyttäjällä on ohjelma, joka näyttää säätietoja Ohjelma hakee säätiedot asemalta CSVtiedostona levyjaon välityksellä 002;010001;014;38203; 002;020002;011;57500; 002;030003;008;92402;
Esimerkkijärjestelmä
Esimerkkijärjestelmä Myöhemmin liitetään toinen asema Toinen asema on uutta mallia, ja se tekee XMLtiedostoja ja lähettää niitä sähköpostilla tilaajille <weather> <id>002</id> <sensor>010001</sensor> <temperature>014</temperature>
Esimerkkijärjestelmä
Esimerkkijärjestelmä Käyttäjän ohjelmaa pitää muokata, jotta se osaa luoda samanlaisen näkymän molemmista datalähteistä Ohjelman toimittaja laskuttaa työstä -> kustannuksia
Esimerkkijärjestelmä Uusi käyttäjä haluaa dataa asemilta Uusi käyttäjä ei halua/pääse levyjakoon käsiksi Toteutetaan 1. käyttäjän ohjelmaan sähköpostin lähetys, jotta 2. käyttäjä saa CSV-tiedostot Toteutetaan 2. käyttäjän ohjelmistoon CSV-tiedostojen lukeminen Molemmista tulee kustannuksia
Esimerkkijärjestelmä
Esimerkkijärjestelmä Myöhemmin tulee uusi asema, joka tarjoaa HTTPyhteyden yli säätietoja 2. käyttäjän ohjelmaa muokataan käyttämään HTTP-kutsua Kustannuksia 1. käyttäjän ohjelmiston toimittaja ei ole enää pystyssä Joko suuria kustannuksia uuden toimittajan myötä tai ollaan ilman
Esimerkkijärjestelmä
Mitäs nyt? Miten siirtoteitä valvotaan? Kuka vastaa häiriötilanteista? Miten jäljitetään, jos jotain menee siirroissa pieleen? Miten hallitaan muutokset? Voidaanko muutoksia tehdä vielä vuosien päästä?
Uusi vaatimus Sääraportti internetin yli käyttäjille Mahdollisimman tuoreista tiedoista Miten liitetään kaikkiin tietolähteisiin?
Esimerkkijärjestelmä
Miten hallitaan? Mitä jos sääasemia olisi 10? 100? 1000? Mitä jos käyttäjiä olisi 10? 100? 1000? Mitä jos säätietojen sijaan siirretäisi esim. rahaa?
Esimerkki todellisuudesta Jokainen viiva on tiedonsiirto Jokainen laatikko on järjestelmä
Integraatio esimerkkijärjestelmään Vastaanottaa säätiedot Hoitaa muunnokset Välittää tiedot eteenpäin tilaajien käyttämiä kanavia pitkin
Esimerkkijärjestelmä
Integraatioväylä Yksinkertainen toteutus
Integraatioväylä Muuntaa sanomia muodosta toiseen Tarjoaa erilaisia rajapintoja tietoon Voi rikastaa tietoa Esim. hakea jonkin aseman säätietoon lisätietoa toiselta asemalta ja sulauttaa nämä tiedot yhteen Loki ja virheilmoitukset keskitetysti
Integraatioväylä Point-to-point sovellusten välille muodostuva tiukka sidonta Muutos yhdessä -> muutos kaikissa Integraatioväylää käyttämällä järjestelmä näkee vain palveluväylän rajapinnan Ei tarvitse välittää tiedon reitittämisestä tai muuntamisesta
Integraatioprojektit
Integraatioprojektit Ohjelmistoprojekti Ns. normaali ohjelmistoprojekti käsittelee vain omaa tietomalliaan, integraatioprojekti ennenkaikkea muiden Valtaosa IT-budjeteista kuluu nykyisen ympäristön kehittämiseen Toimiva integraatioratkaisu vähentää kehityskuluja pitkän ajan kuluessa
Integraatioprojektit Hyvin suunnitellut integraatiot kuvaavat liiketoiminnan tarpeita Jotta asiakkaalle voidaan lähettää karhukirje, pitää kirjanpitoohjelman saada asiakkaan laskutettu saldo, maksetut laskut ja asiakkaan yhteystiedot Karhukirjeen lähetys on liiketoiminnan tarve, haettavat tiedot integroitavia liittymiä Pääsee toimimaan asiakasrajapinnassa
Integraatioprojektit Integraatio usein eri toimittajalta Yksi toimittaja lisää Lisää hallinnointia Lisää aikatauluttamista Kustannukset Alkukustannukset nousevat Integraatiotyökalujen mahdolliset lisenssit Ylläpito, valvonta Vaihtoehtona on, ettei näitä tehdä lainkaan Myöhemmin tehtävät muutokset huomattavasti helpompia ja siten halvempia
Integraatioprojektit Ketterät menetelmät? Integraatiot eivät etene ilman viestejä Välietappeja tarvitaan järjestelmiltä, jotta integraatioita voidaan tehdä Ketterää kehitystä voidaan tehdä kunkin toimittajan sisäisessä kehityksessä, mutta integraatioprojekti tarvitsee integroitavilta järjestelmiltä tuloksia
Integraatioprojektit Tärkeyttä ei aina osata huomioida Alkukustannukset pelottavat Liiketoiminnan voi olla vaikea hahmottaa kokonaisuutta Koodarit koodaa kyllä, ei me tällaista työkalua tarvita Integraatioasiantuntijoita joillakin toimijoilla vähän Ei osata edes myydä
Integraatioprojektit http://blogit.solita.fi/rajapinnalla/10-tapaa-varmistaa-epaonnistunut-integraatioprojekti/ 1. Lähde projektiin teknologia edellä. Prosessi ja liiketoiminnan tarpeet selviävät sitten ajan myötä. 2. Määrää aikataulu ennen määrittelyä. 3. Ajattele, että integraatio on vain liittymä. Se ei liity käyttöönotettavan ratkaisun toiminnallisuuteen. 4. Aliarvioi kustannukset. 5. Älä varaa aikaa testaukseen, luota tehtyihin spesifikaatioihin ja niiden noudattamiseen. 6. Kuvittele, että toinen osapuoli tietää ja ymmärtää asiat samalla tavalla kuin sinäkin. 7. Älä sitouta kaikkia osapuolia (esim. sovellus- ja käyttöpalvelutoimittajia) mukaan projektiin. 8. Aloita tietoliikenneyhteyksien rakentaminen vasta projektin loppuvaiheessa. 9. Älä hukkaa kallista aikaa palaverointiin toisten toimijoiden kanssa. 10. Älä huolehdi huomisesta. Toteutettu ratkaisu on itse paras dokumentaationsa.
Työkaluja Oracle SOA Suite Iso, paljon käytetty Oraclen tuote Oracle, hyvässä ja pahassa Microsoft BizTalk Microsoftin kilpailija SOA Suitelle Vielä jotain puutteita, esim. Oracle-tietokantojen tuessa Mule Open source Saatavilla ilmainen CE- ja kaupallinen EE-versio Muita Progress Sonic IBM WebSphere
Yhteenveto Järjestelmäintegraatio tarjoaa hallitun, keskitetyn keinon liittää järjestelmiä toisiinsa Olennainen osa ohjelmistoalaa Ei aina osata ottaa riittävästi huomioon Alkukustannusten jälkeen säästää paljon aikaa ja vaivaa ylläpidossa ja kehityksessä
Kysyttävää? Hä?
@SolitaOy Vesa Ahola wtw@iki.fi KIITOS.