Teknologiat modernien tietojärjestelmäintegraatioiden taustalla

Integraatiot voivat pelastaa liiketoimintasi

Modernit, skaalautuvat ja hallinnassa olevat järjestelmäintegraatiot auttavat parantamaan liiketoimintaprosesseja, sillä ne mahdollistavat eri järjestelmien ja sovellusten sujuvan yhteistyön. Tämä puolestaan johtaa parempaan tiedonhallintaan, nopeampaan tiedonkulkuun ja parempaan päätöksentekoon.

Kun järjestelmät toimivat saumattomasti yhdessä, voit itse keskittyä liiketoimintasi keskeisiin prosesseihin ja saavuttaa parempia tuloksia.

Olemme Adafyllä erikoistuneet vaativien, skaalautuvien monitoimittajaympäristössä toteutettavien integraatioratkaisujen toimittamiseen. Toimimme asiakkaidemme luotettuna integraatiokumppanina.

 
Tämä kirjoitus on kolmas osa blogisarjaa, jossa käsittelen moderneihin tietojärjestelmäintegraatioihin liittyviä ominaisuuksia, hyötyjä ja teknologioita.

Ensimmäisessä osassa keskityttiin “legacy”-integraatioihin: Mitä ne ovat ja miten ne saattavat potkia vastaan pahimmalla mahdollisella hetkellä.

Toisessa osassa tarkasteltiin modernien tietojärjestelmäintegraatioiden tunnusmerkkejä.

Tämä osa syventyy teknologioihin, jotka helpottavat ja mahdollistavat modernit integraatioratkaisut.

Teknologioiden valitseminen moderniin integraatioratkaisuun

 
Kuten edelisessä kirjoituksessa ilmeni, teknologiat ovat moderneissa integraatioissa taustalla. Toimintatavat ja -kulttuuri auttavat teknologiasta riippumatta ottamaan integraatiot haltuun.
 
Teknologiaa ei kuitenkaan kannata unohtaa: Hyvät teknologiavalinnat auttavat toteuttamaan moderneja integraatioympäristöjä tehokkaammin ja ohjaavat kohti toimivampaa kokonaisuutta.
 
Edellisessä kirjoituksessa päädyttiin seuraaviin yhdeksään modernin integraation tunnusmerkkiin:
 
  1. Olemassaolo tiedossa
  2. Salaisuudet hallinnassa
  3. Versiohallinnan alainen
  4. Osa suunniteltua kokonaisuutta
  5. Kuuluu monitoroinnin piiriin
  6. Push
  7. Kestää (ja mahdollistaa) muutokset
  8. Uudelleenkäytettävissä
  9. Aktivoi yhteistyötä
Nyt on tarkoitus lähteä tunnistamaan teknologioita ja työkaluja, jotka edesauttavat näiden tunnusmerkkien saavuttamista. 
 
 
Varsinaisia integraatioihin liittyviä teknologioita valitessa prioriteettilistani näyttää seuraavalta:
 
  1. Avoimet standardit ja avoin lähdekoodi
  2. Skaalautuvuus (on-premise, pilvi, hybrid)
  3. Microsoft ja Azure

Integraatioissa on usein kyse eri järjestelmien välillä tapahtuvasta tiedonsiirrosta ja mikään ei aktivoi tätä paremmin kuin avoimet standardit. Jos mahdollista, kannattaa tämä huomioida jo alkulähteellä, eli vaikkapa uuden ERP:n,  CRM:n tai PDM:n hankinnan yhteydessä. Jos uusi järjestelmäsi ymmärtää standardien perään, integraatioissa on usein säästettävissä useampi euro. Eli jos teknologiaa valitessa on tarjolla varteenotettava avoimiin standardeihin pohjautuva avoimen lähdekoodin ratkaisu, nousee kyseinen teknologia ehdokaslistani kärkeen.

