Toisin kuin perinteisissä järjestelmissä, joissa yksi järjestelmä (kohde) kyselee jatkuvasti toiselta järjestelmältä (tarkkailijalta) joitakin tietoja, webhookien avulla tarkkailija voi automaattisesti työntää tietoja kohteen järjestelmään aina, kun jokin tapahtuma tapahtuu.
Tämä eliminoi kohteen jatkuvan valvonnan tarpeen. Webhookit toimivat kokonaan Internetissä ja siksi kaiken järjestelmien välisen viestinnän on tapahduttava HTTP-sanomien muodossa.
Webhookit luottavat siihen, että kohteen järjestelmässä on staattisia URL-osoitteita, jotka osoittavat API:ille, joille on ilmoitettava, kun havaitsijan järjestelmässä tapahtuu tapahtuma. Esimerkki tästä on verkkosovellus, joka on suunniteltu keräämään ja hallitsemaan kaikkia käyttäjän Amazon-tilillä tehtyjä tilauksia. Tässä skenaariossa Amazon toimii tarkkailijana ja Custom Order Management Webapp toimii kohteena.
Sen sijaan, että mukautettu verkkosovellus kutsuisi ajoittain Amazon-sovellusliittymiä tarkistaakseen luodun tilauksen, mukautettuun verkkosovellukseen luotu webhook antaisi Amazonille mahdollisuuden lähettää automaattisesti verkkosovelluksessa juuri luodun tilauksen rekisteröidyn URL-osoitteen kautta. Siksi webhookien käytön mahdollistamiseksi kohteella on oltava nimetyt URL-osoitteet, jotka hyväksyvät tapahtumailmoitukset tarkkailijalta. Tämä vähentää objektin merkittävää kuormitusta, koska HTTP-puhelut tehdään kahden osapuolen välillä vain tapahtuman sattuessa.
Kun tarkkailija kutsuu kohteen webhookia, hän voi ryhtyä tarvittaviin toimiin näiden äskettäin lähetettyjen tietojen kanssa. Yleensä webhookit tehdään POST-pyyntöjen kautta tiettyyn URL-osoitteeseen. POST-pyyntöjen avulla voit lähettää objektiin lisätietoja. Lisäksi sitä voidaan käyttää myös tunnistamaan useiden eri mahdollisten tapahtumien joukosta sen sijaan, että luotaisiin erillisiä webhook-URL-osoitteita kullekin tapahtumalle.
Jotta voit ottaa saapuvat webhookit käyttöön sovelluksessasi, sinun on suoritettava seuraavat perusvaiheet:
Sekä webhookien että sovellusliittymien tavoitteena on luoda viestintä sovellusten välillä. Webhooksin käyttämisessä sovellusliittymiin verrattuna sovellusintegraation saavuttamiseksi on kuitenkin joitain selviä etuja ja haittoja.
Webhookit ovat yleensä parempia ratkaisuja, jos seuraavat kohdat liittyvät paremmin toteutettuun järjestelmään:
Sovellusliittymän käyttöä tulee suosia webhookien sijaan joissakin muissa tilanteissa.
Tärkeitä huomioitavia asioita käytettäessä sovellusliittymiä Webhooksissa ovat:
Voit käsitellä palvelimelta lähetettyjen tietojen katoamisen mahdollisuutta, kun webhook siirtyy offline-tilaan, käyttämällä tapahtumaviestijonoa näiden puhelujen arkistointiin. Esimerkkejä tällaisia toimintoja tarjoavista alustoista ovat mm RabbitMQ o Amazonin Simple Queue Service (SQS). Molemmat on suunniteltu toimimaan välittäjänä viestintävälineinä, jotka estävät webhook-puhelun puuttumisen.
Ercole Palmeri
Veeamin Coveware tarjoaa jatkossakin kyberkiristystapahtumien reagointipalveluita. Coveware tarjoaa rikosteknisiä ja korjaavia ominaisuuksia…
Ennakoiva huolto mullistaa öljy- ja kaasualan innovatiivisella ja ennakoivalla lähestymistavalla laitosten hallintaan.…
Britannian CMA on antanut varoituksen Big Techin käyttäytymisestä tekoälymarkkinoilla. Siellä…
Euroopan unionin rakennusten energiatehokkuuden parantamiseksi laatima "Green Houses" -asetus on saanut lainsäädäntöprosessinsa päätökseen…