A differenza dei sistemi tradizionali in cui un sistema (soggetto) continua a interrogare un altro sistema (osservatore) per alcuni dati, i webhook consentono all’osservatore di inserire automaticamente i dati nel sistema del soggetto ogni volta che si verifica un evento.
Ciò elimina la necessità di un controllo costante da parte del soggetto. I webhook operano interamente su Internet e quindi tutte le comunicazioni tra i sistemi devono avvenire sotto forma di messaggi HTTP.
I webhook si basano sulla presenza di URL statici che puntano alle API nel sistema del soggetto che devono essere notificate quando si verifica un evento nel sistema dell’osservatore. Un esempio di ciò potrebbe essere un’app Web progettata per raccogliere e gestire tutti gli ordini effettuati sull’account Amazon di un utente. In questo scenario, Amazon funge da osservatore e la Webapp di gestione degli ordini personalizzati funge da soggetto.
Invece di fare in modo che la webapp personalizzata chiami periodicamente le API di Amazon per verificare la presenza di un ordine creato, un webhook creato nella webapp personalizzata consentirebbe ad Amazon di inviare automaticamente un ordine appena creato nella webapp tramite un URL registrato. Pertanto, per abilitare l’uso dei webhook, il soggetto deve disporre di URL designati che accettano notifiche di eventi dall’osservatore. Ciò riduce un carico significativo sull’oggetto poiché le chiamate HTTP vengono effettuate tra le due parti solo al verificarsi di un evento.
Una volta che il webhook del soggetto viene chiamato dall’osservatore, il soggetto può intraprendere l’azione appropriata con questi dati appena inviati. Generalmente, i webhook vengono eseguiti tramite richieste POST su un URL specifico. Le richieste POST consentono di inviare ulteriori informazioni all’oggetto. Inoltre, può anche essere utilizzato per identificare tra una serie di vari eventi possibili invece di creare URL webhook separati per ciascun evento.
Per implementare i webhook in entrata sulla tua applicazione, devi eseguire i seguenti passaggi di base:
Sia i webhook che le API hanno l’obiettivo di stabilire la comunicazione tra le applicazioni. Tuttavia, ci sono alcuni vantaggi e svantaggi distinti nell’utilizzo di Webhook rispetto alle API per ottenere l’integrazione delle applicazioni.
I webhook tendono a essere soluzioni migliori se i seguenti punti sono più rilevanti per il sistema implementato:
L’uso dell’API dovrebbe essere preferito rispetto ai webhook in alcune altre situazioni.
Gli aspetti importanti da considerare per l’utilizzo delle API su Webhook sono:
Per affrontare la possibilità di perdere dati inviati da un server quando il webhook è offline, puoi utilizzare una coda di messaggistica degli eventi per archiviare tali chiamate. Esempi di piattaforme che forniscono tale funzionalità includono RabbitMQ o Simple Queue Service (SQS) di Amazon. Entrambi sono progettati per fungere da strutture di archiviazione di messaggistica intermedia che evitano la possibilità di perdere una chiamata webhook.
Ercole Palmeri
Excel fornisce un'ampia gamma di funzioni statistiche che eseguono calcoli dalla media, mediana e moda di base fino alla distribuzione…
Le tabelle pivot costituiscono una tecnica di analisi dei fogli di calcolo. Consentono a un principiante assoluto con zero esperienza…
Quello che segue è il secondo ed ultimo articolo di questa newsletter dedicato al rapporto tra Privacy e Copyright da…
Progetto ACTEA, ENEA e Sapienza Università di Roma metteranno a punto le nuove batterie calcio-ione. Le nuove batteria calcio-ione in alternativa a…
Oltre 900 chirurghi ortopedici del piede e della caviglia, operatori sanitari avanzati, specializzandi ortopedici e studenti di medicina hanno partecipato…
Secondo l’ultimo report Protolabs sulla robotica destinata alla produzione, quasi un terzo (32%) degli intervistati ritiene che nei prossimi anni…
CNH è fortemente impegnata nello sviluppo della propria tecnologia per rendere l’agricoltura più semplice, efficiente e sostenibile per i suoi…
La mossa strategica faciliterà uno sviluppo più veloce per l'adozione dell'ecosistema privato 5G per tutti i dispositivi digitali NTT svela…
Neuralink, la startup neurotecnologica di proprietà di Elon Musk, ha recentemente annunciato che inizierà a reclutare pazienti per il suo…
Questo è il primo di due articoli in cui affronto il delicato rapporto tra Privacy e Copyright da un lato,…