Prioriteettilistan toiselta sijalta löytyy skaalautuvuus, joka tässä kohdin viittaa pääasiassa mahdollisuuteen toteuttaa on-premisen ja pilven välisiä integraatioita ilman suurempaa taistelua. Jos tarjolla ei ole sopivaa avointa teknologiaa, valinta kohdistuu tämän jälkeen usein Microsoftin tarjontaan.

Tämän pohjustuksen jälkeen seuraavana vuorossa on joukko teknologioita ja standardeja, joista integraatioiden yhteydessä voi olla hyötyä. Kannattaa huomioida, että yllä esitelty prioriteettilista vaikuttaa alla olevaan teknologiakatsaukseen: Pääpaino on avoimilla
standardeilla.

 

Suositeltavat ja tutustumisen arvoiset teknologiat

 
 
OpenAPI (Swagger)

Integraatiot pyörivät nykyisin usein rajapintojen ympärillä. Oli tarve sitten tietojen siirto kahden eri järjestelmän välillä hyödyntäen järjestelmien tarjoamia rajapintoja (API Consumer) tai Customer360-tyylisen rajapinnan tarjoaminen raportoinnin käyttöön (API Provider), standardissa muodossa olevat rajapinnat helpottavat elämää. Oikeastaan itse rajapintojen ei tarvitse olla tietyn mittaisia ja mallisia, kunhan ne on on kuvattu standardilla tavalla.

 

Uuden integraation rakentaminen lähtee monesti rajapintakuvauksen pyytämisellä. Valitettavan usein vastauksena tulee PDF-muodossa oleva API-dokumentaatio. OpenAPI auttaa tähän. Se auttaa kuvaamaan järjestelmän tarjoamat rajapinnat standardilla tavalla. OpenAPI on kuin monille aikaisemmilta vuosilta tuttu WSDL, mutta tuotuna REST-rajapintojen pariin. Vaikka OpenAPI ei ole uusi keksintö, harmittavan harva vastaan tuleva järjestelmä hyödyntää sitä. 

 

OpenAPIn vahvuus löytyy teknologian nimestä: Avoin standardi on ohjannut siihen, että ohjelmointikielestä tai integraatioalustasta riippumatta OpenAPI-kuvattujen rajapintojen käyttäminen ja tuottaminen on suoraviivaista. Eli tooling on olemassa, nyt pitäisi vielä saada järjestelmät nykypäivään.

CloudEvents

Aikaisemmissa blogisarjan kirjoituksissa olen puhunut Push-tyylisistä integraatioista. Ajatuksena on, että yöllisten ajastettujen batch-ajojen sijaan integraatiot voisivat käynnistyä kun kohdejärjestelmässä tapahtuu jotain meitä kiinnostavaa. Eventit, webhookit ja viestijonot ovat Push-tyylisten integraatioiden keskiössä.

 

CloudEvents-standardi tekee saman tietojärjestelmien eventeille kuin OpenAPI tekee tietojärjestelmien rajapinnoille: Se tarjoaa standardin muodon eventin kuvaamiseen. CloudEvents on suoraviivainen spesifikaatio, joka ottaa kantaa tietojärjestelmän tuottaman eventin rakenteeseen: Jokaisesta eventistä on löydyttävä muutama pakollinen metatieto, kuten tyyppi, id ja lähdejärjestelmä. Sisältö itsessään voi olla järjestelmän kehittäjän haluamassa muodossa.

 

CloudEvents tehostaa yhteistyötä erityisesti monitoimittajaympäristöissä. Legacy integraatiossa toimittaja A pyytää toimittaja B:tä lähettämään tiedon X toimittaja A:n järjestelmään. Event-pohjaisessa modernimmassa ratkaisussa järjestelmä B lähettää kaikista siinä tapahtuvista ”business eventeistä” tiedon Event Hubiin, johon muut järjestelmätoimittajat voivat tehdä tilauksia heitä kiinnostavista eventeistä. Toimittaja A voi näin itse päättää, mitkä toisen järjestelmän eventeistä ovat heille tärkeitä ja tehdä kyseisistä eventeistä tilauksen haluamaansa kanavaan (HTTPS/Service Bus tms.).

