I modsætning til traditionelle systemer, hvor et system (emne) bliver ved med at polle et andet system (observatør) for nogle data, tillader webhooks observatøren automatisk at skubbe data ind i emnets system, hver gang en begivenhed indtræffer.
Dette eliminerer behovet for konstant overvågning af emnet. Webhooks opererer udelukkende på internettet og derfor skal al kommunikation mellem systemer foregå i form af HTTP-meddelelser.
Webhooks er afhængige af tilstedeværelsen af statiske URL'er, der peger på API'er i emnets system, som skal underrettes, når en hændelse opstår i observatørens system. Et eksempel på dette ville være en web-app designet til at indsamle og administrere alle ordrer, der er placeret på en brugers Amazon-konto. I dette scenarie fungerer Amazon som observatør, og Custom Order Management Webappen fungerer som emnet.
I stedet for at få den brugerdefinerede webapp til med jævne mellemrum at kalde Amazon API'erne for at kontrollere, om der er oprettet en ordre, vil en webhook, der er oprettet i den brugerdefinerede webapp, give Amazon mulighed for automatisk at indsende en ny oprettet ordre i webappen via en registreret URL. Derfor, for at muliggøre brugen af webhooks, skal emnet have udpegede URL'er, der accepterer begivenhedsmeddelelser fra observatøren. Dette reducerer en betydelig belastning af objektet, da HTTP-kald kun foretages mellem de to parter, når en hændelse opstår.
Når emnets webhook er ringet op af observatøren, kan emnet tage den passende handling med disse nyligt indsendte data. Typisk udføres webhooks via POST-anmodninger til en specifik URL. POST-anmodninger giver dig mulighed for at sende yderligere oplysninger til objektet. Derudover kan den også bruges til at identificere blandt en række forskellige mulige begivenheder i stedet for at oprette separate webhook-URL'er for hver begivenhed.
For at implementere indgående webhooks på din applikation skal du udføre følgende grundlæggende trin:
Både webhooks og API'er har som mål at etablere kommunikation mellem applikationer. Der er dog nogle distinkte fordele og ulemper ved at bruge Webhooks frem for API'er for at opnå applikationsintegration.
Webhooks har en tendens til at være bedre løsninger, hvis følgende punkter er mere relevante for det implementerede system:
Brug af API'et bør foretrækkes frem for webhooks i nogle andre situationer.
De vigtige ting at overveje for at bruge API'er på Webhooks er:
For at håndtere muligheden for at miste data sendt fra en server, når webhook går offline, kan du bruge en begivenhedsmeddelelseskø til at arkivere disse opkald. Eksempler på platforme, der leverer en sådan funktionalitet omfatter RabbitMQ o Amazons Simple Queue Service (SQS). Begge er designet til at fungere som mellemliggende beskedlagringsfaciliteter, der undgår muligheden for at gå glip af et webhook-opkald.
Ercole Palmeri
Flådesektoren er en sand global økonomisk magt, som har navigeret mod et 150 milliarder marked...
Sidste mandag offentliggjorde Financial Times en aftale med OpenAI. FT licenserer sin verdensklasses journalistik...
Millioner af mennesker betaler for streamingtjenester og betaler månedlige abonnementsgebyrer. Det er almindelig opfattelse, at du...
Coveware by Veeam vil fortsætte med at levere responstjenester til cyberafpresning. Coveware vil tilbyde kriminaltekniske og afhjælpende funktioner...