Latest newsΕλληνικά
Back to feedΤεχνολογίεςNewsMeld Editorial

Один MaxCode αντί για δεκάδες κλειδιά: πώς το PushMeld προσθέτει ειδοποιήσεις εκεί που δεν υπήρχαν

Πώς το MaxCode μεταφέρει τον έλεγχο των push και email ειδοποιήσεων από ιστοσελίδες, διακομιστές, σενάρια και συσκευές στο PushMeld.

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

Τεχνικά, όλα λειτουργούν. Η δυσκολία προκύπτει το πρωί: ο χρήστης πρέπει να ανοίξει χειροκίνητα το αρχείο καταγραφής και να ελέγξει το αποτέλεσμα. Το πρόγραμμα δεν διαθέτει κινητή εφαρμογή, δεν προβλέπεται αποστολή ειδοποιήσεων από τους προγραμματιστές, και κανείς δεν θα δημιουργούσε ξεχωριστή υποδομή μόνον για μια λειτουργία.

Με το PushMeld, μπορούμε να προσθέσουμε μια απλή ερώτηση στη διαδικασία. Μετά την ολοκλήρωση του backup, θα σταλεί στο τηλέφωνο ένα μήνυμα: το αντίγραφο δημιουργήθηκε ή το σφάλμα συνέβη. Αν χρειάζεται, το ίδιο μήνυμα μπορεί να σταλεί και μέσω email.

Το θεμελιώδες στοιχείο αυτής της ιδέας είναι το MaxCode — ένας ενιαίος ασφαλής κωδικός, μέσω του οποίου το PushMeld λαμβάνει όλες τις πληροφορίες που χρειάζεται για την περαιτέρω αποστολή της ειδοποίησης.

Όταν ήρθα σε επαφή με το έργο, το MaxCode μου φάνηκε το πιο ενδιαφέρον μέρος του. Τα push και email δεν είναι νέα τεχνολογία. Το σημαντικότερο είναι ότι το αρχικό πρόγραμμα χάνει το έλεγχο της αποστολής τους. Απλώς αναφέρει το PushMeld το γεγονός, και το υπόλοιπο γίνεται έξω από αυτό.

Να ορίσω αμέσως το πλαίσιο: το PushMeld ανήκει στο σύστημα MELD®, και η DigiMeld UG είναι η εταιρεία που το αναπτύσσει.

Ο πηγαιός γνωρίζει μόνο το γεγονός

Μια απλή ενσωμάτωση ειδοποιήσεων γρήγορα γίνεται φορτωμένη με τεχνικές λεπτομέρειες. Πρέπει να ορίσουμε το έργο, να ρυθμίσουμε την πρόσβαση, να αποθηκεύσουμε τα κλειδιά, να λάβουμε υπόψη τα tokens συσκευών, να συνδέσουμε την αποστολή email και να αφομοιώσουμε τις απαιτήσεις διαφόρων κινητών πλατφορμών.

Το PushMeld μεταφέρει όλα αυτά από το αρχικό σύστημα σε μια ξεχωριστή διαχειρίσιμη περιοχή.

Το πρόγραμμα δημιουργίας αντιγράφων γνωρίζει μόνο ένα: η λειτουργία ολοκληρώθηκε επιτυχώς ή παρουσίασε σφάλμα. Μεταφέρει το MaxCode, τον τίτλο και το κείμενο της ειδοποίησης.

Δεν χρειάζεται να γνωρίζει:

  • πόσες συσκευές είναι συνδεδεμένες με το έργο;

  • ποιο τηλέφωνο είναι ενεργό αυτήν τη στιγμή;

  • ποιος πάροχος πρέπει να διαβιβάσει το push;

  • αν η αποστολή μέσω email είναι ενεργή;

  • αν ο χρήστης έχει νέο smartphone;

  • αν έχει απενεργοποιηθεί το παλιό tablet;

  • ποιος πρέπει να λάβει συγκεκριμένη ειδοποίηση.

Όλα αυτά καθορίζονται ήδη μέσα στο PushMeld.

Κατά τη γνώμη μου, εδώ βρίσκεται η βασική αρχιτεκτονική ιδέα του έργου: το MaxCode μεταφέρει τον έλεγχο των ειδοποιήσεων από το πρόγραμμα όπου συνέβη το γεγονός στην υποδομή που ασχολείται με την παράδοσή τους.

Ένα MaxCode αντί για πολλά κλειδιά

Κατά την ενσωμάτωση ενός εξωτερικού συστήματος, συνήθως πρέπει να χειριστούμε πολλαπλές οντότητες. Διαχωριστικά, υπάρχει το αναγνωριστικό έργου, το κλειδί πρόσβασης, περαιτέρω τα μυστικά, τα tokens συσκευών και οι ρυθμίσεις των παρόχων.

