Cikkek

Mi az a webhook és hogyan kell használni?

A webhookok lehetővé teszik a webalapú alkalmazások interakcióját egyéni visszahívások használatával.

A webhookok használatával a webalkalmazások automatikusan kommunikálhatnak más webalkalmazásokkal.

Ellentétben a hagyományos rendszerekkel, ahol az egyik rendszer (alany) folyamatosan lekérdez egy másik rendszert (megfigyelőt) bizonyos adatokért, a webhookok lehetővé teszik a megfigyelő számára, hogy automatikusan tolja be az adatokat az alany rendszerébe, amikor egy esemény bekövetkezik.

Ez kiküszöböli az alany folyamatos megfigyelésének szükségességét. A webhookok teljes egészében az interneten működnek, ezért a rendszerek közötti minden kommunikációnak HTTP-üzenetek formájában kell történnie.

Webhookok használata

A webhookok az alany rendszerében lévő API-kra mutató statikus URL-címek jelenlétére támaszkodnak, amelyeket értesíteni kell, ha esemény történik a megfigyelő rendszerében. Példa erre egy webalkalmazás, amelyet a felhasználó Amazon-fiókján leadott összes megrendelés összegyűjtésére és kezelésére terveztek. Ebben a forgatókönyvben az Amazon megfigyelőként, a Custom Order Management Webapp pedig alanyként működik.

Ahelyett, hogy az egyéni webalkalmazás rendszeresen felhívná az Amazon API-kat a létrehozott rendelés ellenőrzésére, az egyéni webalkalmazásban létrehozott webhook lehetővé tenné az Amazon számára, hogy automatikusan elküldje a webalkalmazásban újonnan létrehozott rendelést egy regisztrált URL-címen keresztül. Ezért a webhookok használatának engedélyezéséhez az alanynak rendelkeznie kell kijelölt URL-ekkel, amelyek elfogadják a megfigyelő eseményértesítéseit. Ez csökkenti az objektum jelentős terhelését, mivel a HTTP-hívások csak esemény bekövetkezésekor indulnak a két fél között.

Lekérdezés alapú rendszerek kontra webhook alapú rendszerek

Miután a megfigyelő meghívta az alany webhookját, az alany megteheti a megfelelő műveletet az újonnan beküldött adatokkal. A webhookok általában egy adott URL-re küldött POST-kérésekkel történnek. A POST kérések lehetővé teszik, hogy további információkat küldjön az objektumnak. Ezenkívül számos lehetséges esemény azonosítására is használható, ahelyett, hogy minden eseményhez külön webhook URL-t hozna létre.

Webhook munkafolyamat

A bejövő webhookok alkalmazásához a következő alapvető lépéseket kell végrehajtania:

  • Tegyen közzé egy API-végpontot az alkalmazáskiszolgálón, amely fogadja és feldolgozza a HTTP POST-hívásokat
  • Hozzáférés biztosítása ehhez a végponthoz a potenciális webhook-felhasználók számára. Az API-végpont egy adatforrás-alkalmazást hív meg, amikor a vonatkozó feltételek teljesülnek.
  • Feldolgozza a POST-adatokat, és visszaküldi a választ a webhook-hívás kezdeményezőjének az állapot jelzésére. Ez a lépés lehet, vagy nincs jelen.

Webhooks vs. API-k

Mind a webhookok, mind az API-k célja az alkalmazások közötti kommunikáció kialakítása. Van azonban néhány határozott előnye és hátránya a Webhooks használatának az API-kkal szemben az alkalmazásintegráció elérése érdekében.

Innovációs hírlevél
Ne maradjon le az innovációval kapcsolatos legfontosabb hírekről. Regisztráljon, hogy megkapja őket e-mailben.

A webhookok általában jobb megoldások, ha a következő pontok relevánsabbak a megvalósított rendszer szempontjából:

  • Ha az adatok gyakran frissülnek a szerveren, a webhookok általában jobb megoldást jelentenek, mivel megszűnnek a klienstől a szerver felé irányuló szükségtelen API-hívások. A resthooks.com szerint az API felmérések 98,5%-a kárba megy.
  • A webhookok jobb megoldásokat tesznek lehetővé olyan rendszerek számára, amelyek közel valós idejű adatfrissítést igényelnek. Az API lekérdezések általában meghatározott időközönként futnak, ami megakadályozhatja az élő adatok frissítését. A webhook esetén a frissítéseket a szerver azonnal elküldi az ügyfélnek, amint a webhook aktiválódik.

Más esetekben előnyben kell részesíteni az API használatát a webhookkal szemben.

Megfontolandó dolgok

A legfontosabb szempontok, amelyeket figyelembe kell venni az API-k Webhookon való használatához:

  • Az API használatával jobban testreszabható, hogy mikor kell lekérdezni a szerverről származó adatokat, és azt is, hogy mennyi adatot kell lekérdezni a szerverről. A lekérdezendő adatok mennyiségét az API lekérdezés mérete határozza meg. A webhookok esetében általában a szerver dönti el az adatokat és azok elküldésének idejét.
  • Erősen változó adatokkal rendelkező rendszerek esetén (például valós idejű rendszerek, IoT-rendszerek stb.) az API-alapú lekérdezés jobb megoldás lehet, mivel minden API-hívás esetén nagy a valószínűsége a használható válaszoknak.
  • Lehetséges, hogy a szerverről webhook segítségével küldött adatokat az ügyfél teljesen figyelmen kívül hagyja, ha a REST végpontok offline állapotban vannak. Abban az esetben, ha a kiszolgáló nem rendelkezik olyan mechanizmussal, amely újra megpróbálja az ilyen sikertelen leküldéseket, az adatfrissítések teljesen elvesznek.

A kiszolgálóról küldött adatok elvesztésének elkerülése érdekében, amikor a webhook offline állapotba kerül, használhat egy eseményüzenet-sort a hívások archiválására. Példák az ilyen funkciókat biztosító platformokra: Nyúl MQ o Az Amazon Simple Queue Service (SQS). Mindkettőt úgy tervezték, hogy közvetítő üzenettárolóként működjenek, elkerülve a webhook-hívások kihagyásának lehetőségét.

Ercole Palmeri

Innovációs hírlevél
Ne maradjon le az innovációval kapcsolatos legfontosabb hírekről. Regisztráljon, hogy megkapja őket e-mailben.

Friss cikkek

A színező oldalak előnyei gyerekeknek – a varázslatok világa minden korosztály számára

A finom motoros készségek színezéssel történő fejlesztése felkészíti a gyerekeket olyan összetettebb készségekre, mint az írás. Kiszínezni…

Május 2 2024

A jövő itt van: Hogyan forradalmasítja a hajózási ágazat a globális gazdaságot

A haditengerészeti szektor igazi világgazdasági hatalom, amely egy 150 milliárdos piac felé navigált...

Május 1 2024

A kiadók és az OpenAI megállapodásokat írnak alá a mesterséges intelligencia által feldolgozott információáramlás szabályozására

Múlt hétfőn a Financial Times bejelentette, hogy megállapodást köt az OpenAI-val. Az FT engedélyezi világszínvonalú újságírását…

30 április 2024

Online fizetés: Így fizethet örökké a streaming szolgáltatások

Emberek milliói fizetnek a streaming szolgáltatásokért, havi előfizetési díjat fizetve. Általános vélemény, hogy Ön…

29 április 2024