Vuosien mittaan olen toiminut erilaisissa IT -projekteissa jos jonkinlaisessa roolissa aina toiminnallisesta määrittelystä projektinhallintaan. En ole ollut ”koodari” vaan enneminkin ”konfiguroiva käsien heiluttelija”. Viimeisen viidentoista vuoden aikana valtaosa noista projekteista tai töistä yleisemminkin oli liittynyt Master Datan hallintaan ja ylläpidon työvälineisiin. Luonnollisestikin pitkään yhden aiheen piirissä pyörineenä alkaa kaipaamaan vaihtelua, uusia haasteita ja oppeja ja kiinnosti se varsinainen toteuttaminenkin käsien heiluttelun sijaan. Pilveenkin pitäisi päästä, mutta mille kulmalle?
Integraatiot ovat aina olleet jossain määrin kiinnostavia ja “niitähän on kaikkialla”. Siksi pidin integraatioita yhtenä vahvimmista vaihtoehdoista uudeksi tekemisen painopistealueeksi ja oppimisen suunnaksi. Pienen pohdinnan jälkeen, noin puolitoista vuotta sitten uudeksi suunnaksi valikoituikin Azure-integraatioiden kehittäminen.
Logic Apps on Microsoftin Azuressa tarjoama serverless integraatioalusta, jonka graafisessa Designer-käyttöliittymässä järjestelmien / tietovirtojen integraatio on varsin helppoa toteuttaa. Käytännössä designerilla integraation rakentaminen on kuin työnkulkua määrittäisi, integraatio muodostetaan toimintojen ketjusta, sarjasta peräkkäisiä ja/tai rinnakkaisia toimintoja. Erilaisten prosessissa käytettävien toimintojen (action) lisäksi Logic App tarjoaa käyttöön valtavan määrän liittimiä (connector) järjestelmiin ja dataan kytkeytymiseen.
Yksinkertaisen integraation voi siis rakentaa designer näkymässä kirjoittamatta lainkaan koodia. Esimerkkinä alla olevassa yksinkertaisessa Compose toiminnossa luodaan yhden työntekijän tiedoista JSON objekti, kaikki violetilla kuvakkeella varustetut arvot kuten ”EmailAddress” ovat aikaisemman suodata-toiminnon tuotoksia, jotka on saatu tuohon valittua yksinkertaisesti listalta klikkaamalla.

Jos ja kun on tarve muokata arvoa kuten esim. EmploymentEndDate:lla niin se onnistuu Workflow Definition Language funktioilla joita editorissa voi avustetusti tehdä:
if(empty(items(‘For_each’)?[’employment’]?[‘endDate’]),”,formatDateTime(items(‘For_each’)?[’employment’]?[‘endDate’],’yyyy-MM-dd’))
Muistuttavat siis melkoisesti esimerkiksi Excelin kaavoja. Helppoja tehdä, mutta helposti käy niin, että näitä funktioita tulee useita sisäkkäin, jolloin funktiot eivät ole enää editorissa niin helppolukuisia.
Kun ei ole sitä koodari-taustaa niin hieman alkuun mietitytti tuleeko tästä kovin vaikeata, päinvastoin onkin ollut yllättävän helppoa. Logic Apps on alustana ollut helppo oppia ja jo muutaman yksinkertaisen toteutuksen jälkeen on ollut helppoa siirtyä tekemään haastavampia toteutuksia.
Jos Azure-integraatiot kiinnostavat, niin INTEGRATE REMOTE 2021 -konferenssi lähestyy – Esa Vanhanen-Varho kirjoitti perusteluja yhdessä järjestäjien kanssa, miksi kannattaisi osallistua. Lisäksi rekisteröinnin yhteydessä voit saada 20% alennuksen lipuista käyttämällä “INT2021-PARTNER-Bilot” koodia.