Το MaxCode ενώνει όλα όσα χρειάζονται για την αποστολή σε έναν ασφαλή κωδικό.

Για κάθε έργο δημιουργείται το δικό του MaxCode. Σε αυτό συνημερώνονται η ταυτότητα του έργου, το δικαίωμα αποστολής και τα δεδομένα που επιτρέπουν στο PushMeld να εφαρμόσει την τρέχουσα διαμόρφωση παράδοσης.

Το σύστημα αποστολής δεν χρειάζεται να αποθηκεύει ξεχωριστά:

  • ταυτότητα έργου;

  • API-κλειδί και επιπλέον μυστικό;

  • tokens συνδεδεμένων συσκευών;

  • παραμέτρους κάθε παραλήπτη;

  • κλειδιά διαφορετικών παρόχων push;

  • ξεχωριστές ρυθμίσεις για push και email.

Σε μια εφαρμογή, ιστοσελίδα ή σενάριο προστίθεται ένα MaxCode. Αφού το λάβει μαζί με το μήνυμα, το PushMeld καθορίζει από μόνο του το έργο, ελέγχει το αίτημα, εντοπίζει τις συνδεδεμένες συσκευές και επιλέγει τα διαθέσιμα κανάλια.

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

Ειδοποίηση από εκεί που δεν προβλέπεται

Το MaxCode μπορεί να χρησιμοποιηθεί σε οποιοδήποτε σύστημα που μπορεί να πραγματοποιήσει αυτόνομο HTTP αίτημα ή μέσω ενός μικρού βοηθητικού script.

Για παράδειγμα, το PushMeld μπορεί να ειδοποιήσει όταν:

  • ο οικιακός διακομιστής σταματήσει να απαντά;

  • το αντίγραφο ασφαλείας τελειώσει ή σημειωθεί σφάλμα;

  • ένα δικό του script εκτελέσει μια μακροχρόνια εργασία;

  • ο 3D εκτυπωτής ολοκληρώσει την εκτύπωση;

  • ένας αισθητήρας καταγράφει διαρροή;

  • ανοιχτή πόρτα ή ενεργοποιηθεί συναγερμός;

  • υπάρχει νέα πληροφορία στον ιστότοπό μας;

  • έγινε αλλαγή στην τιμή ενός προϊόντος;

  • εκκενώθηκε χώρος για εγγραφή;

  • η παλιά εφαρμογή τελείωσε την επεξεργασία μεγάλου αρχείου;

  • ένα μικρό ηλεκτρονικό κατάστημα λάβει νέα παραγγελία.

Κάθε πηγή μπορεί να μην διαθέτει δική της εφαρμογή. Κάποια devices μπορούν μόνο να κάνουν αιτήματα σε συγκεκριμένη διεύθυνση, άλλα να ενεργοποιούν προγράμματα, και άλλα μπορούν να εμπλουτιστούν με ένα σύντομο σενάριο αυτοματισμού.

Αυτό είναι αρκετό ώστε να μεταφέρετε ένα γεγονός στο PushMeld.

Ο πηγή απλώς καταγράφει το γεγονός και στέλνει μήνυμα με το MaxCode. Το υπόλοιπο — διακομιστές, συσκευές, κανάλια και τεχνική διαδρομή — μένουν στο PushMeld.

Όχι μόνο push, αλλά και email

Το όνομα PushMeld συνήθως συνδέεται με ειδοποιήσεις σε κινητά, αλλά οι δυνατότητες του έργου δεν περιορίζονται σε αυτό.

Για την παράδοση μπορεί να χρησιμοποιηθεί push, email ή και τα δύο — ανάλογα με τις ρυθμίσεις και τις διαθέσιμες επιλογές.

Για παράδειγμα, ένα μήνυμα επιτυχούς backup αρκεί να εμφανίζεται στο τηλέφωνο. Ένα σοβαρό σφάλμα μπορεί επιπλέον να αποσταλεί μέσω email.

Το αρχικό πρόγραμμα εκτελεί το ίδιο αίτημα και στις δύο περιπτώσεις, με το MaxCode. Δεν χρειάζεται να ρυθμίσει ξεχωριστό email server, να αποθηκεύσει ρυθμίσεις ή να δημιουργήσει δεύτερο ανεξάρτητο σενάριο.

Η απόφαση για τα κανάλια παράδοσης λαμβάνεται μέσα στο PushMeld. Αν αργότερα ο χρήστης προσθέσει το email σε ένα υπάρχον έργο, το πρόγραμμα δημιουργίας αντιγράφων δεν θα χρειαστεί αλλαγές.

