Αρχιτεκτονικός Σχεδιασμός Πλατφόρμας

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

Οι βαθμίδες είναι:

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

Στο Επίπεδο Παρουσίασης το πλαίσιο 3DHOP και η βιβλιοθήκη Three.js υλοποιούν το σύστημα 4D/5D οπτικοποίησης και τις σχετικές λειτουργίες ανάκτησης δεδομένων και αλληλεπίδρασης. Κάθε λειτουργία ή υπηρεσία που βρίσκεται σε άμεση συσχέτιση με αυτά, αναπτύσσεται με επέκταση ή τροποποίηση του κώδικα των συγκεκριμένων εργαλείων. Η συνολική του σχεδίαση ακολουθεί τις αρχές και τα πρότυπα ανάπτυξης ιστού (HTML, CSS και JavaScript). Στο τεχνολογικό σχήμα προστίθενται η βιβλιοθήκη jQuery της JavaScript και το πακέτο εργαλείων μορφοποίησης Bootstrap. Στο επίπεδο εφαρμογής αναπτύσσεται μία RESTful υπηρεσία βασισμένη στον διακομιστή ιστού Apache και στη γλώσσα προγραμματισμού PHP. Συμπληρωματικά πλαίσια χρησιμοποιούνται για τον έλεγχο πρόσβασης και τη διαχείριση περιεχομένου βάσει ρόλων. Τέλος, το σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων MySQL αναλαμβάνει την αποθήκευση και οργάνωση του συνόλου των δεδομένων της πλατφόρμας στο υπόβαθρο του διακομιστή Apache σε περιβάλλον Linux. Το πλάνο του αρχιτεκτονικού σχεδιασμού της πλατφόρμας ‘5dMeteora’ παρουσιάζεται στο παρακάτω Σχήμα. Με γκρι απεικονίζεται το Επίπεδο Αποθήκευσης με τη βάση δεδομένων MySQL, με κίτρινο το Επίπεδο Εφαρμογής και τα δομικά στοιχεία της υπηρεσίες RESTful, με ροζ η βαθμίδα απόδοσης περιεχομένου και με μωβ το γραφικό περιβάλλον χρήστη. Τα δύο τελευταία σχήματα συνθέτουν το Επίπεδο Παρουσίασης. Αναπαριστώνται οι εξής διεργασίες/αλληλεπιδράσεις:

  • Η αποστολή HTTP αιτημάτων από το Επίπεδο Παρουσίασης προς τον Apache διακομιστή, η αντιστοίχησή τους με τις CRUD λειτουργίες, ο καθορισμός των ενεργειών που πρέπει να γίνουν στους πόρους με κλήση της PHP και η μοντελοποίηση τους από το Επίπεδο Εφαρμογής και, τέλος, η ανάλυση της ενέργειας και η εκτέλεσή της ή η αποθήκευση σε SQL δομή (αν πρόκειται για είσοδο του χρήστη) από το Επίπεδο Αποθήκευσης.
  • Η απόκριση του Επιπέδου Αποθήκευσης σε μορφή JSON, η ανάλυση της από το Επίπεδο Εφαρμογής και η μεταβίβαση στο Επίπεδο Παρουσίασης.
  • Η είσοδος εξουσιοδοτημένου χρήστη με τα διαπιστευτήρια του (όνομα χρήστη και κωδικό πρόσβασης), η αντιστοίχησή τους με την CRUD λειτουργία POST/login, η αυθεντικοποίηση των στοιχείων, η ανάκτηση της αδειοδότησης (token) από τη MySQL και η επιστροφή της στον χρήστη.

Όλες αυτές οι λειτουργίες είναι ενεργοποιημένες από το λειτουργικό σύστημα Linux που εκτελείται σε πραγματικό χρόνο. Οι τεχνολογίες της πλατφόρμας βασίζονται στη στοίβα ιστού LAMP, όπως προκύπτει από τα αρχικά των Linux, Apache, MySQL και PHP. Η σειρά εκτέλεσης και ο ρόλος που λαμβάνουν υποδεικνύουν πως ενεργούν και αλληλεπιδρούν. Η LAMP είναι το πιο παλιό και διαδεδομένο μοντέλο στοίβας και διακρίνεται για την ασφάλεια, σταθερότητα και ευελιξία σε όλες τις διεργασίες εκτέλεσης και μεταβίβασης.