Σε αντίθεση με τα παραδοσιακά συστήματα όπου ένα σύστημα (θέμα) συνεχίζει να ψηφίζει ένα άλλο σύστημα (παρατηρητής) για ορισμένα δεδομένα, τα webhook επιτρέπουν στον παρατηρητή να ωθεί αυτόματα δεδομένα στο σύστημα του υποκειμένου όποτε συμβαίνει ένα γεγονός.
Αυτό εξαλείφει την ανάγκη για συνεχή παρακολούθηση από το υποκείμενο. Τα Webhook λειτουργούν εξ ολοκλήρου στο Διαδίκτυο και επομένως όλη η επικοινωνία μεταξύ των συστημάτων πρέπει να πραγματοποιείται με τη μορφή μηνυμάτων HTTP.
Τα webhook βασίζονται στην παρουσία στατικών URL που δείχνουν σε API στο σύστημα του υποκειμένου που πρέπει να ειδοποιούνται όταν συμβαίνει ένα συμβάν στο σύστημα του παρατηρητή. Ένα παράδειγμα αυτού θα ήταν μια εφαρμογή Ιστού που έχει σχεδιαστεί για να συλλέγει και να διαχειρίζεται όλες τις παραγγελίες που πραγματοποιούνται στον λογαριασμό Amazon ενός χρήστη. Σε αυτό το σενάριο, η Amazon ενεργεί ως παρατηρητής και η εφαρμογή Web διαχείρισης προσαρμοσμένων παραγγελιών ενεργεί ως υποκείμενο.
Αντί να καλεί η προσαρμοσμένη εφαρμογή ιστού περιοδικά τα API του Amazon για να ελέγξει εάν έχει δημιουργηθεί μια παραγγελία, ένα webhook που δημιουργήθηκε στην προσαρμοσμένη εφαρμογή ιστού θα επέτρεπε στην Amazon να υποβάλλει αυτόματα μια παραγγελία που δημιουργήθηκε πρόσφατα στην εφαρμογή web μέσω μιας καταχωρημένης διεύθυνσης URL. Επομένως, για να ενεργοποιηθεί η χρήση webhook, το θέμα πρέπει να έχει καθορισμένες διευθύνσεις URL που δέχονται ειδοποιήσεις συμβάντων από τον παρατηρητή. Αυτό μειώνει ένα σημαντικό φορτίο στο αντικείμενο, καθώς οι κλήσεις HTTP πραγματοποιούνται μεταξύ των δύο μερών μόνο όταν συμβαίνει ένα συμβάν.
Μόλις ο παρατηρητής καλέσει το webhook του υποκειμένου, το υποκείμενο μπορεί να κάνει την κατάλληλη ενέργεια με αυτά τα πρόσφατα υποβληθέντα δεδομένα. Συνήθως, τα webhook γίνονται μέσω αιτημάτων POST σε μια συγκεκριμένη διεύθυνση URL. Τα αιτήματα POST σάς επιτρέπουν να στείλετε πρόσθετες πληροφορίες στο αντικείμενο. Επιπλέον, μπορεί επίσης να χρησιμοποιηθεί για την αναγνώριση μεταξύ πολλών διαφορετικών πιθανών συμβάντων αντί για τη δημιουργία ξεχωριστών διευθύνσεων URL webhook για κάθε συμβάν.
Για να εφαρμόσετε εισερχόμενα webhook στην εφαρμογή σας, πρέπει να εκτελέσετε τα ακόλουθα βασικά βήματα:
Τόσο τα webhook όσο και τα API έχουν στόχο να δημιουργήσουν επικοινωνία μεταξύ των εφαρμογών. Ωστόσο, υπάρχουν ορισμένα ευδιάκριτα πλεονεκτήματα και μειονεκτήματα από τη χρήση των Webhooks έναντι των API για την επίτευξη ενοποίησης εφαρμογών.
Τα webhook τείνουν να είναι καλύτερες λύσεις εάν τα ακόλουθα σημεία είναι πιο σχετικά με το υλοποιημένο σύστημα:
Η χρήση του API θα πρέπει να προτιμάται από τα webhook σε ορισμένες άλλες περιπτώσεις.
Τα σημαντικά πράγματα που πρέπει να λάβετε υπόψη για τη χρήση των API σε Webhooks είναι:
Για να αντιμετωπίσετε την πιθανότητα απώλειας δεδομένων που αποστέλλονται από έναν διακομιστή όταν το webhook είναι εκτός σύνδεσης, μπορείτε να χρησιμοποιήσετε μια ουρά μηνυμάτων συμβάντων για να αρχειοθετήσετε αυτές τις κλήσεις. Παραδείγματα πλατφορμών που παρέχουν τέτοια λειτουργικότητα περιλαμβάνουν RabbitMQ o Η υπηρεσία απλής ουράς της Amazon (SQS). Και οι δύο έχουν σχεδιαστεί για να λειτουργούν ως ενδιάμεσες εγκαταστάσεις αποθήκευσης μηνυμάτων που αποφεύγουν την πιθανότητα να χάσετε μια κλήση webhook.
Ercole Palmeri
Η ανάπτυξη λεπτών κινητικών δεξιοτήτων μέσω του χρωματισμού προετοιμάζει τα παιδιά για πιο σύνθετες δεξιότητες όπως η γραφή. Να χρωματίσω…
Ο ναυτικός τομέας είναι μια πραγματική παγκόσμια οικονομική δύναμη, η οποία έχει προσανατολιστεί προς μια αγορά 150 δισεκατομμυρίων...
Την περασμένη Δευτέρα, οι Financial Times ανακοίνωσαν συμφωνία με το OpenAI. Η FT αδειοδοτεί την παγκόσμιας κλάσης δημοσιογραφία της…
Εκατομμύρια άνθρωποι πληρώνουν για υπηρεσίες ροής, πληρώνοντας μηνιαίες συνδρομές. Είναι κοινή γνώμη ότι…