εμπορεύματα

Τι είναι το webhook και πώς το χρησιμοποιείτε;

Τα Webhook επιτρέπουν σε εφαρμογές που βασίζονται στο web να αλληλεπιδρούν μέσω της χρήσης προσαρμοσμένων επανακλήσεων.

Η χρήση webhook επιτρέπει στις εφαρμογές web να επικοινωνούν αυτόματα με άλλες εφαρμογές web.

Σε αντίθεση με τα παραδοσιακά συστήματα όπου ένα σύστημα (θέμα) συνεχίζει να ψηφίζει ένα άλλο σύστημα (παρατηρητής) για ορισμένα δεδομένα, τα webhook επιτρέπουν στον παρατηρητή να ωθεί αυτόματα δεδομένα στο σύστημα του υποκειμένου όποτε συμβαίνει ένα γεγονός.

Αυτό εξαλείφει την ανάγκη για συνεχή παρακολούθηση από το υποκείμενο. Τα Webhook λειτουργούν εξ ολοκλήρου στο Διαδίκτυο και επομένως όλη η επικοινωνία μεταξύ των συστημάτων πρέπει να πραγματοποιείται με τη μορφή μηνυμάτων HTTP.

Χρήση webhooks

Τα webhook βασίζονται στην παρουσία στατικών URL που δείχνουν σε API στο σύστημα του υποκειμένου που πρέπει να ειδοποιούνται όταν συμβαίνει ένα συμβάν στο σύστημα του παρατηρητή. Ένα παράδειγμα αυτού θα ήταν μια εφαρμογή Ιστού που έχει σχεδιαστεί για να συλλέγει και να διαχειρίζεται όλες τις παραγγελίες που πραγματοποιούνται στον λογαριασμό Amazon ενός χρήστη. Σε αυτό το σενάριο, η Amazon ενεργεί ως παρατηρητής και η εφαρμογή Web διαχείρισης προσαρμοσμένων παραγγελιών ενεργεί ως υποκείμενο.

Αντί να καλεί η προσαρμοσμένη εφαρμογή ιστού περιοδικά τα API του Amazon για να ελέγξει εάν έχει δημιουργηθεί μια παραγγελία, ένα webhook που δημιουργήθηκε στην προσαρμοσμένη εφαρμογή ιστού θα επέτρεπε στην Amazon να υποβάλλει αυτόματα μια παραγγελία που δημιουργήθηκε πρόσφατα στην εφαρμογή web μέσω μιας καταχωρημένης διεύθυνσης URL. Επομένως, για να ενεργοποιηθεί η χρήση webhook, το θέμα πρέπει να έχει καθορισμένες διευθύνσεις URL που δέχονται ειδοποιήσεις συμβάντων από τον παρατηρητή. Αυτό μειώνει ένα σημαντικό φορτίο στο αντικείμενο, καθώς οι κλήσεις HTTP πραγματοποιούνται μεταξύ των δύο μερών μόνο όταν συμβαίνει ένα συμβάν.

Συστήματα που βασίζονται σε δημοσκοπήσεις έναντι συστημάτων που βασίζονται σε webhook

Μόλις ο παρατηρητής καλέσει το webhook του υποκειμένου, το υποκείμενο μπορεί να κάνει την κατάλληλη ενέργεια με αυτά τα πρόσφατα υποβληθέντα δεδομένα. Συνήθως, τα webhook γίνονται μέσω αιτημάτων POST σε μια συγκεκριμένη διεύθυνση URL. Τα αιτήματα POST σάς επιτρέπουν να στείλετε πρόσθετες πληροφορίες στο αντικείμενο. Επιπλέον, μπορεί επίσης να χρησιμοποιηθεί για την αναγνώριση μεταξύ πολλών διαφορετικών πιθανών συμβάντων αντί για τη δημιουργία ξεχωριστών διευθύνσεων URL webhook για κάθε συμβάν.

Ροή εργασιών Webhook

Για να εφαρμόσετε εισερχόμενα webhook στην εφαρμογή σας, πρέπει να εκτελέσετε τα ακόλουθα βασικά βήματα:

  • Εκθέστε ένα τελικό σημείο API στον διακομιστή εφαρμογών σας που δέχεται και επεξεργάζεται κλήσεις HTTP POST
  • Παρέχετε πρόσβαση σε αυτό το τελικό σημείο για πιθανούς χρήστες webhook. Το τελικό σημείο API θα καλεί μια εφαρμογή πηγής δεδομένων όποτε πληρούνται οι σχετικές προϋποθέσεις.
  • Επεξεργαστείτε τα δεδομένα POST και επιστρέψτε μια απάντηση στον εκκινητή κλήσης webhook για να υποδείξετε την κατάσταση. Αυτό το βήμα μπορεί να υπάρχει ή να μην υπάρχει.

Webhooks έναντι API

Τόσο τα webhook όσο και τα API έχουν στόχο να δημιουργήσουν επικοινωνία μεταξύ των εφαρμογών. Ωστόσο, υπάρχουν ορισμένα ευδιάκριτα πλεονεκτήματα και μειονεκτήματα από τη χρήση των Webhooks έναντι των API για την επίτευξη ενοποίησης εφαρμογών.

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.

