From a67d04eac9b346b71b125ce755296b4a6c592913 Mon Sep 17 00:00:00 2001 From: Ezerous Date: Wed, 12 Jan 2022 22:40:13 +0200 Subject: [PATCH] fix: chapter 4 corrections --- .../figures/chapter-4/4.3.concordia-logo.png | Bin 0 -> 26536 bytes .../4.1.implementation-methodology.tex | 4 +-- .../4.2.4.3.libp2p.tex | 2 +- .../4.3.implementation-architecture.tex | 20 +++++++------- .../4.3.1.eth-identity-provider-unit.tex | 2 +- .../4.3.2.concordia-application-service.tex | 26 ++++++++++-------- .../4.3.4.concordia-pinner-service.tex | 2 +- ...5.concordia-contracts-provider-service.tex | 2 +- .../4.3.6.ganache-service.tex | 2 +- .../4.3.7.rendezvous-server-service.tex | 2 +- .../4.3.8.service-communication.tex | 12 ++++---- .../4.4.problems-faced.tex | 12 ++++---- .../4.5.implemented-parts.tex | 12 ++++---- thesis.pdf | Bin 9135421 -> 9172157 bytes 14 files changed, 49 insertions(+), 49 deletions(-) create mode 100644 assets/figures/chapter-4/4.3.concordia-logo.png diff --git a/assets/figures/chapter-4/4.3.concordia-logo.png b/assets/figures/chapter-4/4.3.concordia-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..174e4d8e2835a9d1fce3a62b9cc4746d8e0d5ab3 GIT binary patch literal 26536 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 Z7jKK)Gh$9X2U_od)RZ)#H3}A?{{u@8lP&-N literal 0 HcmV?d00001 diff --git a/chapters/4.application-implementation/4.1.implementation-methodology.tex b/chapters/4.application-implementation/4.1.implementation-methodology.tex index a9d4b98..968ca91 100644 --- a/chapters/4.application-implementation/4.1.implementation-methodology.tex +++ b/chapters/4.application-implementation/4.1.implementation-methodology.tex @@ -6,7 +6,7 @@ Το Git είναι δωρεάν λογισμικό ανοιχτού κώδικα το οποίο επιτρέπει και επικουρεί την απρόσκοπτη ανάπτυξη λογισμικού από πολλαπλά μέλη μίας ομάδας, ταυτόχρονα και διανεμημένα. Αυτό επιτυγχάνεται παρέχοντας ένα πλαίσιο από εργαλεία τα οποία βοηθούν την διαχείριση και ενσωμάτωση των διαφορετικών εκδόσεων του κώδικα τις οποίες αναπτύσσει κάθε μέλος της ομάδας ξεχωριστά. Υπάρχουν διάφορα μοντέλα χρήσης του Git και πιο συγκεκριμένα της δυνατότητας που δίνει για δημιουργία, ανάπτυξη και ένωση (merge) κλαδιών (branches). -Για τους σκοπούς της παρούσας διπλωματικής χρησιμοποιήθηκε το μοντέλο GitHub flow\cite{4.1-github-flow}. Το μοντέλο αυτό ορίζει ότι κάθε προγραμματιστής ανοίγει ένα νέο branch για τη ανάπτυξη ενός χαρακτηριστικού της εφαρμογής ή τη διόρθωση ενός μέρους του κώδικα. Έπειτα, όταν η δουλειά έχει ολοκληρωθεί, δημιουργείται ένα αίτημα ένωσης (pull request) με το βασικό κλαδί ανάπτυξης (develop) της εφαρμογής. Η δουλειά υπόκειται σε αξιολόγηση από την υπόλοιπη ομάδα (review) και όταν κριθεί ότι ικανοποιεί τις ανάγκες του έργου, το branch γίνεται merge με το develop. Όταν το develop φτάσει σε ικανό σημείο σταθερότητας και αλλαγών, γίνεται merge με το branch παραγωγής (master). Από το master δημιουργούνται οι τελικές εκδόσεις της εφαρμογής οι οποίες διανέμονται για χρήση στην παραγωγή (production versions), ενώ από το develop δημιουργούνται οι δοκιμαστικές εκδόσεις αιχμής της εφαρμογής οι οποίες χρησιμοποιούνται κατά τον έλεγχο (staging versions). +Για τους σκοπούς της παρούσας διπλωματικής χρησιμοποιήθηκε το μοντέλο GitHub flow.\cite{4.1-github-flow} Το μοντέλο αυτό ορίζει ότι κάθε προγραμματιστής ανοίγει ένα νέο branch για τη ανάπτυξη ενός χαρακτηριστικού της εφαρμογής ή τη διόρθωση ενός μέρους του κώδικα. Έπειτα, όταν η δουλειά έχει ολοκληρωθεί, δημιουργείται ένα αίτημα ένωσης (pull request) με το βασικό κλαδί ανάπτυξης (develop) της εφαρμογής. Η δουλειά υπόκειται σε αξιολόγηση από την υπόλοιπη ομάδα (review) και όταν κριθεί ότι ικανοποιεί τις ανάγκες του έργου, το branch γίνεται merge με το develop. Όταν το develop φτάσει σε ικανό σημείο σταθερότητας και αλλαγών, γίνεται merge με το branch παραγωγής (master). Από το master δημιουργούνται οι τελικές εκδόσεις της εφαρμογής οι οποίες διανέμονται για χρήση στην παραγωγή (production versions), ενώ από το develop δημιουργούνται οι δοκιμαστικές εκδόσεις αιχμής της εφαρμογής οι οποίες χρησιμοποιούνται κατά τον έλεγχο (staging versions). Το Scrum είναι μία μέθοδος οργάνωσης στην οποία ο επιμελητής του Scrum (Scrum master) διαχωρίζει τα ανεξάρτητα μέρη εργασίας (tasks) που πρέπει να υλοποιηθούν για την ολοκλήρωση των στόχων ενός project. Τα μέρη αυτά περιγράφονται αναλυτικά μαζί με τις απαιτήσεις τους και κατατίθενται σε μία λίστα εργασιών (backlog). Έπειτα, μέσα από συσκέψεις (meetings), επιλέγεται ένας αριθμός από tasks τα οποία ορίζουν το επόμενο προγραμματιστικό κύκλο (sprint). Κάθε task ανατίθεται σε κάποιο μέλος για υλοποίηση. Για το Sprint ορίζεται μία χρονική διάρκεια, στόχος της οποίας είναι η περάτωση όλων των tasks πριν τη λήξη της. Στο τέλος της προθεσμίας που ορίστηκε για το Sprint τα μέλη της ομάδας αποτιμούν τα αποτελέσματα και ορίζουν το επόμενο Sprint. Η διαδικασία επαναλαμβάνεται έως ότου το έργο ολοκληρωθεί. @@ -38,7 +38,7 @@ \item Συνεχής εγκατάσταση (continuous deployment) \end{itemize} -Για την υλοποίηση των τακτικών αυτών επιλέχθηκε μετά από εκτενή έρευνα η πλατφόρμα Jenkins. Το Jenkins συνδυάστηκε με την πλατφόρμα εικονοποίησης Docker ώστε να ακολουθηθούν οι τελευταίες ενδεδειγμένες πρακτικές της βιομηχανίας. Έγινε συγγραφή του αρχείου Jenkinsfile το οποίο περιγράφει με κώδικα την ροή εργασιών (pipeline) που πρέπει να ακολουθηθεί μετά από κάθε αλλαγή στον κώδικα. Η εκτέλεση του pipeline πραγματοποιείται αυτόματα από το Jenkins. +Για την υλοποίηση των τακτικών αυτών επιλέχθηκε μετά από εκτενή έρευνα η πλατφόρμα \hyperref[subsection:4-2-1-3-jenkins]{Jenkins}. Το Jenkins συνδυάστηκε με την πλατφόρμα εικονοποίησης \hyperref[subsection:4-2-1-2-docker]{Docker} ώστε να ακολουθηθούν οι τελευταίες ενδεδειγμένες πρακτικές της βιομηχανίας. Έγινε συγγραφή του αρχείου Jenkinsfile το οποίο περιγράφει με κώδικα την ροή εργασιών (pipeline) που πρέπει να ακολουθηθεί μετά από κάθε αλλαγή στον κώδικα. Η εκτέλεση του pipeline πραγματοποιείται αυτόματα από το Jenkins. Το pipeline αποτελείται από στάδια και βήματα τα οποία φαίνονται στο σχήμα \ref{figure:4.1.implementation-methodology-jenkins-pipeline}: diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.3.libp2p.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.3.libp2p.tex index 6b74c6d..9a3ecef 100644 --- a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.3.libp2p.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.3.libp2p.tex @@ -4,6 +4,6 @@ Η libp2p είναι ένα αρθρωτό σύστημα πρωτοκόλλων, προδιαγραφών και βιβλιοθηκών που επιτρέπουν την ανάπτυξη p2p εφαρμογών. Αποτελεί το υποκείμενο επίπεδο δικτύου του IPFS.\cite{2.7-ipfs-docs} -Ένα από τα υλοποιημένα πρωτόκολλα μεταφοράς δεδομένων της libp2p είναι το libp2p-webrtc-star\footnote{\url{https://github.com/libp2p/js-libp2p-webrtc-star}}. Αποτελεί το πρωτόκολλο μεταφοράς δεδομένων της εφαρμογής, καθώς υποστηρίζεται τόσο από Node.js servers, όσο και από browsers. Περιλαμβάνει, επίσης, έναν signalling server, που επιτρέπει τη γρήγορη ανακάλυψη και διασύνδεση των peers. +Ένα από τα υλοποιημένα πρωτόκολλα μεταφοράς δεδομένων της libp2p είναι το libp2p-webrtc-star\footnote{\url{https://github.com/libp2p/js-libp2p-webrtc-star}}. Αποτελεί πρωτόκολλο μεταφοράς δεδομένων το οποίο υποστηρίζεται τόσο από Node.js servers, όσο και από browsers. Περιλαμβάνει, επίσης, έναν signalling server, που επιτρέπει τη γρήγορη ανακάλυψη και διασύνδεση των peers. Το libp2p-webrtc-star έχει το αποθετήριό του στο GitHub (\url{https://github.com/libp2p/js-libp2p-webrtc-star}) και διατίθεται μέσω του μητρώου npm (\url{https://www.npmjs.com/package/libp2p-webrtc-star}). diff --git a/chapters/4.application-implementation/4.3.implementation-architecture.tex b/chapters/4.application-implementation/4.3.implementation-architecture.tex index 34fef3a..cb1223d 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture.tex @@ -1,9 +1,9 @@ \section{Αρχιτεκτονική υλοποίησης} \label{section:4-3-implementation-architecture} -Το σύστημα υλοποιήθηκε χρησιμοποιώντας το μοντέλο αρχιτεκτονικής των μικροϋπηρεσιών. Το μοντέλο των μικροϋπηρεσιών βασίζεται στην αποδόμηση του συστήματος σε μικρές μονάδες, οι οποίες συνεργάζονται ώστε να προσφέρουν ένα ενιαίο αποτέλεσμα. Η προσέγγιση αυτή έχει πολλά πλεονεκτήματα σε σύγκριση με την ανάπτυξη μονολιθικών εφαρμογών. % todo: add reference +Το περιβάλλον ανάπτυξης της εφαρμογής υλοποιήθηκε χρησιμοποιώντας το μοντέλο αρχιτεκτονικής των μικροϋπηρεσιών. Το μοντέλο των μικροϋπηρεσιών βασίζεται στην αποδόμηση του συστήματος σε μικρές μονάδες, οι οποίες συνεργάζονται ώστε να προσφέρουν ένα ενιαίο αποτέλεσμα. Η προσέγγιση αυτή έχει πολλά πλεονεκτήματα σε σύγκριση με την ανάπτυξη μονολιθικών εφαρμογών. % todo: add reference Ο βασικός λόγος για τον οποίο επιλέχθηκε η αρχιτεκτονική μικροϋπηρεσιών είναι η ευκολία που προσφέρει στη γρήγορη ανάπτυξη καινούριων χαρακτηριστικών, ταυτόχρονα από διαφορετικά μέλη μίας ομάδας, ασύγχρονα και χωρίς την ανάγκη συνεχούς επικοινωνίας και συνεννόησης μεταξύ τους. Αυτό συμβαίνει επειδή κάθε μέρος του συστήματος (υπηρεσία) είναι αυτόνομο και η ανάπτυξή του είναι διαχωρισμένη από το υπόλοιπο σύστημα με το οποίο είναι αδύναμα συνδεδεμένο (loosely coupled). -Το σύστημα συντίθεται από διάφορες μικροϋπηρεσίες, κάποιες από τις οποίες αναπτύχθηκαν στα πλαίσια αυτής της εργασίας ενώ άλλες αποτελούν δωρεάν λογισμικό ανοιχτού κώδικα. Οι μικροϋπηρεσίες αυτές συνοψίζονται στον παρακάτω πίνακα (πίνακας \ref{table:4-3-microservice-summary}). +Το σύστημα του περιβάλλοντος ανάπτυξης συντίθεται από διάφορες μικροϋπηρεσίες, κάποιες από τις οποίες αναπτύχθηκαν στα πλαίσια αυτής της εργασίας, ενώ άλλες αποτελούν δωρεάν λογισμικό ανοιχτού κώδικα. Οι μικροϋπηρεσίες αυτές συνοψίζονται στον παρακάτω πίνακα: \begin{table}[H] \begin{center} @@ -11,20 +11,20 @@ \toprule \textbf{Μικροϋπηρεσία} & \textbf{Σύντομη περιγραφή - Αντικείμενο/Στόχος} \\ \midrule - Concordia Application & Υπηρεσία με την οποία αλληλεπιδρούν οι χρήστες. \\ [0.5ex] - Concordia Contracts Migrator & Υπηρεσία μεταφόρτωσης των συμβολαίων (contracts) στο blockchain. \\ [0.5ex] + Concordia Application & Υπηρεσία με την οποία αλληλεπιδρούν οι χρήστες \\ [0.5ex] + Concordia Contracts Migrator & Υπηρεσία μεταφόρτωσης των συμβολαίων (contracts) στο blockchain \\ [0.5ex] Concordia Pinner & Υπηρεσία καρφιτσώματος δεδομένων. \\ [0.5ex] - Concordia Contracts Provider & Υπηρεσία διαμοιρασμού των contract artifacts μέσω HTTP. \\ [0.5ex] - Ganache & Τοπικό, ιδιωτικό Ethereum blockchain. \\ [0.5ex] - Rendezvous Server & Υπηρεσία εύρεσης ομότιμων χρηστών. \\ [0.5ex] + Concordia Contracts Provider & Υπηρεσία διαμοιρασμού των contract artifacts μέσω HTTP \\ [0.5ex] + Ganache & Τοπικό, ιδιωτικό Ethereum blockchain \\ [0.5ex] + Rendezvous Server & Υπηρεσία εύρεσης ομότιμων χρηστών \\ [0.5ex] \bottomrule \end{tabularx} \end{center} - \caption{Σύντομη περιγραφή υπηρεσιών συστήματος.} + \caption{Σύντομη περιγραφή των υπηρεσιών του περιβάλλοντος ανάπτυξης} \label{table:4-3-microservice-summary} \end{table} -Στα πλαίσια της εργασίας αναπτύχθηκαν επίσης διάφορα αρθρώματα, κυρίως με τη μορφή βιβλιοθηκών Javascript. Τα αρθρώματα χρησιμοποιούνται από τις υπηρεσίες για την επίτευξη των επιμέρους εργασιών. Η ανάπτυξη του λογισμικού σε ξεχωριστά αρθρώματα επιτρέπει την εύκολη επαναχρησιμοποίηση του κώδικα καθώς και τον διαχωρισμό των αυτόνομων τμημάτων κώδικα. Τα αρθρώματα συνοψίζονται στον παρακάτω πίνακα (πίνακας \ref{table:4-3-software-units-summary}). +Στα πλαίσια της εργασίας αναπτύχθηκαν επίσης διάφορα αρθρώματα (modules), κυρίως με τη μορφή βιβλιοθηκών Javascript. Τα αρθρώματα χρησιμοποιούνται από τις υπηρεσίες για την επίτευξη των επιμέρους εργασιών. Η ανάπτυξη του λογισμικού σε ξεχωριστά αρθρώματα επιτρέπει την εύκολη επαναχρησιμοποίηση του κώδικα, καθώς και τον διαχωρισμό των αυτόνομων τμημάτων κώδικα. Τα αρθρώματα συνοψίζονται στον παρακάτω πίνακα: \begin{table}[H] \begin{center} @@ -44,7 +44,7 @@ \label{table:4-3-software-units-summary} \end{table} -Τα αρθρώματα και οι υπηρεσίες θα περιγραφούν σε μεγαλύτερη ανάλυση στα επόμενα κεφάλαια. Στο παρακάτω σχήμα (σχήμα \ref{figure:4-3-architecture-overview}) φαίνεται η συνολική αρχιτεκτονική του συστήματος. +Τα αρθρώματα και οι υπηρεσίες θα περιγραφούν σε μεγαλύτερη ανάλυση στα επόμενα κεφάλαια. Στο παρακάτω σχήμα φαίνεται η συνολική αρχιτεκτονική του συστήματος: \begin{figure}[H] \centering diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.eth-identity-provider-unit.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.eth-identity-provider-unit.tex index c3cb86f..deb72af 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.eth-identity-provider-unit.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.eth-identity-provider-unit.tex @@ -13,4 +13,4 @@ \item Διασφαλίζει ντετερμινιστικές, υπολογίσιμες διευθύνσεις OrbitDB βάσεων για τον κάθε χρήστη. \end{itemize} -Αυτό το άρθρωμα γίνεται διαθέσιμο για χρήση με τη μορφή βιβλιοθήκης μέσω του μητρώου λογισμικού npm (\url{https://www.npmjs.com/package/@ecentrics/eth-identity-provider}), ενώ το αποθετήριό του βρίσκεται στο GitLab (\url{https://gitlab.com/ecentrics/eth-identity-provider}). +Το eth-identity-provider γίνεται διαθέσιμο για χρήση με τη μορφή βιβλιοθήκης μέσω του μητρώου λογισμικού npm (\url{https://www.npmjs.com/package/@ecentrics/eth-identity-provider}), ενώ το αποθετήριό του βρίσκεται στο GitLab (\url{https://gitlab.com/ecentrics/eth-identity-provider}). diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex index 3138fd4..31f768a 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex @@ -2,28 +2,30 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η εφαρμογή Concordia (Concordia Application) εκθέτει τις γραφικές διεπαφές μέσω των οποίων αλληλεπιδρούν οι χρήστες με το σύστημα. Αποτελεί τον δίαυλο επικοινωνίας του τελικού χρήστη με το blockchain και με τη βάση OrbitDB. Η αρχιτεκτονική της υπηρεσίας φαίνεται στο σχήμα \ref{figure:4-3-concordia-application-architecture}. Μέσω της εφαρμογής Concordia οι χρήστες μπορούν να: +\logo{chapter-4/4.3.concordia-logo}{Concordia logo} + +Η εφαρμογή Concordia (Concordia Application) εκθέτει τις γραφικές διεπαφές μέσω των οποίων αλληλεπιδρούν οι χρήστες με το σύστημα. Αποτελεί τον δίαυλο επικοινωνίας του τελικού χρήστη με το blockchain και με τη βάση OrbitDB. Η αρχιτεκτονική της υπηρεσίας φαίνεται στο σχήμα \ref{figure:4-3-concordia-application-architecture}. Μέσω της εφαρμογής Concordia οι χρήστες μπορούν: \begin{itemize} - \item περιηγηθούν και διαβάσουν το περιεχόμενο της πλατφόρμας + \item Να περιηγούνται και να διαβάζουν το περιεχόμενο της πλατφόρμας - \item δημιουργήσουν λογαριασμό χρήστη + \item Να δημιουργήσουν λογαριασμό χρήστη - \item δημοσιεύσουν και τροποποιήσουν προσωπικές τους πληροφορίες όπως η τοποθεσία και η εικόνα προφίλ + \item Να δημοσιεύουν και να τροποποιούν προσωπικές τους πληροφορίες, όπως η τοποθεσία και η εικόνα προφίλ - \item δημιουργήσουν θέματα (topics) + \item Να δημιουργούν θέματα (topics) - \item δημιουργήσουν ψηφοφορίες (polls), καθώς και να ψηφίσουν σε αυτές + \item Να δημιουργούν και να τροποποιούν μηνύματα (posts) - \item δημιουργήσουν και τροποποιήσουν μηνύματα (posts) + \item Να δημιουργούν ψηφοφορίες (polls), καθώς και να ψηφίζουν σε αυτές (εφόσον έχουν το δικαίωμα) - \item υπερψηφίσουν (up-vote) ή καταψηφίσουν (down-vote) μηνύματα άλλων χρηστών + \item Να υπερψηφίζουν (up-vote) ή να καταψηφίζουν (down-vote) μηνύματα άλλων χρηστών \end{itemize} -Η υπηρεσία αποτελείται από κώδικα γραμμένο σε Javascript ο οποίος γίνεται διαθέσιμος στους τελικούς χρήστες με τη μορφή εφαρμογής διαδικτύου (web application) μέσω ενός διακομιστή (server). Παρόλο που η υπηρεσία προσφέρει τη γραφική διεπαφή χρήστη μόνο στην αγγλική γλώσσα, έχει παραμετροποιηθεί ώστε να είναι δυνατή η εύκολη μεταγλώττιση της χωρίς την ανάγκη πραγματοποίησης μεγάλων αλλαγών στον κώδικα. +Η υπηρεσία αποτελείται από κώδικα γραμμένο σε Javascript, ο οποίος γίνεται διαθέσιμος στους τελικούς χρήστες με τη μορφή εφαρμογής διαδικτύου (web application) μέσω ενός διακομιστή (server). Παρόλο που η υπηρεσία προσφέρει τη γραφική διεπαφή χρήστη μόνο στην αγγλική γλώσσα, έχει παραμετροποιηθεί ώστε να είναι δυνατή η εύκολη μεταγλώττιση της χωρίς την ανάγκη πραγματοποίησης μεγάλων αλλαγών στον κώδικα. -Χρησιμοποιείται η βιβλιοθήκη React για την οργάνωση και ανάπτυξη των συνθετικών τμημάτων (components) του γραφικού περιβάλλοντος. Για το γραφικό περιβάλλον γίνεται χρήση του framework της Semantic UI. Χρησιμοποιείται η βιβλιοθήκη Redux για τη διαχείριση κατάστασης της εφαρμογής (state management), -καθώς και η βιβλιοθήκη Redux-Saga για τη διαχείριση ασύγχρονων παράπλευρων ενεργειών (side-effects) σε ένα σύστημα βασισμένο σε συμβάντα (event-based). Άλλες βιβλιοθήκες χρησιμοποιούνται για διάφορα μέρη της υπηρεσίας, ενώ χρησιμοποιούνται επίσης τα αρθρώματα που περιγράφηκαν προηγουμένως για την επίτευξη διαφορετικών στόχων. Ο πλήρης κατάλογος των βιβλιοθηκών και αρθρωμάτων μπορεί να βρεθεί στον κώδικα της υπηρεσίας στο παράρτημα. % todo: add reference to the appendix containing the code or a link to it in the repo +Χρησιμοποιείται η βιβλιοθήκη \hyperref[subsection:4-2-2-1-react]{React} για την οργάνωση και ανάπτυξη των συνθετικών τμημάτων (components) του γραφικού περιβάλλοντος. Για το γραφικό περιβάλλον γίνεται χρήση του framework της Semantic UI\footnote{\url{https://semantic-ui.com/}}. Χρησιμοποιείται η βιβλιοθήκη \hyperref[subsection:4-2-2-2-redux]{Redux} για τη διαχείριση κατάστασης της εφαρμογής (state management), +καθώς και η βιβλιοθήκη \hyperref[subsection:4-2-2-3-redux-saga]{Redux-Saga} για τη διαχείριση ασύγχρονων παράπλευρων ενεργειών (side-effects) σε ένα σύστημα βασισμένο σε συμβάντα (event-based). Άλλες βιβλιοθήκες χρησιμοποιούνται για διάφορα μέρη της υπηρεσίας, ενώ χρησιμοποιούνται επίσης τα αρθρώματα που περιγράφηκαν προηγουμένως για την επίτευξη διαφορετικών στόχων. Ο πλήρης κατάλογος των βιβλιοθηκών και αρθρωμάτων μπορεί να βρεθεί στον κώδικα της υπηρεσίας στο παράρτημα. % todo: add reference to the appendix containing the code or a link to it in the repo \begin{figure}[H] \centering @@ -34,7 +36,7 @@ Για τη λειτουργία της υπηρεσία Concordia Application είναι απαραίτητα τα αντικείμενα (artifacts) που προκύπτουν από τη μεταγλώττιση των contracts και τη μεταφόρτωση/δημοσίευσή τους στο blockchain. Για την εισαγωγή των artifacts στην υπηρεσία έχουν αναπτυχθεί δύο μέθοδοι. -Η πρώτη μέθοδος είναι η μεταγλώττιση και μεταφόρτωση των contracts πριν την παραγωγή του πακέτου λογισμικού της υπηρεσίας για τελική χρήση (production build). Με αυτό τον τρόπο η υπηρεσία θα έχει πρόσβαση στα artifacts μέσω της βιβλιοθήκης που παράγεται από το άρθρωμα concordia-contracts. Αυτή η μέθοδος έχει το μειονέκτημα ότι το τελικό πακέτο λογισμικού (production build) ``δένεται'' με όποια συγκεκριμένη έκδοση των contracts είναι διαθέσιμη κατά τη δημιουργία του πακέτου. Αυτό σημαίνει ότι σε ενδεχόμενη ενημέρωση των contracts πρέπει αναγκαστικά να δημιουργηθεί και νέα έκδοση του πακέτου λογισμικού της υπηρεσίας Concordia Application. +Η πρώτη μέθοδος είναι η μεταγλώττιση και μεταφόρτωση των contracts πριν την παραγωγή του πακέτου λογισμικού της υπηρεσίας για τελική χρήση (production build). Με αυτόν τον τρόπο η υπηρεσία θα έχει πρόσβαση στα artifacts μέσω της βιβλιοθήκης που παράγεται από το άρθρωμα concordia-contracts. Αυτή η μέθοδος έχει το μειονέκτημα ότι το τελικό πακέτο λογισμικού (production build) "δένεται" με όποια συγκεκριμένη έκδοση των contracts είναι διαθέσιμη κατά τη δημιουργία του πακέτου. Αυτό σημαίνει ότι σε ενδεχόμενη ενημέρωση των contracts πρέπει αναγκαστικά να δημιουργηθεί και νέα έκδοση του πακέτου λογισμικού της υπηρεσίας Concordia Application. Για την αποφυγή του παραπάνω προβλήματος αναπτύχθηκε η δεύτερη μέθοδος προσκόμισης των contract artifacts, η οποία είναι η λήψη τους (download) από μία άλλη τοποθεσία στο διαδίκτυο. Σε αυτή τη μέθοδο, η εφαρμογή κατά την εκκίνησή της πραγματοποιεί ένα HTTP αίτημα (HTTP request) σε διεύθυνση η οποία δίνεται ως μεταβλητή περιβάλλοντος (environment variable). Η απάντηση του αιτήματος αναμένεται να περιέχει τα artifacts ώστε η εφαρμογή να τα χρησιμοποιήσει. diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex index 00be8ca..17c886c 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex @@ -14,7 +14,7 @@ Η υπηρεσία αυτή υλοποιήθηκε για να εγγυηθεί η διαθεσιμότητα του περιεχομένου του συστήματος που αποθηκεύεται στο IPFS (τίτλοι θεμάτων, περιεχόμενο μηνυμάτων και άλλα). Λόγω του τρόπου λειτουργίας του IPFS, το περιεχόμενο που αναρτούν οι χρήστες πρέπει να καρφιτσώνεται από άλλους χρήστες ή αυτόνομες εφαρμογές, όπως η υπηρεσία Concordia Pinner, ώστε να είναι διαθέσιμο. Αν το περιεχόμενο δεν καρφιτσωθεί, τότε θα είναι διαθέσιμο στους υπόλοιπους χρήστες μόνο από τον δημιουργό του, έτσι αν αυτός δεν είναι ενεργός στο δίκτυο, το περιεχόμενο θα είναι αδύνατο να βρεθεί. -Η υπηρεσία συνδέεται στο blockchain από όπου παρακολουθεί την κατάσταση του συστήματος και ``ακούει'' για νέους χρήστες, θέματα και μηνύματα. Η υπηρεσία συνδέεται επίσης στο IPFS, έτσι όταν δημιουργηθεί νέο περιεχόμενο στο σύστημα το καρφιτσώνει αυτόματα. Με αυτό τον τρόπο, διατηρώντας την υπηρεσία πάντα διαθέσιμη, για παράδειγμα εκτελώντας τη σε περιβάλλον διακομιστή (server), διαβεβαιώνεται η διαθεσιμότητα του περιεχομένου. +Η υπηρεσία συνδέεται στο blockchain από όπου παρακολουθεί την κατάσταση του συστήματος και "ακούει" για νέους χρήστες, θέματα, μηνύματα και ψηφοφορίες. Η υπηρεσία συνδέεται επίσης στο IPFS, έτσι όταν δημιουργηθεί νέο περιεχόμενο στο σύστημα το καρφιτσώνει αυτόματα. Με αυτό τον τρόπο, διατηρώντας την υπηρεσία πάντα διαθέσιμη, για παράδειγμα εκτελώντας τη σε περιβάλλον διακομιστή (server), διαβεβαιώνεται η διαθεσιμότητα του περιεχομένου. \subsubsection{Διανομή} diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.5.concordia-contracts-provider-service.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.5.concordia-contracts-provider-service.tex index f99d1b9..ba2d0ed 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.5.concordia-contracts-provider-service.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.5.concordia-contracts-provider-service.tex @@ -15,4 +15,4 @@ \subsubsection{Διανομή} -Η υπηρεσία αυτή γίνεται διαθέσιμη για χρήση ως docker image μέσω του αποθετηρίου εικόνων dockerhub. Οι χρήστες μπορούν χρησιμοποιώντας μεταβλητές περιβάλλοντος να αλλάξουν παραμέτρους της εκτέλεσης όπως η διαδρομή αποθήκευσης των μεταφορτωμένων contract artifacts. \ No newline at end of file +Η υπηρεσία αυτή γίνεται διαθέσιμη για χρήση ως docker image μέσω του αποθετηρίου εικόνων dockerhub. Οι χρήστες μπορούν χρησιμοποιώντας μεταβλητές περιβάλλοντος να αλλάξουν παραμέτρους της εκτέλεσης, όπως τη διαδρομή αποθήκευσης των μεταφορτωμένων contract artifacts. \ No newline at end of file diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.6.ganache-service.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.6.ganache-service.tex index 9f28f48..57a7d19 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.6.ganache-service.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.6.ganache-service.tex @@ -2,7 +2,7 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία Ganache αποτελεί μία εφαρμογή τερματικού η οποία είναι μέρος της δωρεάν σουίτας ανοιχτού λογισμικού Truffle. Η εφαρμογή δημιουργεί ένα τοπικό, ιδιωτικό blockchain το οποίο ακολουθεί το πρότυπο του Ethereum. Επίσης, η εφαρμογή δρα ως miner στο δίκτυο, διεκπεραιώνοντας όλες τις συναλλαγές. +Η συγκεκριμένη υπηρεσία αξιοποιεί την CLI έκδοση του \hyperref[subsection:4-2-3-2-ganache]{Ganache}, δημιουργώντας ένα τοπικό ιδιωτικό Ethereum blockchain για τους σκοπούς ανάπτυξης της εφαρμογής Concordia. \subsubsection{Διανομή} diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.7.rendezvous-server-service.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.7.rendezvous-server-service.tex index 5d6c638..42fc030 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.7.rendezvous-server-service.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.7.rendezvous-server-service.tex @@ -2,7 +2,7 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία Rendezvous Server αποτελεί δωρεάν λογισμικό ανοιχτού κώδικα το οποίο χρησιμοποιήθηκε (αλλά δεν αναπτύχθηκε) στα πλαίσια της διπλωματικής και υλοποιεί το πρωτόκολλο rendezvous για την εύρεση ομότιμων χρηστών (peers). Η υπηρεσία είναι απαραίτητη για τη λειτουργία του IPFS, ώστε οι ομότιμοι χρήστες (peers) να μπορούν να ανακαλύψουν τις διευθύνσεις των υπόλοιπων χρηστών του δικτύου. +Η υπηρεσία Rendezvous Server παρέχει έναν signalling server, ο οποίος υιοθετεί το \hyperref[subsection:4-2-4-3-libp2p]{Libp2p} πρωτόκολλο μεταφοράς δεδομένων libp2p-webrtc-star. Μέσω αυτού παρέχεται στους ομότιμους χρήστες (peers) η δυνατότητα ανακάλυψης των διευθύνσεων των υπόλοιπων χρηστών στο δίκτυο του IPFS. \subsubsection{Διανομή} diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.8.service-communication.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.8.service-communication.tex index 41f99c7..c1fa1ac 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.8.service-communication.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.8.service-communication.tex @@ -1,6 +1,6 @@ \subsection{Διασύνδεση υπηρεσιών} \label{subsection:4-3-8-service-communication} -Στο μοντέλο των μικροϋπηρεσιών, βασικό χαρακτηριστικό είναι η επικοινωνία των ξεχωριστών υπηρεσιών και η ανταλλαγή μηνυμάτων για την επίτευξη των λειτουργικοτήτων του συστήματος. Σε αυτήν την υποενότητα θα αναλυθεί ο τρόπος με τον οποίο οι μικροϋπηρεσίες επικοινωνούν μεταξύ τους καθώς και η φύση και το περιεχόμενο των μηνυμάτων που ανταλλάσουν. +Στο μοντέλο των μικροϋπηρεσιών, βασικό χαρακτηριστικό είναι η επικοινωνία των ξεχωριστών υπηρεσιών και η ανταλλαγή μηνυμάτων για την επίτευξη των λειτουργικοτήτων του συστήματος. Σε αυτήν την υποενότητα θα αναλυθεί ο τρόπος με τον οποίο οι μικροϋπηρεσίες επικοινωνούν μεταξύ τους, καθώς και η φύση και το περιεχόμενο των μηνυμάτων που ανταλλάσουν. Στο παρακάτω σχήμα (σχήμα \ref{figure:4-3-communications-graph}) φαίνεται ο γράφος που οπτικοποιεί τα κανάλια επικοινωνίας μεταξύ των μικροϋπηρεσιών, καθώς και τα κανάλια επικοινωνίας των μικροϋπηρεσιών με το blockchain. @@ -14,13 +14,13 @@ Εδώ αναλύεται η επικοινωνία κάθε μικροϋπηρεσίας: \begin{itemize} - \item \textbf{Contracts Migrator}: η υπηρεσία εκτελεί αίτημα HTTP κατά την μεταφόρτωση των \textenglish{contracts} στο Ethereum blockchain, επίσης εκτελεί αίτημα HTTP για την μεταφόρτωση των contract artifacts στην υπηρεσία Contracts Provider + \item \textbf{Contracts Migrator}: Η υπηρεσία εκτελεί αίτημα HTTP κατά την μεταφόρτωση των \textenglish{contracts} στο Ethereum blockchain. Eπίσης, εκτελεί αίτημα HTTP για την μεταφόρτωση των contract artifacts στην υπηρεσία Contracts Provider. - \item \textbf{Concordia Application}: η υπηρεσία εκτελεί αίτημα HTTP για την λήψη των contract \textenglish{artifacts} από την υπηρεσία Contracts Provider, εκτελεί αιτήματα HTTP για την διενέργεια συναλλαγών στο Ethereum blockchain και τέλος δημιουργεί κανάλι UDP επικοινωνίας με την υπηρεσία Rendezvous Server για την ανακάλυψη ομότιμων χρηστών (peers) στο δίκτυο IPFS + \item \textbf{Concordia Application}: Η υπηρεσία εκτελεί αίτημα HTTP για την λήψη των contract \textenglish{artifacts} από την υπηρεσία Contracts Provider, εκτελεί αιτήματα HTTP για την διενέργεια συναλλαγών στο Ethereum blockchain και, τέλος, δημιουργεί κανάλι επικοινωνίας UDP με την υπηρεσία Rendezvous Server, για την ανακάλυψη ομότιμων χρηστών (peers) στο δίκτυο IPFS. - \item \textbf{Pinner}: η υπηρεσία εκτελεί αίτημα HTTP για την λήψη των contract artifacts από την υπηρεσία Contracts Provider, εκτελεί αιτήματα HTTP για την ανανέωση και παρατήρηση της κατάστασης του contract στο Ethereum blockchain και τέλος δημιουργεί κανάλι UDP επικοινωνίας με την υπηρεσία Rendezvous Server για την ανακάλυψη peers στο δίκτυο IPFS + \item \textbf{Pinner}: Η υπηρεσία εκτελεί αίτημα HTTP για την λήψη των contract artifacts από την υπηρεσία Contracts Provider, εκτελεί αιτήματα HTTP για την ανανέωση και παρατήρηση της κατάστασης του contract στο Ethereum blockchain και τέλος δημιουργεί κανάλι επικοινωνίας UDP με την υπηρεσία Rendezvous Server για την ανακάλυψη peers στο δίκτυο IPFS. - \item \textbf{Rendezvous Server}: η υπηρεσία διατηρεί ανοιχτά κανάλια UDP επικοινωνίας με τους ομότιμους χρήστες μέσω των οποίων ενημερώνει την λίστα των διαθέσιμων, ενεργών χρηστών + \item \textbf{Rendezvous Server}: Η υπηρεσία διατηρεί ανοιχτά κανάλια επικοινωνίας UDP με τους ομότιμους χρήστες, μέσω των οποίων ενημερώνει την λίστα των διαθέσιμων, ενεργών χρηστών. - \item \textbf{Contracts Provider}: η υπηρεσία δεν υποκινεί καμία επικοινωνία παρά μόνο απαντά σε αιτήματα επικοινωνία από άλλες υπηρεσίες + \item \textbf{Contracts Provider}: Η υπηρεσία δεν υποκινεί καμία επικοινωνία, παρά μόνο απαντά σε αιτήματα επικοινωνίας από άλλες υπηρεσίες. \end{itemize} \ No newline at end of file diff --git a/chapters/4.application-implementation/4.4.problems-faced.tex b/chapters/4.application-implementation/4.4.problems-faced.tex index da50822..55f42bc 100644 --- a/chapters/4.application-implementation/4.4.problems-faced.tex +++ b/chapters/4.application-implementation/4.4.problems-faced.tex @@ -1,8 +1,8 @@ \section{Προβλήματα ανάπτυξης} \label{section:4-4-problems-faced} -Σε αυτό το κεφάλαιο θα περιγραφούν οι μεγαλύτερες δυσκολίες που αντιμετωπίστηκαν κατά την ανάπτυξη της πλατφόρμας. Αυτές μπορεί να αναφέρονται σε τεχνικά θέματα αλλά και στις κοινωνικές και πολιτισμικές συνθήκες που επικρατούν στον χώρο των DApps και του crypto γενικότερα. +Σε αυτήν την ενότητα περιγράφονται οι μεγαλύτερες δυσκολίες που αντιμετωπίστηκαν κατά την ανάπτυξη της πλατφόρμας. Αυτές μπορεί να αναφέρονται σε τεχνικά θέματα, αλλά και στις κοινωνικές και πολιτισμικές συνθήκες που επικρατούν στον χώρο των DApps και των crypto γενικότερα. -Μία από τις μεγαλύτερες τροχοπέδες που καθυστέρησε σοβαρά την ανάπτυξη ήταν η πρωιμότητα των βιβλιοθηκών και εργαλείων ανάπτυξης. Οι βασικότερες βιβλιοθήκες που χρησιμοποιήθηκαν ήταν σε πρώτο ή δεύτερο πειραματικό στάδιο (alpha και beta phase αντίστοιχα). Συγκεκριμένα: +Μία από τις μεγαλύτερες τροχοπέδες που καθυστέρησε σοβαρά την ανάπτυξη ήταν η πρωιμότητα των βιβλιοθηκών και των εργαλείων ανάπτυξης. Οι βασικότερες βιβλιοθήκες που χρησιμοποιήθηκαν ήταν σε πρώτο ή δεύτερο πειραματικό στάδιο (alpha και beta phase αντίστοιχα). Συγκεκριμένα: \begin{itemize} \item Όλα τα εργαλεία της σουίτας Truffle ήταν σε alpha phase κατά την ανάπτυξη (κάποια έχουν περάσει σε beta πλέον). @@ -11,10 +11,10 @@ \item Η γλώσσα των contracts, Solidity, ακόμα δεν έχει βγάλει version 1.0 καθώς αλλάζει διαρκώς με breaking changes\footnote{Από τη σελίδα του πηγαίου κώδικα \url{https://github.com/ethereum/solidity}}. \end{itemize} -Αυτή η έλλειψη αυτή ώριμων βιβλιοθηκών και εργαλείων προκάλεσε μείζονα προβλήματα. Συχνά έπρεπε να διορθωθούν προβλήματα των βιβλιοθηκών ή να γίνει δουλειά που να τα παρακάμπτει. Άλλες φορές χρειάστηκαν πολλές ώρες αποσφαλμάτωσης και δοκιμών ώστε να δουλέψουν τα χαρακτηριστικά που υπόσχονταν τα εργαλεία. +Αυτή η έλλειψη ώριμων βιβλιοθηκών και εργαλείων προκάλεσε μείζονα προβλήματα. Συχνά έπρεπε να διορθωθούν προβλήματα των βιβλιοθηκών, ή να γίνει δουλειά που να τα παρακάμπτει. Άλλες φορές απαιτήθηκαν πολλές ώρες αποσφαλμάτωσης και δοκιμών ώστε να λειτουργήσουν τα χαρακτηριστικά που υπόσχονταν τα εργαλεία. -Ένα άλλο πρόβλημα ήταν η έλλειψη εργαλείων για ορισμένες διαδικασίες. Δύο βασικά παραδείγματα αυτού αποτελούν, πρώτων η έλλειψη υποστήριξης για integration/end-to-end testing των contracts κατά την ανάπτυξη (πλέον υπάρχουν κάποιες λύσεις) και δεύτερων η έλλειψη έτοιμων διαδικασιών, plugins και integrations του Jenkins με τα εργαλεία ανάπτυξης και ειδικά με τη σουίτα Truffle. +Ένα άλλο πρόβλημα ήταν η έλλειψη εργαλείων για ορισμένες διαδικασίες. Δύο βασικά παραδείγματα αυτού αποτελούν πρώτον η έλλειψη υποστήριξης για integration/end-to-end testing των contracts κατά την ανάπτυξη (πλέον υπάρχουν κάποιες λύσεις) και δεύτερον η έλλειψη έτοιμων διαδικασιών, plugins και integrations του Jenkins με τα εργαλεία ανάπτυξης και ειδικά με τη σουίτα Truffle. -Σε παρόμοια κατάσταση βρίσκεται και η γενική συναίνεση σχετικά με τα best practices. Σε διάφορα μέρη της ανάπτυξης παρατηρήθηκε ότι δεν υπήρχε κάποια διαμορφωμένη άποψη στην κοινότητα και κάθε ομάδα ανάπτυξης εφάρμοζε την δική της ιδέα. Αυτό καθιστά δύσκολη την ανάπτυξη από αρχάριους προγραμματιστές χωρίς καθοδήγηση. Ένα άλλο, σχετικό πρόβλημα που παρατηρήθηκε είναι ότι στον χώρο υπάρχει ακόμα πολλής θόρυβος, δηλαδή σημαντικό μέρος των πηγών που βρίσκονται στο διαδίκτυο είναι αντικρουόμενες ή σε πολλές περιπτώσεις οι προτάσεις τους απορρίπτονται από την κοινότητα. +Σε παρόμοια κατάσταση βρίσκεται και η γενική συναίνεση σχετικά με τα best practices. Σε διάφορα μέρη της ανάπτυξης παρατηρήθηκε ότι δεν υπήρχε κάποια διαμορφωμένη άποψη στην κοινότητα και κάθε ομάδα ανάπτυξης εφάρμοζε την δική της ιδέα. Αυτό καθιστά δύσκολη την ανάπτυξη από αρχάριους προγραμματιστές χωρίς καθοδήγηση. Ένα άλλο σχετικό πρόβλημα που παρατηρήθηκε είναι ότι στον χώρο υπάρχει ακόμα πολύς θόρυβος, δηλαδή σημαντικό μέρος των πηγών που βρίσκονται στο διαδίκτυο είναι αντικρουόμενες ή σε πολλές περιπτώσεις οι προτάσεις τους απορρίπτονται από την κοινότητα. -Τελικώς, ένα μη τεχνικό ζήτημα που έπρεπε να αντιμετωπιστεί είναι η αβεβαιότητα της βιωσιμότητας, εξέλιξης και αποδοχής της τεχνολογίας blockchain και των εφαρμογών που βασίζονται σε αυτή από το ευρύ κοινό. Αυτό συναίνεσε αρνητικά καθώς δημιούργησε μία επιτακτικότητα προσοχής της εμπειρίας του χρήστη (UX), κάτι που φυσιολογικά δεν αποτελεί σημαντικό μέρος της ανάπτυξης ενός PoC. Η ανάγκη για προσοχή του UX πηγάζει από την ανάγκη για συγκράτηση των χρηστών (user retention) με στόχο την αντιστροφή της αβεβαιότητας και την παροχή μίας γνησίως ευχάριστης εμπειρίας. +Τελικώς, ένα μη τεχνικό ζήτημα που έπρεπε να αντιμετωπιστεί είναι η αβεβαιότητα της βιωσιμότητας, εξέλιξης και αποδοχής της τεχνολογίας blockchain και των εφαρμογών που βασίζονται σε αυτήν από το ευρύ κοινό. Αυτό συναίνεσε αρνητικά, καθώς δημιούργησε μία επιτακτικότητα προσοχής της εμπειρίας του χρήστη (UX), κάτι που φυσιολογικά δεν αποτελεί σημαντικό μέρος της ανάπτυξης ενός PoC. Η ανάγκη για προσοχή του UX πηγάζει από την ανάγκη για συγκράτηση των χρηστών (user retention) με στόχο την αντιστροφή της αβεβαιότητας και την παροχή μίας γνησίως ευχάριστης εμπειρίας. diff --git a/chapters/4.application-implementation/4.5.implemented-parts.tex b/chapters/4.application-implementation/4.5.implemented-parts.tex index de68aa3..fa88a7a 100644 --- a/chapters/4.application-implementation/4.5.implemented-parts.tex +++ b/chapters/4.application-implementation/4.5.implemented-parts.tex @@ -1,6 +1,8 @@ \section{Χαρακτηριστικά που υλοποιήθηκαν} \label{section:4-5-implemented-parts} -Κατά την υλοποίηση εμφανίστηκαν διάφορα προβλήματα που δεν είχαν προβλεφθεί όπως αναλύθηκε στο προηγούμενο κεφάλαιο και τα οποία προκάλεσαν καθυστερήσεις στην ολοκλήρωση των tasks. Λόγω των καθυστερήσεων αυτών έγιναν διάφορες αναδιαμορφώσεις του προγραμματισμού των Sprint καθώς και διαπραγματεύσεις της σημαντικότητας των χαρακτηριστικών. Από τον επανασχεδιασμό και τις προσαρμογές αυτές προέκυψαν μερικές αλλαγές στο τελικό σετ των χαρακτηριστικών της πλατφόρμας σε σχέση με ό,τι είχε αρχικά προδιαγραφεί. Τα χαρακτηριστικά που υλοποιήθηκαν τελικά είναι: +Όπως αναλύθηκε στο προηγούμενο κεφάλαιο, κατά την υλοποίηση εμφανίστηκαν διάφορα προβλήματα που δεν είχαν προβλεφθεί και τα οποία προκάλεσαν καθυστερήσεις στην ολοκλήρωση των tasks. Λόγω των καθυστερήσεων αυτών έγιναν διάφορες αναδιαμορφώσεις του προγραμματισμού των Sprint καθώς και διαπραγματεύσεις της σημαντικότητας των χαρακτηριστικών. Από τον επανασχεδιασμό και τις προσαρμογές αυτές προέκυψαν μερικές αλλαγές στο τελικό σετ των χαρακτηριστικών της πλατφόρμας σε σχέση με ό,τι είχε αρχικά προδιαγραφεί. + +Τα χαρακτηριστικά που τελικά υλοποιήθηκαν είναι: \begin{itemize} \item Η εγγραφή χρήστη και η δημιουργία των τοπικών βάσεων του, όπως περιγράφονται στις \ref{srs:functional-srs-sign-up} \& \ref{srs:functional-srs-create-user-databases} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-signup}. @@ -16,16 +18,12 @@ Τα παραπάνω αντιστοιχούν σε 11 ολοκληρωμένες από τις 13 προδιαγεγραμμένες ΛΑ ή πλήρωση 84.6\%, ποσοστό που θεωρείται από τους συγγραφείς επαρκές για την εξαγωγή συμπερασμάτων για τον χώρο των DApps και υπερβάλλον για τα πλαίσια ενός PoC. Στο παράρτημα \ref{screenshots-appendix} παρατίθενται τα στιγμιότυπα οθόνης των υλοποιημένων χαρακτηριστικών. -Τα χαρακτηριστικά τα οποία παραλήφθηκαν είναι τα παρακάτω: - -\begin{itemize} - \item Η δημιουργία κοινοτήτων και ο ορισμός εξωτερικών contracts για τα tokens τους, όπως περιγράφονται στις \ref{srs:functional-srs-create-communities} \& \ref{srs:functional-srs-assign-community-contract} και στο σενάριο χρήσης \ref{subsection:3-10-use-case-create-community}. -\end{itemize} +Το χαρακτηριστικά το οποία παραλήφθηκε είναι η δημιουργία κοινοτήτων και ο ορισμός εξωτερικών contracts για τα tokens τους, όπως περιγράφονται στις \ref{srs:functional-srs-create-communities} \& \ref{srs:functional-srs-assign-community-contract} και στο σενάριο χρήσης \ref{subsection:3-10-use-case-create-community}. Τέλος, η ΜΛΑ που αφορά την ελαχιστοποίηση των fees (\ref{srs:non-functional-srs-minimize-fees}) ακολουθήθηκε κατά το δυνατόν σε όλη τη διαδικασία σχεδιασμού και υλοποίησης. Η ΜΛΑ σχετικά με την αναβαθμισιμότητα των contracts (\ref{srs:non-functional-srs-upgrade-contracts}) καταστρατηγήθηκε λόγω του χρόνου που θα απαιτούσε μία τέτοια υλοποίηση. Η \ref{srs:non-functional-srs-maximum-decentraliztion} απαιτεί την μεγιστοποίηση της αποκέντρωσης της πλατφόρμας. Παρότι υπάρχουν μέρη τα οποία φαινομενικά έχει παραβιαστεί, όπως η διάθεση της εφαρμογής και των contract artifacts μέσω κεντροποιημένων servers καθώς και η ύπαρξη του rendezvous server, στην πραγματικότητα έχει ακολουθηθεί σε ικανοποιητικό βαθμό. Σχετικά με την εφαρμογή και τα contracts, πάρθηκε η απόφαση να διατεθούν μέσω των αντίστοιχων servers επειδή αυτό προσφέρει μεγάλη ευελιξία και ευκολία στην ανάπτυξη. Θα μπορούσαν εύκολα να διατεθούν μέσω αποκεντρωμένων συστημάτων όπως torrents ή το IPFS και αυτό παραμένει ένα ανοιχτό θέμα. Επίσης ανοιχτό θέμα παραμένει η ανάγκη ύπαρξης του rendezvous server. Λόγω της φύσης του πρωτοκόλλου IPFS και της λειτουργίας που επιτελεί ο server αυτός, είναι αδύνατον να παραληφθεί, ωστόσο είναι ανοιχτό ερευνητικό πεδίο η περαιτέρω αποκέντρωση του πρωτοκόλλου. -% https://mnot.github.io/avoiding-internet-centralization/draft-nottingham-avoiding-internet-centralization.html#name-necessary-centralization +%TODO: https://mnot.github.io/avoiding-internet-centralization/draft-nottingham-avoiding-internet-centralization.html#name-necessary-centralization \subsection{Διαφορές σχεδιασμού-υλοποίησης} \label{subsection:4-6-1-design-implementation-differences} diff --git a/thesis.pdf b/thesis.pdf index 8bb2e37232530e98b3224ad28617143b36e34840..733b03fb780da171d375308c2e1184a807a8173c 100644 GIT binary patch delta 126698 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 delta 90168 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 z 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 i*1s~Me*QMT{=vQujzm%#^hqW=KS+(jV(