Xenofon Koundourakis, "Design and implementation of service oriented architecture for deploying IoT applications in the cloud", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2019
https://doi.org/10.26233/heallink.tuc.81120
Στην παρούσα εργασία, παρουσιάζεται ένα περιβάλλον (πλατφόρμα) για την αυτοματοποιημένη κατασκευή εφαρμογών «Διαδικτύου των Πραγμάτων» (IoT) που θα εξυπηρετούν τον έλεγχο της λειτουργίας ενός οικο-συστήματος (πχ. το επίπεδο της υγρασίας σε μία πόλη, το επίπεδο της θερμοκρασίας σε ένα εργοστάσιο, ή το επίπεδο του φωτισμού σε ένα σπίτι). Οι εφαρμογές απεικονίζουν καταστάσεις ή συμβάντα, που προκύπτουν με την σύνθεση δεδομένων από συσκευές/αισθητήρες συνδεδεμένες στην υποδομή της πλατφόρμας. Το σύστημα υιοθετεί περιγραφές JSON για όλες τις συσκευές της υποδομής και παρέχει μηχανισμό αναζήτησης συσκευών που ικανοποιούν τα κριτήρια (πχ. μοντέλο συσκευής, είδος μετρήσεων, κλπ) συγκεκριμένων εφαρμογών. Οι εφαρμογές κάνουν χρήση της κοινής υποδομής αισθητήρων, πετυχαίνοντας έτσι την επαναχρησιμοποίηση των φυσικών συσκευών από πολλές διαφορετικές εφαρμογές, ενώ ταυτόχρονα ίδιες συσκευές μπορούν να εξυπηρετούν διαφορετική σκοπιμότητα.Η πλατφόρμα ακολουθεί ένα μοντέλο αρχιτεκτονικής 3 επιπέδων (3-tier architecture) όπου κάθε ένα από αυτά εξυπηρετεί διαφορετική λειτουργικότητα για διαφορετικούς τύπους χρηστών. Βασικοί τύποι χρηστών στο σύστημα είναι: (1) Oι ιδιοκτήτες της υποδομής – Διαχειριστές του συστήματος (Infrastructure Owners – System Administrators), έχουν δικαίωμα να εγκαθιστούν και να συνδέουν στην υποδομή συσκευές (ίδιου ή διαφορετικού τύπου) που μπορεί να βρίσκονται σε διαφορετικές γεωγραφικές τοποθεσίες. (2) Oι προγραμματιστές εφαρμογών (Αpplication Developers), δημιουργούν συνδρομές σε συσκευές προκειμένου να τις χρησιμοποιήσουν στις εφαρμογές που θα κατασκευάσουν. (3) Οι τελικοί χρήστες (Customers), είναι «πελάτες» των εφαρμογών, δηλαδή δημιουργούν συνδρομές σε εφαρμογές προκειμένου να έχουν πρόσβαση σε αυτές. Το μοντέλο αυτό (3-tier architecture) συμβάλει στην ευκολότερη επέκταση του συστήματος και στα τρία επίπεδα με την προσθήκη μεγαλύτερου αριθμού συσκευών διάφορων τύπων και περισσότερων εφαρμογών σε διαφορετικά πεδία εφαρμογής.Η υλοποίηση της παρούσας εργασίας, περιλαμβάνει την ανάπτυξη του παραπάνω συστήματος στο υπολογιστικό νέφος, σύμφωνα με τα πρότυπα της «υπηρεσιοκεντρικής αρχιτεκτονικής» (SOA). Τα πειράματα για την απόδοση του συστήματος περιλαμβάνουν πραγματικούς αλλά και εικονικούς αισθητήρες, ενώ τα πειραματικά αποτελέσματα αποδεικνύουν ότι το σύστημα μπορεί να ανταποκριθεί σε πραγματικό χρόνο σε μεγάλο φόρτο εργασίας (χιλιάδες αισθητήρες και χρήστες που χρησιμοποιούν το σύστημα ταυτόχρονα).