diff --git a/assets/figures/chapter-3/3.2.technology.stack.png b/assets/figures/chapter-3/3.2.technology.stack.png new file mode 100644 index 0000000..cca9ec6 Binary files /dev/null and b/assets/figures/chapter-3/3.2.technology.stack.png differ diff --git a/assets/figures/chapter-3/simple_dapp_stack.png b/assets/figures/chapter-3/simple_dapp_stack.png deleted file mode 100644 index d53e7c0..0000000 Binary files a/assets/figures/chapter-3/simple_dapp_stack.png and /dev/null differ diff --git a/chapters/3.application-design/3.2.technology-stack.tex b/chapters/3.application-design/3.2.technology-stack.tex index fdf2557..8202535 100644 --- a/chapters/3.application-design/3.2.technology-stack.tex +++ b/chapters/3.application-design/3.2.technology-stack.tex @@ -5,16 +5,16 @@ \begin{enumerate} \item \textbf{Presentation tier}: Αποτελεί τη διεπαφή του χρήστη (user interface ή UI), μέσω της οποίας ο τελευταίος αλληλεπιδρά με την εφαρμογή. Για την εκπλήρωση των προδιαγραφών, το μοναδικό απαραίτητο χαρακτηριστικό αυτού του τμήματος είναι να μπορεί να εκτελείται αυτούσιο από τη συσκευή του τελικού χρήστη, δηλαδή να μην απαιτείται η ύπαρξη κάποιου εξυπηρετητή για τη λειτουργία του. Λαμβάνοντας, επιπροσθέτως, υπόψιν τις ανάγκες και τους περιορισμούς των λογισμικών των άλλων δύο επιπέδων, το παρόν κομμάτι αποφασίστηκε να σχεδιαστεί ως μία client-side web application σε HTML/CSS/JS. - \item \textbf{Application tier}: Πρόκειται για το επίπεδο που πραγματοποιεί την επεξεργασία (processing) της εφαρμογης. Εδώ επιλέχθηκαν το blockchain και τα smart contracts, καθώς τα θετικά τους χαρακτηριστικά, όπως αυτά περιγράφηκαν στο κεφάλαιο \ref{chapter:2-theoretical-background}, ταίριαξαν απόλυτα με τις ιδιαίτερες απαιτήσεις της εφαρμογής. Συγκεκριμένα, επιλέχθηκε η πλατφόρμα του Ethereum, καθώς αποτελεί τον πρωτοπόρο στο χώρο, με λειτουργικές εφαρμογές και την ισχυρότερη κοινότητα. + \item \textbf{Application tier}: Πρόκειται για το επίπεδο που πραγματοποιεί την επεξεργασία (\textenglish{processing}) της εφαρμογης. Εδώ επιλέχθηκαν το blockchain και τα smart contracts, καθώς τα πλεονεκτήματά τους, όπως αυτά περιγράφηκαν στο κεφάλαιο \ref{chapter:2-theoretical-background}, αρμόζουν απόλυτα με τις ιδιαίτερες απαιτήσεις της εφαρμογής. Συγκεκριμένα, επιλέχθηκε η πλατφόρμα του Ethereum, καθώς αποτελεί τον πρωτοπόρο στο χώρο, διαθέτοντας την ισχυρότερη κοινότητα και την δυνατότητα δημιουργίας πλήρως λειτουργικών εφαρμογών. - \item \textbf{Data tier}: Το τμήμα αυτό είναι υπεύθυνο για την αποθήκευση των δεδομένων (storage). Για την επίτευξη πλήρους αρχιτεκτονικής αποκέντρωσης των δεδομένων επιλέχθηκε το IPFS (ενότητα \ref{section:2-7-ipfs}), το οποίο διανέμει το περιεχόμενο της εφαρμογής στους peers που συμμετέχουν σε αυτήν. + \item \textbf{Data tier}: Το τμήμα αυτό είναι υπεύθυνο για την αποθήκευση του κύριου όγκου των δεδομένων (storage). Για την επίτευξη πλήρους αρχιτεκτονικής αποκέντρωσης των δεδομένων επιλέχθηκε το IPFS (βλ. ενότητα \ref{section:2-7-ipfs}), το οποίο διανέμει το περιεχόμενο της εφαρμογής στους peers που συμμετέχουν σε αυτήν, χωρίς να απαιτεί κάποιο κεντρικό σημείο. Έτσι, κάθε χρήστης θα έχει πλήρη κυριότητα επί των δεδομένων του, ενώ, επιπλέον, θα συμμετέχει στην πλατφόρμα διαμοιράζοντας τα δεδομένα άλλων χρηστών. \end{enumerate} Τελικά, με τη διασύνδεση των προαναφερθέντων τεχνολογιών, προκύπτει σχηματικά η ακόλουθη διάταξη: -% TODO: change this +% TODO: Create proper diagram \begin{figure}[H] \centering - \includegraphics[width=.75\textwidth]{assets/figures/chapter-3/simple_dapp_stack} + \includegraphics[width=.75\textwidth]{assets/figures/chapter-3/3.2.technology.stack} \caption{Τεχνολογική στοίβα} \end{figure} diff --git a/thesis.pdf b/thesis.pdf index cb77598..8ca0bcb 100644 Binary files a/thesis.pdf and b/thesis.pdf differ