In tegenstelling tot traditionele systemen waarbij het ene systeem (subject) een ander systeem (waarnemer) blijft peilen voor bepaalde gegevens, stellen webhooks de waarnemer in staat automatisch gegevens in het systeem van het subject te pushen wanneer er zich een gebeurtenis voordoet.
Dit elimineert de noodzaak voor constante monitoring door het onderwerp. Webhooks werken volledig op internet en daarom moet alle communicatie tussen systemen plaatsvinden in de vorm van HTTP-berichten.
Webhooks zijn afhankelijk van de aanwezigheid van statische URL's die verwijzen naar API's in het systeem van de proefpersoon die op de hoogte moeten worden gebracht wanneer er zich een gebeurtenis voordoet in het systeem van de waarnemer. Een voorbeeld hiervan is een webapp die is ontworpen om alle bestellingen die op het Amazon-account van een gebruiker zijn geplaatst, te verzamelen en te beheren. In dit scenario fungeert Amazon als waarnemer en de Custom Order Management Webapp als onderwerp.
In plaats van dat de aangepaste webapp periodiek de Amazon API's aanroept om te controleren of er een bestelling is gemaakt, zou een webhook die in de aangepaste webapp is gemaakt, Amazon in staat stellen om automatisch een nieuwe bestelling in de webapp in te dienen via een geregistreerde URL. Om het gebruik van webhooks mogelijk te maken, moet het onderwerp daarom aangewezen URL's hebben die gebeurtenismeldingen van de waarnemer accepteren. Dit vermindert een aanzienlijke belasting van het object, aangezien HTTP-oproepen alleen worden gemaakt tussen de twee partijen wanneer er een gebeurtenis plaatsvindt.
Zodra de webhook van de proefpersoon wordt aangeroepen door de waarnemer, kan de proefpersoon de juiste actie ondernemen met deze nieuw ingediende gegevens. Meestal worden webhooks gedaan via POST-verzoeken naar een specifieke URL. Met POST-verzoeken kunt u aanvullende informatie naar het object sturen. Bovendien kan het ook worden gebruikt om een aantal verschillende mogelijke gebeurtenissen te identificeren in plaats van voor elk evenement afzonderlijke webhook-URL's te maken.
Om inkomende webhooks in uw toepassing te implementeren, moet u de volgende basisstappen uitvoeren:
Zowel webhooks als API's hebben als doel communicatie tussen applicaties tot stand te brengen. Er zijn echter enkele duidelijke voor- en nadelen van het gebruik van webhooks ten opzichte van API's om applicatie-integratie te bereiken.
Webhooks zijn over het algemeen betere oplossingen als de volgende punten relevanter zijn voor het geïmplementeerde systeem:
In sommige andere situaties verdient het gebruik van de API de voorkeur boven webhooks.
De belangrijke zaken waarmee u rekening moet houden bij het gebruik van API's op webhooks zijn:
Om het hoofd te bieden aan het verlies van gegevens die vanaf een server zijn verzonden wanneer de webhook offline gaat, kunt u een wachtrij voor gebeurtenisberichten gebruiken om die oproepen te archiveren. Voorbeelden van platforms die dergelijke functionaliteit bieden, zijn onder meer RabbitMQ o Amazon's Simple Queue Service (SQS). Beide zijn ontworpen om te fungeren als intermediaire berichtenopslagfaciliteiten die voorkomen dat u een webhook-oproep mist.
Ercole Palmeri
Afgelopen maandag maakte de Financial Times een deal met OpenAI bekend. FT geeft licenties voor haar journalistiek van wereldklasse...
Miljoenen mensen betalen voor streamingdiensten en betalen maandelijkse abonnementskosten. De algemene mening is dat je…
Coveware by Veeam zal responsdiensten op het gebied van cyberafpersingsincidenten blijven leveren. Coveware zal forensische en herstelmogelijkheden bieden...
Voorspellend onderhoud zorgt voor een revolutie in de olie- en gassector, met een innovatieve en proactieve benadering van fabrieksbeheer.…