Serverless Workflow Specification

Serverless Workflow Specification on teknologia, jota seuraan, mutta joka ei ole vielä käytössä missään projektissa. Ja vaikka löydynkin Githubin puolelta kyseisen teknologian organisaatiosta, en aktiivisesti ole mukana Serverless Workflown kehittämässä, kunhan joskus vain olen kommentoinut teknologian dokumentteja.

 

Serverless Workflow Specification pyrkii olemaan liima OpenAPI-pohjaisten rajapintojen ja CloudEvents-pohjaisten eventtien välillä. Liima tarkoittaa tässä tapauksessa rajapintoja käyttävän ja eventtejä tuottavan ja hyödyntävän workflown kuvaamista standardoidulla ja pilviriippumattomalla tavalla.

 

Jos Azure Logic Apps tai jokin muu erilaisten workflown kuvaamiseen käytetty teknologia on tuttu, Serverless Workflow Specification pyörii samassa sarjassa, mutta pyrkii olemaan se avoin standardi. Toisin kuin OpenAPI ja CloudEvents, Serverless Workflown osalta joudumme vielä seuraamaan ja jännäämään kuinka isoksi teknologia kasvaa.

Open Telemetry

Modernien integraatioiden kohdalla on puhuttu läpinäkyvyydestä ja siitä, kuinka tärkeää on että integraation olemassaolosta ylipäätään tiedetään. Open Telemetry on avoin standardi, joka pyrkii parantamaan tietojärjestelmien (ja integraatioiden) läpinäkyvyyttä eli monitoroitavuutta.

 

Open Telemetry keskittyy kolmeen monitoroinnin kulmakiveen: Jäljitettävyyteen (Tracing), metriikkaan ja logeihin. Näistä jäljitettävyys on Open Telemetryssä pisimmällä ja tuotantovalmis standardi, metriikka ja logit ovat valmistumassa hieman jälkijunassa. Monitoroinnin osasista kaikki kolme ovat integraatioille tärkeitä. Jäljitettävyys vastaa kysymykseen ”mitä kutsuja integraatio teki eri järjestelmiin ajonsa aikana?”. Metriikka vastaan kysymyksiin ”kuinka monta kertaa integraatio ajettiin viime yönä onnistuneesti?” tai ”kuinka monta komponenttia eilen siirtyi PDM:stä ERP:n suuntaan?”. Logit ovat erityisen tärkeitä, kun haetaan vastausta kysymykseen ”mikä meni pieleen?”.

 

Koska Open Telemetry on standardi, tarjolla on useita eri järjestelmiä, joita voit käyttää monitoroinnissa. Tämä on avointen standardien hienous: Voit valita itsellesi mieleiset työkalut, kunhan tietojärjestelmät ja integraatiot osaavat tuottaa tietoa ulos standardilla tavalla.

Azure KeyVault
 

Azure KeyVault on ensimmäinen teknologia tässä kirjoituksessa, joka ei ole avoimen standardin ja avoimen lähdekoodin ratkaisu. Annettakoon se kyseiselle teknologialle anteeksi, sillä Azure KeyVault on suoraviivainen ja tehokas ratkaisu salaisuuksien taltioimiseen.

 

Aikaisemmin oli puhe tietokantojen connection stringeistä. KeyVault on se paikka, johon nämä tiedot on suoraviivaista tallentaa varmaan säilöön.

Azure API Management (Developer Portal)

Azure API Management on yksi tämän kirjoituksen ”propriety” teknologioita. Azure API Management ei ole täydellinen ratkaisu, mutta ratkaisee hyvin yhden, erityisesti monitoimittajaympäristöissä vastaan tulevan tarpeen: API Catalogin tarjoamisen organisaation sisäisille ja ulkoisille käyttäjille. Azure API Managementin tarjoaman Developer Portalin kautta rajapintojen käyttäjät voivat selata, testata ja tutustua organisaation tarjoamiin rajapintoihin.

 