Τα webhook τείνουν να είναι καλύτερες λύσεις εάν τα ακόλουθα σημεία είναι πιο σχετικά με το υλοποιημένο σύστημα:

  • Εάν τα δεδομένα ενημερώνονται συχνά στον διακομιστή, τα webhook τείνουν να είναι καλύτερες λύσεις καθώς εξαλείφονται οι περιττές κλήσεις API από τον πελάτη προς τον διακομιστή. Σύμφωνα με το resthooks.com, το 98,5% των ερευνών API πάνε χαμένες.
  • Τα Webhook επιτρέπουν καλύτερες λύσεις για συστήματα που απαιτούν ενημερώσεις δεδομένων σχεδόν σε πραγματικό χρόνο. Οι δημοσκοπήσεις API εκτελούνται συνήθως σε καθορισμένα διαστήματα που ενδέχεται να εμποδίσουν την ενημέρωση των ζωντανών δεδομένων. Με τα webhook, οι ενημερώσεις αποστέλλονται από τον διακομιστή στον πελάτη αμέσως μόλις ενεργοποιηθεί το webhook.

Η χρήση του API θα πρέπει να προτιμάται από τα webhook σε ορισμένες άλλες περιπτώσεις.

Πράγματα που πρέπει να ληφθούν υπόψη

Τα σημαντικά πράγματα που πρέπει να λάβετε υπόψη για τη χρήση των API σε Webhooks είναι:

  • Η χρήση του API επιτρέπει μεγαλύτερη προσαρμογή του πότε πρέπει να γίνεται δημοσκόπηση για δεδομένα από έναν διακομιστή και επίσης πόσα δεδομένα πρέπει να συλλέγονται από τον διακομιστή. Ο όγκος των δεδομένων προς δημοσκόπηση διέπεται από το μέγεθος δημοσκόπησης API. Με τα webhook, ο διακομιστής αποφασίζει γενικά τα δεδομένα και πότε θα σταλούν.
  • Για συστήματα με εξαιρετικά μεταβλητά δεδομένα (όπως συστήματα σε πραγματικό χρόνο, συστήματα IoT, κ.λπ.), η δημοσκόπηση βάσει API μπορεί να είναι καλύτερη επιλογή, καθώς για κάθε κλήση API, υπάρχει μεγάλη πιθανότητα χρησιμοποιήσιμων αποκρίσεων.
  • Είναι δυνατό τα δεδομένα που αποστέλλονται από έναν διακομιστή, μέσω ενός webhook, να αγνοηθούν εντελώς από τον πελάτη σε περίπτωση που τα τελικά σημεία REST είναι εκτός σύνδεσης. Σε περίπτωση που ο διακομιστής δεν διαθέτει μηχανισμό για να δοκιμάσει ξανά τέτοιες αποτυχημένες ωθήσεις, οι ενημερώσεις δεδομένων χάνονται εντελώς.

Για να αντιμετωπίσετε την πιθανότητα απώλειας δεδομένων που αποστέλλονται από έναν διακομιστή όταν το webhook είναι εκτός σύνδεσης, μπορείτε να χρησιμοποιήσετε μια ουρά μηνυμάτων συμβάντων για να αρχειοθετήσετε αυτές τις κλήσεις. Παραδείγματα πλατφορμών που παρέχουν τέτοια λειτουργικότητα περιλαμβάνουν RabbitMQ o Η υπηρεσία απλής ουράς της Amazon (SQS). Και οι δύο έχουν σχεδιαστεί για να λειτουργούν ως ενδιάμεσες εγκαταστάσεις αποθήκευσης μηνυμάτων που αποφεύγουν την πιθανότητα να χάσετε μια κλήση webhook.

Ercole Palmeri

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.

Πρόσφατα άρθρα

Τα οφέλη των σελίδων χρωματισμού για παιδιά - ένας κόσμος μαγείας για όλες τις ηλικίες

Η ανάπτυξη λεπτών κινητικών δεξιοτήτων μέσω του χρωματισμού προετοιμάζει τα παιδιά για πιο σύνθετες δεξιότητες όπως η γραφή. Να χρωματίσω…

2 Μαΐου 2024

Το μέλλον είναι εδώ: Πώς η ναυτιλιακή βιομηχανία φέρνει επανάσταση στην παγκόσμια οικονομία

Ο ναυτικός τομέας είναι μια πραγματική παγκόσμια οικονομική δύναμη, η οποία έχει προσανατολιστεί προς μια αγορά 150 δισεκατομμυρίων...

1 Μαΐου 2024

Οι εκδότες και το OpenAI υπογράφουν συμφωνίες για τη ρύθμιση της ροής πληροφοριών που επεξεργάζεται η τεχνητή νοημοσύνη

Την περασμένη Δευτέρα, οι Financial Times ανακοίνωσαν συμφωνία με το OpenAI. Η FT αδειοδοτεί την παγκόσμιας κλάσης δημοσιογραφία της…

Απρίλιος 30 2024

Ηλεκτρονικές πληρωμές: Δείτε πώς οι υπηρεσίες ροής σας κάνουν να πληρώνετε για πάντα

Εκατομμύρια άνθρωποι πληρώνουν για υπηρεσίες ροής, πληρώνοντας μηνιαίες συνδρομές. Είναι κοινή γνώμη ότι…

Απρίλιος 29 2024

Διαβάστε την Καινοτομία στη γλώσσα σας

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.

Seguici