tovar

Čo je webhook a ako ho používate?

Webhooky umožňujú interakciu medzi webovými aplikáciami pomocou vlastných spätných volaní.

Používanie webhookov umožňuje webovým aplikáciám automaticky komunikovať s inými webovými aplikáciami.

Na rozdiel od tradičných systémov, kde jeden systém (subjekt) neustále žiada iný systém (pozorovateľ) o nejaké údaje, webhooky umožňujú pozorovateľovi automaticky vkladať údaje do systému subjektu vždy, keď dôjde k udalosti.

Tým sa eliminuje potreba neustáleho sledovania subjektom. Webhooky fungujú výhradne na internete a preto všetka komunikácia medzi systémami musí prebiehať formou HTTP správ.

Používanie webhookov

Webhooky sa spoliehajú na prítomnosť statických URL odkazujúcich na API v systéme subjektu, ktoré je potrebné upozorniť, keď sa v systéme pozorovateľa vyskytne udalosť. Príkladom by mohla byť webová aplikácia navrhnutá na zhromažďovanie a správu všetkých objednávok zadaných na Amazon účte používateľa. V tomto scenári Amazon vystupuje ako pozorovateľ a webová aplikácia Custom Order Management Webapp pôsobí ako subjekt.

Namiesto toho, aby vlastná webová aplikácia pravidelne volala rozhrania Amazon API na kontrolu vytvorenej objednávky, webhook vytvorený vo vlastnej webovej aplikácii by Amazonu umožnil automaticky odoslať objednávku novo vytvorenú vo webovej aplikácii prostredníctvom registrovanej adresy URL. Preto, aby bolo možné používať webhooky, subjekt musí mať určené adresy URL, ktoré prijímajú upozornenia na udalosti od pozorovateľa. To znižuje značné zaťaženie objektu, pretože volania HTTP sa medzi týmito dvoma stranami uskutočňujú iba vtedy, keď dôjde k udalosti.

Systémy založené na prieskume verejnej mienky verzus systémy založené na webhooku

Keď pozorovateľ zavolá webhook subjektu, subjekt môže s týmito novo odoslanými údajmi podniknúť príslušné kroky. Webhooky sa zvyčajne vykonávajú prostredníctvom požiadaviek POST na konkrétnu adresu URL. Požiadavky POST vám umožňujú odoslať objektu dodatočné informácie. Okrem toho sa dá použiť aj na identifikáciu medzi množstvom rôznych možných udalostí namiesto vytvárania samostatných webových adries webhooku pre každú udalosť.

Pracovný postup webhooku

Ak chcete implementovať prichádzajúce webhooky do vašej aplikácie, musíte vykonať tieto základné kroky:

  • Odkryte koncový bod API na vašom aplikačnom serveri, ktorý prijíma a spracováva volania HTTP POST
  • Poskytnite prístup k tomuto koncovému bodu pre potenciálnych používateľov webhooku. Koncový bod API zavolá aplikáciu zdroja údajov vždy, keď sú splnené príslušné podmienky.
  • Spracujte údaje POST a vráťte odpoveď iniciátorovi hovoru webhooku, aby ste označili stav. Tento krok môže alebo nemusí byť prítomný.

Webhooky vs. API

Webhooky aj API majú za cieľ nadviazať komunikáciu medzi aplikáciami. Existuje však niekoľko zreteľných výhod a nevýhod používania webhookov oproti rozhraniam API na dosiahnutie integrácie aplikácií.

Inovačný bulletin
Nenechajte si ujsť najdôležitejšie novinky o inováciách. Prihláste sa na ich odber e-mailom.

Webhooky majú tendenciu byť lepšími riešeniami, ak sú nasledujúce body relevantnejšie pre implementovaný systém:

  • Ak sa údaje na serveri často aktualizujú, webhooky bývajú lepšími riešeniami, pretože odpadá zbytočné volania API z klienta na server. Podľa resthooks.com 98,5 % prieskumov API vyjde nazmar.
  • Webhooky umožňujú lepšie riešenia pre systémy, ktoré vyžadujú aktualizácie údajov takmer v reálnom čase. Prieskumy API sa zvyčajne spúšťajú v nastavených intervaloch, ktoré môžu brániť aktualizácii aktuálnych údajov. Pri webhookoch sa aktualizácie odosielajú zo servera klientovi hneď po spustení webhooku.

Používanie API by malo byť v niektorých iných situáciách uprednostňované pred webhookmi.

Veci na zváženie

Dôležité veci, ktoré je potrebné zvážiť pri používaní rozhraní API na webhookoch, sú:

  • Použitie API umožňuje lepšie prispôsobenie toho, kedy sa má dotazovať na údaje zo servera a tiež koľko údajov sa má dotazovať zo servera. Množstvo údajov, ktoré sa majú dotazovať, sa riadi veľkosťou prieskumu API. Pri webhookoch server vo všeobecnosti rozhoduje o údajoch a o tom, kedy budú odoslané.
  • Pre systémy s vysoko premenlivými údajmi (ako sú systémy v reálnom čase, systémy IoT atď.) môže byť prieskum založený na API lepšou voľbou, pretože pri každom volaní API existuje vysoká pravdepodobnosť použiteľných odpovedí.
  • Je možné, že údaje odoslané zo servera prostredníctvom webhooku budú klientom úplne ignorované v prípade, že sú koncové body REST offline. V prípade, že server nemá mechanizmus na opakovanie takýchto neúspešných odoslaní, aktualizácie údajov sa úplne stratia.

Aby ste sa vysporiadali s možnosťou straty údajov odoslaných zo servera, keď sa webhook prepne do režimu offline, môžete tieto hovory archivovať pomocou frontu správ udalostí. Príklady platforiem, ktoré poskytujú takúto funkčnosť, zahŕňajú RabbitMQ o Služba Amazon Simple Queue Service (SQS). Obe sú navrhnuté tak, aby fungovali ako sprostredkujúce zariadenia na ukladanie správ, ktoré zabránia možnosti zmeškania hovoru cez webhook.

Ercole Palmeri

Inovačný bulletin
Nenechajte si ujsť najdôležitejšie novinky o inováciách. Prihláste sa na ich odber e-mailom.

Nedávne články

Výhody farebných stránok pre deti - svet mágie pre všetky vekové kategórie

Rozvíjanie jemnej motoriky pomocou vyfarbovania pripravuje deti na zložitejšie zručnosti, ako je písanie. Na farbenie…

2 mája 2024

Budúcnosť je tu: Ako námorný priemysel prináša revolúciu do globálnej ekonomiky

Námorný sektor je skutočnou globálnou ekonomickou veľmocou, ktorá smerovala k 150 miliardovému trhu...

1 mája 2024

Vydavatelia a OpenAI podpisujú dohody o regulácii toku informácií spracovávaných umelou inteligenciou

Minulý pondelok Financial Times oznámili dohodu s OpenAI. FT licencuje svoju žurnalistiku svetovej triedy…

Apríla 30 2024

Online platby: Takto budete vďaka streamovacím službám platiť navždy

Milióny ľudí platia za streamovacie služby a platia mesačné predplatné. Je bežný názor, že si…

Apríla 29 2024