У адрозненне ад традыцыйных сістэм, дзе адна сістэма (суб'ект) працягвае апытваць іншую сістэму (назіральніка) на прадмет атрымання некаторых даных, вэб-хукі дазваляюць назіральніку аўтаматычна адпраўляць даныя ў сістэму суб'екта кожны раз, калі адбываецца падзея.
Гэта пазбаўляе ад неабходнасці пастаяннага кантролю з боку суб'екта. Webhooks працуюць цалкам у Інтэрнэце, і таму ўся сувязь паміж сістэмамі павінна адбывацца ў форме HTTP-паведамленняў.
Webhooks абапіраюцца на наяўнасць статычных URL-адрасоў, якія паказваюць на API у сістэме суб'екта, якія павінны быць апавешчаныя, калі адбываецца падзея ў сістэме назіральніка. Прыкладам гэтага можа быць вэб-прыкладанне, прызначанае для збору і кіравання ўсімі заказамі, размешчанымі на ўліковым запісе Amazon карыстальніка. У гэтым сцэнары Amazon выступае ў якасці назіральніка, а Webapp Custom Order Management - у якасці суб'екта.
Замест таго, каб карыстальніцкае вэб-прыкладанне перыядычна выклікала Amazon API для праверкі створанага заказу, вэб-хук, створаны ў карыстальніцкім вэб-прыкладанні, дазволіць Amazon аўтаматычна адпраўляць новы заказ, створаны ў вэб-прыкладанні праз зарэгістраваны URL. Такім чынам, каб уключыць выкарыстанне вэб-хукаў, суб'ект павінен мець прызначаныя URL-адрасы, якія прымаюць апавяшчэнні аб падзеях ад назіральніка. Гэта зніжае значную нагрузку на аб'ект, паколькі HTTP-выклікі робяцца паміж двума бакамі толькі тады, калі адбываецца падзея.
Пасля таго, як назіральнік выклікае вэб-хук суб'екта, суб'ект можа прыняць адпаведныя меры з гэтымі нядаўна прадстаўленымі дадзенымі. Як правіла, вэб-хукі выконваюцца праз запыты POST да пэўнага URL. Запыты POST дазваляюць адпраўляць дадатковую інфармацыю аб'екту. Акрамя таго, яго таксама можна выкарыстоўваць для ідэнтыфікацыі сярод шэрагу розных магчымых падзей замест стварэння асобных URL-адрасоў вэб-хукаў для кожнай падзеі.
Каб рэалізаваць ўваходныя вэб-хукі ў вашым дадатку, вам трэба выканаць наступныя асноўныя крокі:
І вэб-хукі, і API маюць на мэце ўсталяванне сувязі паміж праграмамі. Аднак ёсць некаторыя відавочныя перавагі і недахопы выкарыстання Webhooks над API для дасягнення інтэграцыі прыкладанняў.
Webhooks, як правіла, з'яўляюцца лепшымі рашэннямі, калі наступныя пункты больш важныя для ўкаранёнай сістэмы:
У некаторых іншых сітуацыях варта аддаваць перавагу выкарыстанню API перад вэб-хукамі.
Важныя рэчы, якія трэба ўлічваць пры выкарыстанні API на Webhooks:
Каб справіцца з магчымасцю страты даных, адпраўленых з сервера, калі вэб-хук пераходзіць у аўтаномны рэжым, вы можаце выкарыстоўваць чаргу паведамленняў аб падзеях для архівавання гэтых выклікаў. Прыклады платформаў, якія забяспечваюць такія функцыі, ўключаюць RabbitMQ o Простая служба чаргі Amazon (SQS). Абодва распрацаваны, каб дзейнічаць як прамежкавыя сховішчы паведамленняў, якія пазбягаюць магчымасці прапусціць выклік webhook.
Ercole Palmeri
Ваенна-марскі сектар - гэта сапраўдная глабальная эканамічная сіла, якая перайшла да 150-мільярднага рынку...
У мінулы панядзелак Financial Times абвясціла аб здзелцы з OpenAI. FT ліцэнзуе сваю журналістыку сусветнага ўзроўню...
Мільёны людзей плацяць за струменевыя паслугі, плацячы штомесячную абаненцкую плату. Распаўсюджана меркаванне, што вы…
Coveware ад Veeam працягне прадастаўляць паслугі рэагавання на інцыдэнты кібервымагальніцтва. Coveware будзе прапаноўваць судова-медыцынскую экспертызу і магчымасці выпраўлення…