Azure API Management tarjoaa myös monista eri API Gateway -ratkaisuista tuttuja ominaisuuksia, kuten rajapintoihin tulevien kutsujen ja vastausten transformaatiot, mutta tarvitessasi pelkästään tähän käyttöön ratkaisua, kannattaa hakea vaihtoehtoja esim. Apache APISIXin suunnalta.

Backstage
 

Alunperin Spotifyn toteuttama Backstage on kuin Azure API Managementin Developer Portal, mutta laajemmassa mittakaavassa. Tämä avoimen lähdekoodin projekti keskittyy Service Catalogien rakentamiseen. Erityisen mielenkiintoisen Backstage on monitoimittajaorganisaatioille. Backstagen avulla kumppanit ja tiimit voivat hallinnoida omaa osuuttaan organisaation Service Catalogista.

Lopuksi
 

Yllä luetellut teknologiat ja standardit tehostavat integraatioiden rakentamista, mutta mikä tässä kokonaisuudessa on kokonaisten integraatioalustojen paikka? Integraatioalustoja tuntuu nousevan nykyisin kuin sieniä ja sateella ja Adafynkin suunnalla olemme omaa integraatioalustaa pyöritetty jo useamman vuoden ajan Weik.ion kautta. Eräs asiakas äskettäin hyvin kommentoi, että nykyään jokaisen järjestelmän mukana tulee oma integraatioalusta ja uudelle ei ole tarvetta, koska niitä löytyy talosta jo seitsemän.

 

Suhtaudun lähtökohtaisesti pessimistisesti propertiety teknologioihin pohjautuviin integraatioalustoihin, joiden laajentaminen ja kehittäminen on ainoastaan alustan toimittajan hyppysissä. Toisaalta lähtökohtaisesti positiivisia ajatuksia itseltä löytyy alustoja kohtaan, jotka ovat avointa lähdekoodia eivätkä vie organisaatiota toimittajaloukkuun.

 

Toivottavasti olet viihtynyt tämän moderneihin integraatioihin liittyvän blogisarjan parissa. Otamme mielellämme vastaan vastaväitteitä näihin näkemyksiin tai keskustelemme kanssasi juuri teidän organisaationne integraatioratkaisujen modernoisoinnista.

 
 
Adafy on asiakkaidensa kokenut ja näkemyksellinen integraatio- ja teknologiakehityskumppani. Tässä artikkelisarjassa johdatamme sinut modernien integraatioratkaisujen pariin. Sarjassa on on ilmestynyt kolme osaa ja löydät kaikki osat ja muitakin näkemyksiämme järjestelmäintegraatioista täältä

 

 

 

Chief Technology Officer

Mikael Koskinen
040 592 8946

mikael.koskinen@adafy.com

 

 

 

Adafy on näkemyksellinen ohjelmistokumppani, jonka Microsoft-teknologiaosaaminen on tunnustetusti Suomen huipputasoa.

Kategoriat

Kiirehtiä vai odottaa? Tekoälyä puskee IT-maailmassa tällä hetkellä jokaisesta mahdollisesta kanavasta ja asian sivuuttaminen tuntuu...
Millainen homma? Ohjelmistokehittäjän tehtävässä menestyminen edellyttää kokemusta ohjelmistokehityksestä ja Azure-ympäristössä työskentelystä sekä osaamista ja kokemusta...
Adafyn kasvua tukemaan Helmikuun alussa toivotimme tervetulleeksi uuden adafyläisen. Tommi Flink aloitti meillä Chief Revenue...

Varaa tapaaminen ja ilmainen tarvekartoitus

Jätä yhteystietosi, niin soitamme sinulle ja sovitaan tehokas tapaaminen

Kenttä on validointitarkoituksiin ja tulee jättää koskemattomaksi.
Satu Kuusinen, toimitusjohtaja
Mikael Koskinen, teknologiajohtaja