Node-RED : Open source εργαλείο για την διαχείριση πληροφορίας και δημιουργίας προγραμματιστικών ροών για το Διαδίκτυο των Αντικειμένων

Στη σημερινή εποχή της πλήρους διαδικτυακής διασύνδεσης και της πληθώρας διαθέσιμων δεδομένων και υπηρεσιών, η ικανότητα δημιουργίας νέων ροών πληροφορίας μέσω της σύνθεσης είναι ένας εύκολος δρόμος για την παροχή προστιθέμενης αξίας. Παρόλα αυτά, μία πρόκληση της τεχνολογίας είναι η ύπαρξη πολλών διαφορετικών πηγών πληροφορίας, με διαφορετικούς τρόπους απόκτησης των δεδομένων (π.χ. πρωτόκολλα επικοινωνίας, format πληροφορίας κλπ.) ή διαφορετικά πλαίσια υλοποίησης (π.χ. online υπηρεσίες βάσεων δεδομένων, διασυνδεδεμένα αντικείμενα στο πλαίσιο του Internet Of Things, πληροφορίες από κοινωνικά δίκτυα κλπ). Για το λόγο αυτό, η ύπαρξη «αφαιρετικών» (abstracted) ενδιάμεσων επιπέδων λογισμικού που κρύβουν τις λεπτομέρειες υλοποίησης των διαφορετικών πηγών και καθιστούν εύκολη την εξαγωγή της πραγματικής αξίας (δηλαδή των δεδομένων) είναι κρίσιμη για τη δυνατότητα εκμετάλλευσης της πληροφορίας από προγραμματιστές που δε χρειάζεται να έχουν εκτεταμένες γνώσεις όλων των εμπλεκόμενων υποσυστημάτων (γεγονός πολύ δύσκολο δεδομένου του εύρους γνώσεως που θα απαιτούνταν).

Σε αυτή την κατηγορία των ενδιάμεσων στρωμάτων λογισμικού ανήκει το Node-RED, ένα open source περιβάλλον προγραμματισμού της IBM, που επικεντρώνεται στη γραφική διασύνδεση πηγών πληροφορίας. Στο Node-RED κυρίαρχο ρόλο παίζουν οι κόμβοι υλοποίησης μιας συγκεκριμένης λογικής (π.χ. απόκτηση δεδομένων μέσω RSS, απόκτηση δεδομένων από λογαριασμούς Twitter κλπ.) με τη μορφή συναρτήσεων λογισμικού στο πλαίσιο Node.js της Javascript, και ακολουθεί λογική event driven software (όπου η βασική μορφή event είναι η έλευση ενός νέου πακέτου δεδομένων που ενεργοποιεί τη ροή).

Η βασική δύναμη του εργαλείου είναι η δυνατότητα διασύνδεσης τέτοιων nodes στη λογική ροών (flows), που μεταφέρουν την πληροφορία από έναν κόμβο προς τους επόμενους, εφαρμόζοντας διάφορα ενδιάμεσα βήματα, που μπορεί να περιέχουν φιλτράρισμα, αλλαγή format, εξαγωγή μόνο των χρήσιμων πεδίων data κλπ. Τα δεδομένα μεταφέρονται σαν μηνύματα (msg) δομημένα ανάμεσα στους nodes, δηλαδή με την ενθυλάκωσή τους μέσα σε δομές JSON, ενός lightweight πρωτοκόλλου απεικόνισης, από τις οποίες ένας node μπορεί να επιλέξει μόνο τα πεδία που επιθυμεί (π.χ. msg.data), ή με βάση την τιμή κάποιου πεδίου να ρυθμίσει την πορεία μέσα από τη ροή (με την χρήση αντίστοιχων if-then-else nodes). Αντίστοιχα nodes μπορούν να δημιουργηθούν με custom javascript κώδικα για οποιαδήποτε χρήση.

 

Εκτός των βασικών κόμβων του προγράμματος, υπάρχει και πληθώρα διαθέσιμων κόμβων που έχουν δημιουργηθεί από την κοινότητα του λογισμικού και είναι διαθέσιμοι προς χρήση αν συμπεριληφθούν στην υφιστάμενη εγκατάσταση (οδηγίες παρέχονται από τις σελίδες των κόμβων στο github), καθώς επίσης και flows για μια συγκεκριμένη λειτουργία.Η εύκολη αντιγραφή των τελευταίων βοηθάει την επαναχρησιμοποίηση της ροής.

 

Ένα επίσης χαρακτηριστικό είναι η δυνατότητα εγκατάστασης του πλαισίου σε συσκευές περιορισμένων ικανοτήτων όπως τα Raspberry Pi και η δυνατότητα επιπλέον χρήσης addons, όπως συσκευές ανίχνευσης Bluetooth, που μπορούν να χρησιμοποιηθούν για πληθώρα εφαρμογών πεδίου, με την χρησιμοποίηση και του αντίστοιχου node σε μια συγκεκριμένη ροή.

Μείνετε συντονισμένοι, θα ακολουθήσει σειρά άρθρων με πρακτικά παραδείγματα συγκεκριμένων εφαρμογών και δυνατοτήτων.

Αφήστε ένα μήνυμα

Το email σας δεν θα δημοσιευτεί. Τα πεδία με * είναι απαραίτητα.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Lost Password

Please enter your username or email address. You will receive a link to create a new password via email.