Koukussa
Julkaistu 2.11.2021
Ilkka ehtikin jo kirjoittamaan (Työnkulkujen automaatio – ArcGIS Field Maps ja Microsoft Power Automate) webhook-tekniikan integroinnista, joten pitihän sitä sitten kokeilla. Se on tekniikka, jolla järjestelmäkehityksessä voidaan mahdollisesti korvata relaatiotietokannassa käytetty liipaisin (trigger), kun siirrytään pilvipalvelupohjaiseen tietovarastoon (ArcGIS Online feature service).
Välitöntä tapahtumaa tämä ei tuota. Mutta jos minuutin kuluessa tuleva tieto riittää, niin se on kiva kun ArcGIS Online ilmoittaa tehdyt muutokset aineistossa haluttuun paikkaan, jossa sovelluksemme kuuntelee ja on valmiina toimimaan sen mukaisesti.
Kuuntelija
Integraatioalustat tarjoavat monia mahdollisuuksia, mitä voidaan tehdä. Sen lisäksi sovelluskehittäjällä on täysi vapaus tehdä, mitä vain palvelusta saatavalla viestillä. Esimerkiksi Pythonilla on helppo tehdä web-palvelu, joka ottaa vastaan viestit, jotka ArcGIS Online lähettää webhookissa määriteltyyn osoitteeseen. Tämän jälkeen sovellus voi tehdä, mitä vain saamallaan tiedolla, esim. tarkistaa ja välittää viestejä eteenpäin erilaisiin rajapintoihin.
Alla oleva visualisointi on napattu vanhasta postauksesta: www.esri.com/arcgis-blog/products/arcgis-enterprise/administration/webhooks-dont-call-us-well-call-you.
Hyötykuorman käsittely on toteutuksen vaativin tehtävä, joka vaatii työvaiheita kuten käy esimerkiksi ilmi postauksessa Create a hosted feature service webhook, jossa on käytetty Integromat palvelua sähköpostin lähetykseen tai Automate workflows in ArcGIS Field Maps with Power Automate postaus, jossa on kuvattu prosessi käyttäen Microsoft Power Automate alustaa:
Mutta näppärä sovelluskehittäjä toteuttaa tuon kuuntelijan miten ja millä tahansa sovelluskehitysalustalla, minä kokeilin tämän https://replit.com/-alustalla, joka toimi oikein kivasti. Prosessi näyttää hieman pelottavalta ja pitkältä, mutta Python skriptinä lopulta kuitenkin yksinkertainen ja kerran tehtynä helposti uudelleenkäytettävissä.
Hyödyntäminen
Joten lopulta vaikein asia on se, mihin hyötykuormaa ja sen avulla saatua tietoa tapahtumista tai muokatuista kohteista käytetään. Mutta erilaisia integraatio tarpeita järjestelmien ja prosessien välillä eri pilvipalveluita käytettäessä tulee melko varmasti vastaan, kun digitalisoidaan toimintaa.
Jari Siiskonen
Esri Finland
GIS Specialist