Za razliko od tradicionalnih sistemov, kjer en sistem (subjekt) še naprej poziva drugega sistema (opazovalca) za nekatere podatke, webhooki omogočajo opazovalcu, da samodejno potisne podatke v subjektov sistem, kadar koli se zgodi dogodek.
To odpravlja potrebo po stalnem spremljanju subjekta. Webhooki v celoti delujejo na internetu, zato mora vsa komunikacija med sistemi potekati v obliki sporočil HTTP.
Webhooki se zanašajo na prisotnost statičnih URL-jev, ki kažejo na API-je v subjektovem sistemu, ki jih je treba obvestiti, ko pride do dogodka v sistemu opazovalca. Primer tega bi bila spletna aplikacija, zasnovana za zbiranje in upravljanje vseh naročil, oddanih na uporabnikovem računu Amazon. V tem scenariju Amazon deluje kot opazovalec, Webapp Custom Order Management pa kot subjekt.
Namesto da bi spletna aplikacija po meri občasno klicala Amazonove API-je, da bi preverila, ali je ustvarjeno naročilo, bi webhook, ustvarjen v spletni aplikaciji po meri, Amazonu omogočil samodejno oddajo novo ustvarjenega naročila v spletni aplikaciji prek registriranega URL-ja. Če želite torej omogočiti uporabo webhookov, mora subjekt imeti določene URL-je, ki sprejemajo obvestila o dogodkih od opazovalca. To zmanjša znatno obremenitev objekta, saj se klici HTTP izvajajo med obema stranema le, ko pride do dogodka.
Ko opazovalec pokliče subjektov webhook, lahko subjekt izvede ustrezno dejanje s temi na novo predloženimi podatki. Običajno se webhooki izvajajo prek zahtev POST na določen URL. Zahteve POST vam omogočajo pošiljanje dodatnih informacij objektu. Poleg tega ga je mogoče uporabiti tudi za prepoznavanje med številnimi različnimi možnimi dogodki, namesto da bi za vsak dogodek ustvarili ločene URL-je webhook.
Če želite implementirati vhodne webhooke v svoji aplikaciji, morate izvesti naslednje osnovne korake:
Tako webhooki kot API-ji imajo cilj vzpostaviti komunikacijo med aplikacijami. Vendar pa obstaja nekaj jasnih prednosti in slabosti uporabe Webhookov pred API-ji za doseganje integracije aplikacij.
Webhooki so ponavadi boljše rešitve, če so naslednje točke pomembnejše za implementirani sistem:
V nekaterih drugih situacijah bi morali imeti uporabo API-ja prednost pred webhooki.
Pomembne stvari, ki jih morate upoštevati pri uporabi API-jev na Webhooks, so:
Če se želite spoprijeti z možnostjo izgube podatkov, poslanih s strežnika, ko webhook prekine povezavo, lahko uporabite čakalno vrsto za sporočanje dogodkov, da arhivirate te klice. Primeri platform, ki zagotavljajo takšno funkcionalnost, vključujejo RabbitMQ o Amazonova preprosta čakalna vrsta (SQS). Oba sta zasnovana tako, da delujeta kot vmesni prostor za shranjevanje sporočil, ki preprečuje možnost zgrešenega klica webhook.
Ercole Palmeri
Prejšnji ponedeljek je Financial Times objavil dogovor z OpenAI. FT licencira svoje vrhunsko novinarstvo ...
Milijoni ljudi plačujejo storitve pretakanja in plačujejo mesečne naročnine. Splošno mnenje je, da si…
Coveware by Veeam bo še naprej zagotavljal storitve odzivanja na incidente kibernetskega izsiljevanja. Coveware bo nudil forenziko in zmogljivosti sanacije ...
Prediktivno vzdrževanje revolucionira sektor nafte in plina z inovativnim in proaktivnim pristopom k upravljanju obratov.…