Στην ουσία, το email χρησιμοποιείται όχι ως μαζική αποστολή, αλλά ως εναλλακτικός τρόπος ενημέρωσης για ένα γεγονός που λαμβάνει χώρα στο συνδεδεμένο έργο.

Ένα έργο — μια πηγή γεγονότων

Τα έργα διασφαλίζουν την κατανομή των ειδοποιήσεων ανάλογα με τον σκοπό τους.

Ένας απλός χρήστης μπορεί να δημιουργήσει, για παράδειγμα:

  • HomeServer — κατάσταση του οικιακού διακομιστή;

  • Backups — αποτελέσματα αντιγράφων ασφαλείας;

  • SmartHome — αισθητήρες και αυτοματοποίηση κατοικίας;

  • PriceMonitor — αλλαγές τιμών;

  • Website — νέες αιτήσεις από την προσωπική ιστοσελίδα.

Κάθε έργο λαμβάνει το δικό του MaxCode. Αυτό επιτρέπει στην αυτοματοποίηση κατοικίας να μην χρησιμοποιεί τον κωδικό της ιστοσελίδας και να μην συγχέει την παρακολούθηση τιμών με τα αντίγραφα ασφαλείας.

Μέσω της εφαρμογής, είναι άμεσα ξεκάθαρο από πού προέρχεται το μήνυμα και σε ποια εργασία ανήκει.

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

Νέο τηλέφωνο χωρίς αλλαγές στον κώδικα

Ένα απλό push token συσχετίζεται με μια συγκεκριμένη εγκατάσταση της εφαρμογής σε μια συσκευή.

Αν ο χρήστης έχει δύο τηλέφωνα και ένα tablet, έχουν τρία tokens. Με κάθε επανεγκατάσταση ή αλλαγή συσκευής, ένα token μπορεί να αλλάξει ή να σταματήσει να λειτουργεί.

Το MaxCode βρίσκεται πάνω από αυτό το επίπεδο. Αναφέρεται στο έργο, όχι σε μια μεμονωμένη συσκευή.

Ο χρήστης ορίζει ποια συσκευή συσχετίζεται με το έργο και ποια πρέπει να λαμβάνουν τα μηνύματά του. Για παράδειγμα, ειδοποιήσεις από τον οικιακό διακομιστή μπορούν να αποστέλλονται σε προσωπικό τηλέφωνο και tablet, ενώ τα συμβάντα από τον επαγγελματικό ιστότοπο μόνο σε επαγγελματικό smartphone.

Αν αγοράσει νέο τηλέφωνο ή απενεργοποιήσει παλιό, το αρχικό σενάριο συνεχίζει να χρησιμοποιεί το ίδιο MaxCode. Η ενημέρωση των παραληπτών γίνεται μέσα στο PushMeld.

Το ίδιο ισχύει και για την προσθήκη email ή την αλλαγή άλλων παραμέτρων παράδοσης.

Γι’ αυτό το MaxCode δεν είναι απλώς ένας τρόπος να μειώσεις τα κλειδιά. Δημιουργεί μια διαχωριστική γραμμή ανάμεσα στο γεγονός και στο δρομολόγιό του. Ό,τι βρίσκεται μετά από αυτό μπορεί να αλλάζει χωρίς να επηρεάζεται το αρχικό πρόγραμμα.

Δωρεάν για απλές εργασίες

Τα υποστηρικτικά προϊόντα συχνά περιγράφονται μέσω εταιρικών συστημάτων, διακομιστών και μεγάλων όγκων δεδομένων. Αυτό μπορεί να δώσει την εντύπωση ότι το PushMeld προορίζεται μόνο για επαγγελματίες προγραμματιστές και εταιρείες.

Στην πράξη, μπορείτε να ξεκινήσετε με μια απλή οικιακή εργασία.

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

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

Τα συνδρομητικά σχέδια είναι χρήσιμα όταν αυξάνονται οι απαιτήσεις σε αιτήματα, προστίθενται πιο προηγμένες λειτουργίες ή η χρήση μεγαλώνει σε κλίμακα.

Ένα και το αυτό για ανθρώπους και εταιρείες

Η λειτουργία του MaxCode παραμένει σταθερή ανεξαρτήτως μεγέθους εργασίας.

Ο άνθρωπος λαμβάνει μήνυμα για την ολοκλήρωση του backup. Ένας μικρός εργαστηριακός χώρος μαθαίνει ότι ο τυπωτής 3D ολοκλήρωσε μια μακρά εκτύπωση. Μια ηλεκτρονική επιχείρηση λαμβάνει νέα παραγγελία. Η τεχνική ομάδα παίρνει ειδοποίηση για σφάλμα σε διακομιστή.

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

Ας φανταστούμε μια οργάνωση με τρεις πηγές γεγονότων:

  • Orders — νέες παραγγελίες;

  • Payments — καταβολές και επιστροφές;

  • ServerStatus — τεχνικά σφάλματα.

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

Το σύστημα της εταιρείας σε όλες τις περιπτώσεις μεταφέρει μόνο το περιεχόμενο του γεγονότος και το αντίστοιχο MaxCode.

Εάν αλλάξουν τα άτομα, οι συσκευές ή οι τρόποι αποστολής, τα αρχικά συστήματα δεν χρειάζεται να ρυθμιστούν ξανά. Η διαχείριση παραμένει μέσα στο PushMeld.

Τα APNs, FCM και HMS παραμένουν εκτός προγράμματος

Για την παράδοση push σε διαφορετικές συσκευές, μπορεί να χρησιμοποιούνται οι APNs, FCM ή HMS. Κάθε πάροχος έχει τους δικούς του κανόνες, tokens και τεχνικές ιδιαιτερότητες.

Συνήθως, αυτές οι διαφορές λαμβάνονται υπόψη κατά την ανάπτυξη της αποστολής. Στην περίπτωση του PushMeld, μένουν έξω από το MaxCode.

Ο οικιακός διακομιστής, η ιστοσελίδα ή το script δεν καθορίζει ποιο τηλέφωνο χρησιμοποιεί ο παραλήπτης και με ποια υποδομή πρέπει να διαβιβαστεί το μήνυμα. Εκτελούν ένα αίτημα, και το PushMeld επιλέγει τον κατάλληλο δρομο.

Το MaxCode δεν αντικαθιστά την υποδομή της Apple, Google ή Huawei. Δημιουργεί μια ενιαία πύλη μπροστά της.

Έτσι, η αρχική εφαρμογή δεν χρειάζεται να αλλάξει κάθε φορά που αλλάζουν οι συσκευές του χρήστη. Σήμερα το μήνυμα μπορεί να αποσταλεί μέσω FCM, αύριο μέσω APNs, και σε λίγες ημέρες ένα άλλο τηλέφωνο ή email προστίθενται στο έργο. Για την εφαρμογή που λαμβάνει το γεγονός, τίποτα δεν αλλάζει.

Το MaxCode και το συνηθισμένο API-κλειδί — δεν είναι το ίδιο

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

Το MaxCode ενώνει αυτό το πλαίσιο σε έναν κωδικό.

Επιτρέπει στο PushMeld να αναγνωρίζει το έργο, να ελέγχει το αίτημα και να εφαρμόζει τις τρέχουσες ρυθμίσεις. Η εξωτερική εφαρμογή μεταφέρει μόνο το MaxCode και το περιεχόμενο του γεγονότος, χωρίς να επηρεάζει το δρομολόγιο.

Μια πρακτική διαφορά είναι ότι το API-κλειδί ανοίγει την πρόσβαση σε μια λειτουργία, ενώ το MaxCode ταυτοχρόνως ορίζει το κοντέξτ όπου αυτή η λειτουργία θα εκτελεστεί.

Ειδοποίηση ως λειτουργικότητα που προστίθεται

Αφού γνωρίσω το PushMeld, δε θα το ονόμαζα απλώς εφαρμογή ειδοποιήσεων push.

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

Πηγή μπορεί να είναι ο οικιακός διακομιστής, ένας αισθητήρας, μια παλιά εφαρμογή, ένα ηλεκτρονικό κατάστημα, ένα δικό του script ή ένα εσωτερικό σύστημα της εταιρείας. Αν είναι σε θέση να εκτελέσει αυτόνομο HTTP αίτημα, τότε το γεγονός μπορεί να μεταβιβαστεί στο PushMeld.

Εδώ το MaxCode δημιουργεί μια διαχωριστική γραμμή ανάμεσα στο γεγονός και την παράδοσή του. Από τη μία πλευρά βρίσκεται το πρόγραμμα που αναφέρει το γεγονός, κι από την άλλη το PushMeld, που καθορίζει το έργο, τις συσκευές, τα κανάλια και τη διαδρομή.

Έτσι, το πιο σημαντικό πλεονέκτημα του MaxCode δεν είναι μόνον η αντικατάσταση πολλαπλών κλειδιών με ένα. Μεταφέρει τον έλεγχο των ειδοποιήσεων πέρα από το αρχικό σύστημα.

Μπορείς να αλλάξεις τη συσκευή, να προσθέσεις email, να απενεργοποιήσεις παλιά συσκευή και να τροποποιήσεις το δίκτυο παράδοσης. Το πρόγραμμα θα συνεχίζει να αναφέρει το γεγονός, όπως και πριν.