From e5ce75d28305e0bb1bd72abc3064bed969c7e3d9 Mon Sep 17 00:00:00 2001 From: Ezerous Date: Mon, 14 Feb 2022 15:04:21 +0200 Subject: [PATCH] fix: service pack 2 --- bibliography/references.bib | 15 ------- .../2.3.merkle-trees.tex | 4 +- .../2.4.p2p-networks.tex | 6 +-- .../2.5.blockchain.tex | 2 +- .../3.0.application-design.tex | 2 +- .../3.3.design-methodology.tex | 10 ++--- .../3.7.architecture-design.tex | 2 +- ...plementation-methodology-specification.tex | 2 + .../4.1.implementation-methodology.tex | 38 +++++++++--------- .../4.2.1.1.node.js.tex | 2 +- .../4.2.3.1.truffle.tex | 2 +- .../4.2.3.2.ganache.tex | 2 +- .../4.3.implementation-architecture.tex | 4 +- .../4.3.1.concordia-contracts-unit.tex | 2 +- .../4.3.1.concordia-shared-unit.tex | 2 +- .../4.3.2.concordia-application-service.tex | 15 ++++--- .../4.3.3.concordia-contracts-migrator.tex | 6 +-- .../4.3.4.concordia-pinner-service.tex | 6 +-- ...5.concordia-contracts-provider-service.tex | 8 ++-- .../4.3.6.ganache-service.tex | 2 +- .../4.3.7.rendezvous-server-service.tex | 2 +- .../4.3.8.service-communication.tex | 2 +- .../4.3.9.data-flow.tex | 17 +++++--- .../4.4.problems-faced.tex | 8 ++-- .../4.5.implemented-parts.tex | 28 +++++++------ .../5.1.conclusions.tex | 4 +- chapters/appendix/appendix-a.tex | 4 +- thesis.pdf | Bin 21412823 -> 21413299 bytes 28 files changed, 98 insertions(+), 99 deletions(-) diff --git a/bibliography/references.bib b/bibliography/references.bib index 866c56e..fd55d7b 100644 --- a/bibliography/references.bib +++ b/bibliography/references.bib @@ -25,11 +25,6 @@ doi = {10.1007/s102070100002}, url = {https://doi.org/10.1007/s102070100002} } -@online{2.3-merkle-tree, - title = {Merkle tree}, - author = {Wikipedia}, - url = {https://en.wikipedia.org/wiki/Merkle_tree} -} @online{2.3-merkle-proofs-explained, title = {Merkle proofs Explained.}, author = {Belavadi Prahalad}, @@ -50,11 +45,6 @@ journal = {Cryptography Mailing list at https://metzdowd.com}, date = {2008-10-31} } -@misc{2.5-blockchain, - title = {Blockchain}, - author = {Wikipedia}, - url = {https://en.wikipedia.org/wiki/Blockchain} -} @online{2.6-ethereum-whitepaper, title = {Ethereum Whitepaper}, author = {Vitalik Buterin}, @@ -100,11 +90,6 @@ author = {GitHub Guides}, url = {https://guides.github.com/introduction/flow/} } -@misc{4.2-node.js, - title = {Node.js}, - author = {Wikipedia}, - url = {https://en.wikipedia.org/wiki/Node.js} -} @misc{4.2-orbitdb, title = {OrbitDB}, url = {https://orbitdb.org} diff --git a/chapters/2.theoretical-background/2.3.merkle-trees.tex b/chapters/2.theoretical-background/2.3.merkle-trees.tex index 5beade5..453c2d6 100644 --- a/chapters/2.theoretical-background/2.3.merkle-trees.tex +++ b/chapters/2.theoretical-background/2.3.merkle-trees.tex @@ -1,6 +1,6 @@ \section{Δένδρα Merkle} \label{section:2-3-merkle-trees} -Ένα δένδρο Merkle (Merkle tree ή hash tree) είναι μία δενδρική δομή δεδομένων, η οποία απαρτίζεται από φύλλα (leaf nodes) που περιέχουν hashes από blocks δεδομένων και από άλλους κόμβους (non-leaf nodes) που περιέχουν hashes των hashes των θυγατρικών τους. Στην κορυφή του δένδρου βρίσκεται ο ριζικός κόμβος με το λεγόμενο root hash.\cite{2.3-merkle-tree} +Ένα δένδρο Merkle (Merkle tree ή hash tree) είναι μία δενδρική δομή δεδομένων, η οποία απαρτίζεται α) από φύλλα (leaf nodes) που περιέχουν hash από block δεδομένων και β) από άλλους κόμβους (non-leaf nodes) που περιέχουν τα hash της συνενώσεων των hash των θυγατρικών τους. Στην κορυφή του δένδρου βρίσκεται ο ριζικός κόμβος με το λεγόμενο root hash. Η πιο συνηθισμένη υλοποίηση είναι το δυαδικό (binary) δένδρο Merkle, το οποίο περιλαμβάνει δύο θυγατρικούς κόμβους (child nodes) κάτω από κάθε γονικό (non-leaf) κόμβο, και είναι αυτό που αναλύεται στη συνέχεια. @@ -10,7 +10,7 @@ \caption{Παράδειγμα δυαδικού δένδρου Merkle} \end{figure} -Τα Merkle trees επιτρέπουν την αποδοτική και ασφαλή επαλήθευση των περιεχομένων που ανήκουν σε σετ δεδομένων μεγάλου μεγέθους. Η βασική ιδιότητα είναι ότι για κάθε σετ δεδομένων υπάρχει ακριβώς ένα πιθανό δένδρο, το οποίο δε γίνεται να τροποποιηθεί χωρίς να αλλάξει ταυτόχρονα και το root hash. +Τα Merkle tree επιτρέπουν την αποδοτική και ασφαλή επαλήθευση των περιεχομένων που ανήκουν σε σετ δεδομένων μεγάλου μεγέθους. Η βασική ιδιότητα είναι ότι για κάθε σετ δεδομένων υπάρχει ακριβώς ένα πιθανό δένδρο, το οποίο δε γίνεται να τροποποιηθεί χωρίς να αλλάξει ταυτόχρονα και το root hash. Έτσι, μέσω των λεγόμενων Merkle proof, μπορούμε: \begin{itemize} diff --git a/chapters/2.theoretical-background/2.4.p2p-networks.tex b/chapters/2.theoretical-background/2.4.p2p-networks.tex index d9100ce..ceed53f 100644 --- a/chapters/2.theoretical-background/2.4.p2p-networks.tex +++ b/chapters/2.theoretical-background/2.4.p2p-networks.tex @@ -8,11 +8,11 @@ \caption{Αρχιτεκτονικές δικτύων client-server και P2P} \end{figure} -Τα P2P networks μπορούν να χωριστούν σε δύο κατηγορίες: +Τα P2P network μπορούν να χωριστούν σε δύο κατηγορίες: \begin{itemize} - \item Στα "Καθαρά" (Pure) P2P networks, στα οποία ισχύει ότι η αφαίρεση ενός τυχαίου κόμβου από το δίκτυο δεν προκαλεί κάποιο πρόβλημα σε αυτό. - \item Στα "Υβριδικά" (Hybrid) P2P networks, στα οποία συμμετέχουν επιπλέον και κεντρικές οντότητες, παρέχοντας απαραίτητα τμήματα των προσφερόμενων υπηρεσιών. + \item Στα "Καθαρά" (Pure) P2P network, στα οποία ισχύει ότι η αφαίρεση ενός τυχαίου κόμβου από το δίκτυο δεν προκαλεί κάποιο πρόβλημα σε αυτό. + \item Στα "Υβριδικά" (Hybrid) P2P network, στα οποία συμμετέχουν επιπλέον και κεντρικές οντότητες, παρέχοντας απαραίτητα τμήματα των προσφερόμενων υπηρεσιών. \end{itemize} Από εδώ και στο εξής, εάν δεν αναφέρεται ρητά η κατηγορία κάποιου P2P network, θα εννοείται ότι ανήκει στην πρώτη. \ No newline at end of file diff --git a/chapters/2.theoretical-background/2.5.blockchain.tex b/chapters/2.theoretical-background/2.5.blockchain.tex index 9ebdf92..a88e5bc 100644 --- a/chapters/2.theoretical-background/2.5.blockchain.tex +++ b/chapters/2.theoretical-background/2.5.blockchain.tex @@ -2,7 +2,7 @@ Το blockchain αποτελεί μία διανεμημένη δημόσια σειρά δεδομένων, που διατηρεί έναν αμετάβλητο ως προς το ιστορικό του κατάλογο (immutable ledger) ψηφιακών συναλλαγών (digital transactions) ενός αγαθού (asset), π.χ. ενός νομίσματος (currency ή token). Περιγράφηκε για πρώτη φορά το 2008 από ένα άτομο (ή μία ομάδα ανθρώπων) με το ψευδώνυμο Satoshi Nakamoto, αποτελώντας τη βάση του κρυπτονομίσματος (cryptocurrency) Bitcoin.\cite{2.5-bitcoin} -Δομικό στοιχείο του blockchain είναι το μπλοκ (block), το οποίο περιέχει μία ομάδα έγκυρων συναλλαγών που έχουν κατακερματιστεί και κωδικοποιηθεί σε ένα δένδρο Merkle, το hash του προηγούμενου μπλοκ και μερικά ακόμα μεταδεδομένα (π.χ. nonce, timestamp). Έτσι, κάθε νέο μπλοκ "δείχνει" στο προηγούμενό του μέσω του hash, επιβεβαιώνοντας την ακεραιότητά του, με τα διαδεχόμενα μπλοκ να σχηματίζουν τελικά μία αλυσίδα, μέχρι το αρχικό μπλοκ, το οποίο είναι γνωστό ως το μπλοκ γένεσης (genesis block).\cite{2.5-blockchain} +Δομικό στοιχείο του blockchain είναι το μπλοκ (block), το οποίο περιέχει μία ομάδα έγκυρων συναλλαγών που έχουν κατακερματιστεί και κωδικοποιηθεί σε ένα δένδρο Merkle, το hash του προηγούμενου μπλοκ και μερικά ακόμα μεταδεδομένα (π.χ. nonce, timestamp). Έτσι, κάθε νέο μπλοκ "δείχνει" στο προηγούμενό του μέσω του hash, επιβεβαιώνοντας την ακεραιότητά του, με τα διαδεχόμενα μπλοκ να σχηματίζουν τελικά μία αλυσίδα, μέχρι το αρχικό μπλοκ, το οποίο είναι γνωστό ως το μπλοκ γένεσης (genesis block). \begin{figure}[H] \centering diff --git a/chapters/3.application-design/3.0.application-design.tex b/chapters/3.application-design/3.0.application-design.tex index 2704833..d2022af 100644 --- a/chapters/3.application-design/3.0.application-design.tex +++ b/chapters/3.application-design/3.0.application-design.tex @@ -1,6 +1,6 @@ \chapter{Σχεδίαση εφαρμογής}\label{chapter:3-application-design} -Σε αυτό το κεφάλαιο περιγράφεται η διαδικασία σχεδίασης της εφαρμογής Concordia, από τη σύλληψη της ιδέας και την επιλογή της τεχνολογικής στοίβας, μέχρι τον ορισμό της αρχιτεκτονικής της και τον διαχωρισμό του προγραμματιστικού έργου σε sprints. +Σε αυτό το κεφάλαιο περιγράφεται η διαδικασία σχεδίασης της εφαρμογής Concordia, από τη σύλληψη της ιδέας και την επιλογή της τεχνολογικής στοίβας, μέχρι τον ορισμό της αρχιτεκτονικής της και τον διαχωρισμό του προγραμματιστικού έργου σε Sprint. \input{chapters/3.application-design/3.1.idea-conception} \input{chapters/3.application-design/3.2.technology-stack} diff --git a/chapters/3.application-design/3.3.design-methodology.tex b/chapters/3.application-design/3.3.design-methodology.tex index b4d7422..3395674 100644 --- a/chapters/3.application-design/3.3.design-methodology.tex +++ b/chapters/3.application-design/3.3.design-methodology.tex @@ -1,14 +1,14 @@ \section{Μεθοδολογία σχεδίασης} \label{section:3-3-design-methodology} -Στον χώρο της τεχνολογίας λογισμικού υπάρχουν διάφορες μεθοδολογίες σχεδίασης οι οποίες έχουν μεταξύ τους κοινά στοιχεία. Αυτό καθιστά δύσκολο τον προσδιορισμό μίας μόνο μεθοδολογίας η οποία να ακολουθείται πιστά σε κάθε έργο. Συνήθως, οι ομάδες που αναπτύσσουν το λογισμικό ακολουθούν μία μίξη από διάφορα εργαλεία, όπου αυτά κρίνονται βολικά για τους στόχους της ομάδας. % todo: need reference for this +Στον χώρο της τεχνολογίας λογισμικού υπάρχουν διάφορες μεθοδολογίες σχεδίασης, οι οποίες έχουν μεταξύ τους κοινά στοιχεία. Αυτό καθιστά δύσκολο τον προσδιορισμό μίας μόνο μεθοδολογίας η οποία να ακολουθείται πιστά σε κάθε έργο. Συνήθως, οι ομάδες που αναπτύσσουν το λογισμικό ακολουθούν μία μίξη από διάφορα εργαλεία, όπου αυτά κρίνονται ευνοϊκά για τους στόχους της ομάδας. % todo: need reference for this -Κατά την σχεδίαση και την υλοποίηση του κώδικα ακολουθήθηκαν διάφορες τεχνικές και μοτίβα ανάπτυξης. Κατά βάση χρησιμοποιήθηκαν Agile μέθοδοι όπως το Kanban και το Scrum και αργότερα στην ανάπτυξη το DevOps μοντέλο για διαρκή ενσωμάτωση (Continuous Integration) και διαρκή εγκατάσταση (Continuous Deployment). +Κατά τη σχεδίαση και την υλοποίηση του κώδικα ακολουθήθηκαν διάφορες τεχνικές και μοτίβα ανάπτυξης. Κατά βάση χρησιμοποιήθηκαν Agile μέθοδοι, όπως το Kanban και το Scrum και, αργότερα στην ανάπτυξη, το DevOps μοντέλο για διαρκή ενσωμάτωση (Continuous Integration) και διαρκή εγκατάσταση (Continuous Deployment). -Για την παρούσα εργασία, πραγματοποιήθηκε ανάλυση και σχεδιασμός των επιμέρους μονάδων εργασίας (tasks) πριν την έναρξη της διαδικασίας ανάπτυξης του κώδικα. Τα task που προδιαγράφηκαν ήταν συνήθως epics\footnote{Τα epics είναι μεγάλες μονάδες εργασίας, οι οποίες αφορούν σε κάποιο βασικό χαρακτηριστικό. Ο διαχωρισμός τους σε επιμέρους task αναβάλλεται με σκοπό την καλύτερη κατανόηση των αναγκών τους.} τα οποία αργότερα χωρίστηκαν σε επιμέρους, μικρότερα task. Ορίστηκαν επίσης ορόσημα (milestones) τα οποία βοήθησαν ιδιαίτερα στην ιεράρχηση και προτεραιοποίηση των task. +Για την παρούσα εργασία, πραγματοποιήθηκε ανάλυση και σχεδιασμός των επιμέρους μονάδων εργασίας (tasks) πριν την έναρξη της διαδικασίας ανάπτυξης του κώδικα. Τα task που προδιαγράφηκαν ήταν συνήθως epic\footnote{Τα epic είναι μεγάλες μονάδες εργασίας, οι οποίες αφορούν σε κάποιο βασικό χαρακτηριστικό. Ο διαχωρισμός τους σε επιμέρους task αναβάλλεται με σκοπό την καλύτερη κατανόηση των αναγκών τους.} τα οποία αργότερα χωρίστηκαν σε επιμέρους, μικρότερα task. Ορίστηκαν επίσης ορόσημα (milestones) τα οποία βοήθησαν ιδιαίτερα στην ιεράρχηση και προτεραιοποίηση των task. -Το Kanban είναι μία μέθοδος οργάνωσης έργων και οπτικοποίησης των μονάδων εργασίας που απαιτούνται για την ολοκλήρωσή τους. Στο Kanban ορίζονται τα βασικά στάδια της ροής ενός task και χρησιμοποιούνται οπτικά μέσα, ώστε να γίνει ιχνηλάτηση τόσο της συνολικής κατάστασης του έργου, όσο και συγκεκριμένων-μεμονωμένων task καθώς αυτά προοδεύουν. Για κάθε στάδιο ολοκλήρωσης ορίζεται μία ξεχωριστή ουρά εργασιών (στήλη), για παράδειγμα "σε αναμονή", "σε εξέλιξη", "ολοκληρωμένο". Χρησιμοποιούνται οπτικά σινιάλα (χρώματα, tags και άλλα) για τον διαχωρισμό και την γρήγορη κατανόηση των σημαντικότερων γνωρισμάτων των task, για παράδειγμα ξεχωριστό tag για κάθε υπηρεσία στην οποία αναφέρεται το task. Επίσης, ορίζονται όρια στον αριθμό των task που μπορούν να είναι ταυτόχρονα σε εξέλιξη. +Το Kanban είναι μία μέθοδος οργάνωσης έργων και οπτικοποίησης των μονάδων εργασίας που απαιτούνται για την ολοκλήρωσή τους. Στο Kanban ορίζονται τα βασικά στάδια της ροής ενός task και χρησιμοποιούνται οπτικά μέσα, ώστε να γίνει ιχνηλάτηση τόσο της συνολικής κατάστασης του έργου, όσο και συγκεκριμένων-μεμονωμένων task καθώς αυτά προοδεύουν. Για κάθε στάδιο ολοκλήρωσης ορίζεται μία ξεχωριστή ουρά εργασιών (στήλη), για παράδειγμα "σε αναμονή", "σε εξέλιξη", "ολοκληρωμένο". Χρησιμοποιούνται οπτικά σινιάλα (χρώματα, tags και άλλα) για τον διαχωρισμό και τη γρήγορη κατανόηση των σημαντικότερων γνωρισμάτων των task, για παράδειγμα ξεχωριστό tag για κάθε υπηρεσία στην οποία αναφέρεται το task. Επίσης, ορίζονται όρια στον αριθμό των task που μπορούν να είναι ταυτόχρονα σε εξέλιξη. -Μία άλλη Agile μέθοδος είναι το Scrum. Το Scrum χρησιμοποιεί και επεκτείνει το Kanban. Η βασικές διαφορές του με το Kanban είναι ότι στο Scrum υπάρχουν πιο αυστηρές διαδικασίες. Ορίζονται προγραμματιστικοί κύκλοι (sprints), οι οποίοι έχουν συγκεκριμένες ημερομηνίες έναρξης και λήξης και συγκεκριμένους στόχους, οι οποίοι αντικατοπτρίζονται σε στόχους ολοκλήρωσης ορισμένων task. Οι ρόλοι είναι σαφέστεροι, με κάθε μέλος της ομάδας να αναλαμβάνει διαφορετικές ευθύνες στην οργάνωση και εκτέλεση. Για τη διαδικασία ανάπτυξης, υπήρξε πολύ χρήσιμη η χρήση του Scrum σε περιόδους που ήταν αναγκαία η ταχύτατη ανάπτυξη καίριων μερών του συστήματος. Αυτό λόγω της αυστηρότητας που επιβάλλει, ειδικά σε ό,τι αφορά στις προθεσμίες ολοκλήρωσης τόσο των επιμέρους task, όσο και του συνολικού sprint. +Μία άλλη Agile μέθοδος είναι το Scrum. Το Scrum χρησιμοποιεί και επεκτείνει το Kanban. Η βασικές διαφορές του με το Kanban είναι ότι στο Scrum υπάρχουν πιο αυστηρές διαδικασίες. Ορίζονται προγραμματιστικοί κύκλοι (Sprints), οι οποίοι έχουν συγκεκριμένες ημερομηνίες έναρξης και λήξης και συγκεκριμένους στόχους, οι οποίοι αντικατοπτρίζονται σε στόχους ολοκλήρωσης ορισμένων task. Οι ρόλοι είναι σαφέστεροι, με κάθε μέλος της ομάδας να αναλαμβάνει διαφορετικές ευθύνες στην οργάνωση και εκτέλεση. Για τη διαδικασία ανάπτυξης, αποδείχθηκε πολύ χρήσιμη η χρήση του Scrum σε περιόδους που ήταν αναγκαία η ταχύτατη ανάπτυξη καίριων μερών του συστήματος. Αυτό λόγω της αυστηρότητας που επιβάλλει, ειδικά σε ό,τι αφορά στις προθεσμίες ολοκλήρωσης τόσο των επιμέρους task, όσο και του συνολικού Sprint. Καθώς η αναπτυξιακή διαδικασία ωριμάζει και η πλατφόρμα μετατρέπεται σε βιώσιμο προϊόν, είναι χρήσιμη η ύπαρξη ενός συστήματος που να διευκολύνει τη δημιουργία και τη δημοσίευση καινούργιων εκδόσεων. Μερικές εξαιρετικές μέθοδοι για την απρόσκοπτη και αυτοματοποιημένη επίτευξη αυτού του στόχου ορίζονται από το DevOps. Με τον όρο DevOps (development operations) αναφέρεται μία κουλτούρα σχεδίασης και ανάπτυξης λογισμικού που ορίζει τους ρόλους, τις διαδικασίες και τις τεχνολογίες της, με σκοπό τη συνεχή δημιουργία αξίας για τους χρήστες. Το DevOps έχει πολύ στενή σχέση με το Agile και αποτελεί τη συνέχιση αυτής της νοοτροπίας στον χώρο. diff --git a/chapters/3.application-design/3.7.architecture-design.tex b/chapters/3.application-design/3.7.architecture-design.tex index f838084..690f9d5 100644 --- a/chapters/3.application-design/3.7.architecture-design.tex +++ b/chapters/3.application-design/3.7.architecture-design.tex @@ -19,5 +19,5 @@ \item Ο κώδικας του frontend εκτελείται αποκλειστικά στο σύστημα του χρήστη, χωρίς να απαιτείται κάποιος εξυπηρετητής. Δηλαδή, ο χρήστης αρκεί απλά να έχει τον κώδικα αποθηκευμένο στον υπολογιστή του. \item Ο χρήστης αλληλεπιδρά άμεσα με το UI και το MetaMask. Το MetaMask αποτελεί browser add-on, το οποίο διαχειρίζεται τα ιδιωτικά κλειδιά Ethereum του χρήστη και πραγματοποιεί τις συναλλαγές του τελευταίου με τα smart contract. Στην προκειμένη περίπτωση, περιέχει τα κλειδιά που σχετίζονται αφενός με τη διεύθυνση με την οποία ο χρήστης εγγράφεται στην πλατφόρμα, αφετέρου με τις διευθύνσεις που περιέχουν τα token των κοινοτήτων στις οποίες ανήκει και έχει δικαιώματα ψήφου. \item Στο frontend εκτελείται στο παρασκήνιο ένας κόμβος για το IPFS. Αυτός συνδέεται με άλλους κατάλληλους κόμβους, διαμοιράζοντας τον κύριο όγκο των δεδομένων της εφαρμογής (π.χ. του περιεχομένου των μηνυμάτων). - \item Τέλος, στο Ethereum blockchain υπάρχουν τόσο τα contracts της εφαρμογής, όσο και τα εξωτερικά contracts που παρέχουν τα token των κοινοτήτων. Τα μεν λειτουργούν ως το σημείο αναφοράς της εφαρμογής, επί του οποίου εκτελούνται οι ενέργειες και αποθηκεύονται οι μεταβλητές που είναι απολύτως απαραίτητες για τη λειτουργία της πλατφόρμας (π.χ. εγγεγραμμένοι χρήστες, δημιουργημένες κοινότητες). Τα δε δημιουργούνται από εξωτερικές οντότητες, οι οποίες ορίζουν κατά τη βούλησή τους τον ακριβή τρόπο δημιουργίας και διαμοιρασμού των token τους στους χρήστες. + \item Τέλος, στο Ethereum blockchain υπάρχουν τόσο τα contract της εφαρμογής, όσο και τα εξωτερικά contracts που παρέχουν τα token των κοινοτήτων. Τα μεν λειτουργούν ως το σημείο αναφοράς της εφαρμογής, επί του οποίου εκτελούνται οι ενέργειες και αποθηκεύονται οι μεταβλητές που είναι απολύτως απαραίτητες για τη λειτουργία της πλατφόρμας (π.χ. εγγεγραμμένοι χρήστες, δημιουργημένες κοινότητες). Τα δε δημιουργούνται από εξωτερικές οντότητες, οι οποίες ορίζουν κατά τη βούλησή τους τον ακριβή τρόπο δημιουργίας και διαμοιρασμού των token τους στους χρήστες. \end{itemize} \ No newline at end of file diff --git a/chapters/3.application-design/3.8.implementation-methodology-specification.tex b/chapters/3.application-design/3.8.implementation-methodology-specification.tex index 79e8a3c..5cfd9c2 100644 --- a/chapters/3.application-design/3.8.implementation-methodology-specification.tex +++ b/chapters/3.application-design/3.8.implementation-methodology-specification.tex @@ -17,6 +17,8 @@ \newpage Εποπτικά, η διαδικασία της υλοποίησης περιγράφεται στο παρακάτω σχήμα: +\vspace{\baselineskip} + \begin{figure}[H] \centering \includegraphics[width=\textwidth]{assets/figures/chapter-3/3.8.implementation-methodology-specification-sprints.png} diff --git a/chapters/4.application-implementation/4.1.implementation-methodology.tex b/chapters/4.application-implementation/4.1.implementation-methodology.tex index b6a4f5c..8a7858e 100644 --- a/chapters/4.application-implementation/4.1.implementation-methodology.tex +++ b/chapters/4.application-implementation/4.1.implementation-methodology.tex @@ -4,23 +4,23 @@ Μέσα από την χρήση των παραπάνω εργαλείων επιτυγχάνεται η ομαλή συνεργασία στην ανάπτυξη του λογισμικού. Κάθε μέλος της ομάδας δύναται να εργαστεί ανεξάρτητα και χωρίς την ανάγκη διαρκούς επικοινωνίας με τα υπόλοιπα μέλη. Οι στόχοι είναι ορισμένοι, σαφείς και χωρισμένοι σε διαχειρίσιμα μέρη τα οποία δεν καταβάλλουν τα μέλη. Ταυτόχρονα, έχοντας ως έδρα καθιερωμένα πρότυπα ανάπτυξης, παρέχεται φορμαλισμός και έτοιμες μέθοδοι επίλυσης προβλημάτων, γεγονός που λειτουργεί καταλυτικά και βοηθά στην αποφυγή τελμάτων κατά τη συγγραφή του κώδικα. -Το Git είναι δωρεάν λογισμικό ανοιχτού κώδικα το οποίο επιτρέπει και επικουρεί την απρόσκοπτη ανάπτυξη λογισμικού από πολλαπλά μέλη μίας ομάδας, ταυτόχρονα και διανεμημένα. Αυτό επιτυγχάνεται παρέχοντας ένα πλαίσιο από εργαλεία τα οποία βοηθούν την διαχείριση και ενσωμάτωση των διαφορετικών εκδόσεων του κώδικα τις οποίες αναπτύσσει κάθε μέλος της ομάδας ξεχωριστά. Υπάρχουν διάφορα μοντέλα χρήσης του Git και πιο συγκεκριμένα της δυνατότητας που δίνει για δημιουργία, ανάπτυξη και ένωση (merge) κλαδιών (branches). +Το Git\footnote{\url{https://git-scm.com/}} είναι δωρεάν λογισμικό ανοιχτού κώδικα το οποίο επιτρέπει και επικουρεί την απρόσκοπτη ανάπτυξη λογισμικού από πολλαπλά μέλη μίας ομάδας, ταυτόχρονα και διανεμημένα. Αυτό επιτυγχάνεται παρέχοντας ένα πλαίσιο από εργαλεία τα οποία βοηθούν την διαχείριση και ενσωμάτωση των διαφορετικών εκδόσεων του κώδικα τις οποίες αναπτύσσει κάθε μέλος της ομάδας ξεχωριστά. Υπάρχουν διάφορα μοντέλα χρήσης του 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). -Το Scrum είναι μία μέθοδος οργάνωσης στην οποία ο επιμελητής του Scrum (Scrum master) διαχωρίζει τα ανεξάρτητα μέρη εργασίας (tasks) που πρέπει να υλοποιηθούν για την ολοκλήρωση των στόχων ενός project. Τα μέρη αυτά περιγράφονται αναλυτικά μαζί με τις απαιτήσεις τους και κατατίθενται σε μία λίστα εργασιών (backlog). Έπειτα, μέσα από συσκέψεις (meetings), επιλέγεται ένας αριθμός από tasks τα οποία ορίζουν το επόμενο προγραμματιστικό κύκλο (sprint). Κάθε task ανατίθεται σε κάποιο μέλος για υλοποίηση. Για το Sprint ορίζεται μία χρονική διάρκεια, στόχος της οποίας είναι η περάτωση όλων των tasks πριν τη λήξη της. Στο τέλος της προθεσμίας που ορίστηκε για το Sprint τα μέλη της ομάδας αποτιμούν τα αποτελέσματα και ορίζουν το επόμενο Sprint. Η διαδικασία επαναλαμβάνεται έως ότου το έργο ολοκληρωθεί. +Το Scrum είναι μία μέθοδος οργάνωσης στην οποία ο επιμελητής του Scrum (Scrum master) διαχωρίζει τα ανεξάρτητα μέρη εργασίας (tasks) που πρέπει να υλοποιηθούν για την ολοκλήρωση των στόχων ενός project. Τα μέρη αυτά περιγράφονται αναλυτικά μαζί με τις απαιτήσεις τους και κατατίθενται σε μία λίστα εργασιών (backlog). Έπειτα, μέσα από συσκέψεις (meetings), επιλέγεται ένας αριθμός από task τα οποία ορίζουν το επόμενο προγραμματιστικό κύκλο (Sprint). Κάθε task ανατίθεται σε κάποιο μέλος για υλοποίηση. Για το Sprint ορίζεται μία χρονική διάρκεια, στόχος της οποίας είναι η περάτωση όλων των task πριν τη λήξη της. Στο τέλος της προθεσμίας που ορίστηκε για το Sprint τα μέλη της ομάδας αποτιμούν τα αποτελέσματα και ορίζουν το επόμενο Sprint. Η διαδικασία επαναλαμβάνεται έως ότου το έργο ολοκληρωθεί. -Λόγω του πολύ μικρού μεγέθους της ομάδας, το Scrum ακολουθήθηκε ελαστικά. Συγκεκριμένα, δεν ορίστηκε ένας συγκεκριμένος επιμελητής του board αλλά κάθε μέλος της ομάδας φρόντιζε για τον ορισμό και την περιγραφή ενός μέρους των tasks. Τα sprints δεν ήταν συνεχόμενα και δεν είχαν πάντα τον ίδιο χρόνο εκτέλεσης αλλά προσαρμόζονταν ανάλογα με τις εκάστοτε ανάγκες και τον χρόνο των μελών. Κατά βάση, χρησιμοποιήθηκε η μέθοδος Kanban (που χρησιμοποιείται από το ίδιο το Scrum), για την οπτικοποίηση των tasks. Τα tasks χωρίστηκαν κατά κύριο λόγο στις παρακάτω λίστες: +Λόγω του πολύ μικρού μεγέθους της ομάδας, το Scrum ακολουθήθηκε ελαστικά. Συγκεκριμένα, δεν ορίστηκε ένας συγκεκριμένος επιμελητής του board αλλά κάθε μέλος της ομάδας φρόντιζε για τον ορισμό και την περιγραφή ενός μέρους των task. Τα Sprint δεν ήταν συνεχόμενα και δεν είχαν πάντα τον ίδιο χρόνο εκτέλεσης, αλλά προσαρμόζονταν ανάλογα με τις εκάστοτε ανάγκες και τον χρόνο των μελών. Για την οπτικοποίηση των task χρησιμοποιήθηκε κατά βάση η μέθοδος Kanban (που χρησιμοποιείται από το ίδιο το Scrum). Τα task χωρίστηκαν κατά κύριο λόγο στις παρακάτω λίστες: \begin{itemize} - \item "Αναμονής" (backlog), η οποία περιέχει tasks τα οποία δεν έχουν ακόμα εισαχθεί σε κάποιο sprint - \item "Ενεργού sprint" (sprint/todo), που περιλαμβάνει tasks τα οποία συμμετέχουν στο ενεργό (τρέχον) sprint - \item "Εκτέλεσης" (in progress/doing), η οποία περιλαμβάνει tasks για τα οποία έχει ξεκινήσει η ανάπτυξη από κάποιο μέλος της ομάδας - \item "Ελέγχου και αξιολόγησης" (testing/code review), η οποία περιέχει tasks των οποίων η ανάπτυξη έχει ολοκληρωθεί και βρίσκονται στο στάδιο ελέγχου (testing) ή αναμονής σε pull request - \item "Ολοκλήρωσης" (done), που περιλαμβάνει tasks τα οποία έχουν τελειώσει, δηλαδή των οποίων η ανάπτυξη έχει ολοκληρωθεί και το pull request έχει γίνει merge + \item "Αναμονής" (backlog), η οποία περιέχει task τα οποία δεν έχουν ακόμα εισαχθεί σε κάποιο sprint + \item "Ενεργού Sprint" (sprint/todo), που περιλαμβάνει task τα οποία συμμετέχουν στο ενεργό (τρέχον) Sprint + \item "Εκτέλεσης" (in progress/doing), η οποία περιλαμβάνει task για τα οποία έχει ξεκινήσει η ανάπτυξη από κάποιο μέλος της ομάδας + \item "Ελέγχου και αξιολόγησης" (testing/code review), η οποία περιέχει task των οποίων η ανάπτυξη έχει ολοκληρωθεί και βρίσκονται στο στάδιο ελέγχου (testing) ή αναμονής σε pull request + \item "Ολοκλήρωσης" (done), που περιλαμβάνει task τα οποία έχουν τελειώσει, δηλαδή των οποίων η ανάπτυξη έχει ολοκληρωθεί και το pull request έχει γίνει merge \end{itemize} -Επίσης, ορίστηκαν στις λίστες οι μέγιστοι αριθμοί από tasks που μπορούν τα υπάρχουν σε κάθε χρονική στιγμή (π.χ. μέχρι τέσσερα tasks στην λίστα εκτέλεσης). Αυτό έγινε για ενθάρρυνση της ολοκλήρωσης των tasks από τα μέλη, σε αντίθεση με την εγκατάλειψή τους σε ημιτελή κατάσταση της ανάπτυξης για την ανάληψη κάποιου νέου task. +Επίσης, ορίστηκαν στις λίστες οι μέγιστοι αριθμοί από task που μπορούν τα υπάρχουν σε κάθε χρονική στιγμή (π.χ. μέχρι τέσσερα task στην λίστα εκτέλεσης). Αυτό έγινε για ενθάρρυνση της ολοκλήρωσης των task από τα μέλη, σε αντίθεση με την εγκατάλειψή τους σε ημιτελή κατάσταση της ανάπτυξης για την ανάληψη κάποιου νέου task. Για την υλοποίηση του Scrum χρησιμοποιήθηκε η διαδικτυακή υπηρεσία Trello\footnote{\url{https://trello.com/}}, στιγμιότυπο της οποίας φαίνεται στο παρακάτω σχήμα: @@ -31,7 +31,7 @@ \label{figure:4.1.implementation-methodology-kanban} \end{figure} -Κατά την διαδικασία της ανάπτυξης του κώδικα, εφαρμόστηκαν επίσης οι τακτικές που ορίζονται από το DevOps σε ό,τι αφορά το deployment των υπηρεσιών. Το DevOps ορίζει διάφορα εργαλεία που αποσκοπούν στην απρόσκοπτη, αυτοματοποιημένη και γρήγορα ενσωμάτωση του κώδικα από το στάδιο της συγγραφής μέχρι την ολοκλήρωση και εγκατάσταση. Τα εργαλεία που χρησιμοποιήθηκαν εδώ είναι: +Κατά τη διαδικασία της ανάπτυξης του κώδικα, εφαρμόστηκαν επίσης οι τακτικές που ορίζονται από το DevOps σε ό,τι αφορά στο deployment των υπηρεσιών. Το DevOps ορίζει διάφορα εργαλεία που αποσκοπούν στην ταχεία, απρόσκοπτη και αυτοματοποιημένη ενσωμάτωση του κώδικα από το στάδιο της συγγραφής μέχρι την ολοκλήρωση και εγκατάσταση. Τα εργαλεία που χρησιμοποιήθηκαν εδώ είναι: \begin{itemize} \item Συνεχής έλεγχος (continuous testing) @@ -40,23 +40,25 @@ \item Συνεχής εγκατάσταση (continuous deployment) \end{itemize} -Για την υλοποίηση των τακτικών αυτών επιλέχθηκε μετά από εκτενή έρευνα η πλατφόρμα \hyperref[subsection:4-2-1-3-jenkins]{Jenkins}. Το Jenkins συνδυάστηκε με την πλατφόρμα εικονοποίησης \hyperref[subsection:4-2-1-2-docker]{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}: \begin{enumerate} - \item Αρχικά εκτελείται το βήμα "Version", το οποίο συλλέγει στοιχεία σχετικά με την εκτέλεση του pipeline όπως το κλαδί του κώδικα που πυροδότησε τη ροή και ποια από τα πακέτα λογισμικού που περιλαμβάνονται στο git repository περιέχουν αλλαγές. - \item Έπειτα εκτελείται το στάδιο "TEST" το οποίο περιέχει δύο βήματα που εκτελούνται παράλληλα και πραγματοποιούν έλεγχο του κώδικα των πακέτων. - \item Αν το κλαδί πυροδότησης είναι ένα feature branch η ροή σταματά εδώ, ενώ αν πρόκειται για ένα από τα βασικά κλαδιά (master ή develop) τότε η ροή συνεχίζει με το στάδιο "BUILD" στο οποίο εκτελούνται παράλληλα τα βήματα που χτίζουν τα docker images των πακέτων εκείνων τα οποία περιέχουν αλλαγές. - \item Στο στάδιο "PUBLISH", αν το κλαδί πυροδότησης είναι το κύριο κλαδί παραγωγής (master), τότε εκτελούνται παράλληλα βήματα τα οποία δημοσιεύουν τα docker images που δημιουργήθηκαν στο αποθετήριο Dockerhub. - \item Τέλος, εκτελείται το στάδιο "DEPLOY", κατά το οποίο πραγματοποιείται η εγκατάσταση των υπηρεσιών στο ανάλογο περιβάλλον, staging για το κλαδί develop και production για το κλαδί master. + \item Αρχικά εκτελείται το βήμα "Version", το οποίο συλλέγει στοιχεία σχετικά με την εκτέλεση του pipeline, όπως το κλαδί του κώδικα που πυροδότησε τη ροή και τα πακέτα λογισμικού που περιλαμβάνονται στο git repository και περιέχουν αλλαγές. + \item Έπειτα εκτελείται το στάδιο "TEST", το οποίο περιέχει δύο βήματα που εκτελούνται παράλληλα και πραγματοποιούν έλεγχο του κώδικα των πακέτων. + \item Αν το κλαδί πυροδότησης είναι ένα feature branch η ροή σταματά εδώ, ενώ αν πρόκειται για ένα από τα βασικά κλαδιά (master ή develop), τότε η ροή συνεχίζει με το στάδιο "BUILD", στο οποίο εκτελούνται παράλληλα τα βήματα που χτίζουν τα docker image όσων πακέτων περιέχουν αλλαγές. + \item Στο στάδιο "PUBLISH", αν το κλαδί πυροδότησης είναι το κύριο κλαδί παραγωγής (master), τότε εκτελούνται παράλληλα βήματα τα οποία δημοσιεύουν τα docker image που δημιουργήθηκαν στο αποθετήριο Docker Hub. + \item Τέλος, εκτελείται το στάδιο "DEPLOY", κατά το οποίο πραγματοποιείται η εγκατάσταση των υπηρεσιών στο ανάλογο περιβάλλον (staging για το κλαδί develop και production για το κλαδί master). \end{enumerate} \begin{figure}[H] \centering - \includegraphics[width=.8\textwidth]{assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png} + \includegraphics[width=.9\textwidth]{assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline} \caption{Διάγραμμα ροής εργασιών Jenkins} \label{figure:4.1.implementation-methodology-jenkins-pipeline} \end{figure} -Με τη χρήση του Jenkins αυτοματοποιείται με μεγάλη ευκολία ένα σημαντικό μέρος των διαδικασιών ανάπτυξης και δημοσίευσης του κώδικα. Με τη χρήση του συγκεκριμένου pipeline γίνεται σίγουρο ό,τι σε κάθε αλλαγή, ασχέτως του κλαδιού ανάπτυξης ο κώδικας ελέγχεται και τα αποτελέσματα των tests είναι αποθηκευμένα και διαθέσιμα για ανάλυση. Ακόμα, για το κλαδί develop, αυτοματοποιείται η ολοκλήρωση των πακέτων και η εγκατάστασή τους σε περιβάλλον δοκιμής (staging), γεγονός που διευκολύνει σημαντικά τις συλλογικές δοκιμές από την ομάδα σε διαφορετικά περιβάλλοντα χρήσης (browsers). Τέλος, για το κλαδί master, αυτοματοποιείται η διαδικασία δημοσίευσης των docker images, μηδενίζοντας έτσι τον χρόνο που πρέπει να καταβάλουν τα μέλη της ομάδας σε αυτό. +\vspace{\baselineskip} + +Με τη χρήση του Jenkins αυτοματοποιείται με μεγάλη ευκολία ένα σημαντικό μέρος των διαδικασιών ανάπτυξης και δημοσίευσης του κώδικα. Με τη χρήση του συγκεκριμένου pipeline γίνεται σίγουρο ό,τι σε κάθε αλλαγή, ασχέτως του κλαδιού ανάπτυξης ο κώδικας ελέγχεται και τα αποτελέσματα των test είναι αποθηκευμένα και διαθέσιμα για ανάλυση. Ακόμα, για το κλαδί develop, αυτοματοποιείται η ολοκλήρωση των πακέτων και η εγκατάστασή τους σε περιβάλλον δοκιμής (staging), γεγονός που διευκολύνει σημαντικά τις συλλογικές δοκιμές από την ομάδα σε διαφορετικά περιβάλλοντα χρήσης (browsers). Τέλος, για το κλαδί master, αυτοματοποιείται η διαδικασία δημοσίευσης των docker image, μηδενίζοντας έτσι τον χρόνο που πρέπει να καταβάλουν τα μέλη της ομάδας σε αυτό. diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.1.node.js.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.1.node.js.tex index affe44d..8ee1bc4 100644 --- a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.1.node.js.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.1.node.js.tex @@ -2,7 +2,7 @@ \logo{chapter-4/4.2.node.js-logo}{Node.js logo} -Το Node.js\footnote{\url{https://nodejs.org/}} είναι ένα περιβάλλον χρόνου εκτέλεσης JavaScript πολλαπλών πλατφορμών, το οποίο εκτελείται στη μηχανή V8\footnote{\url{https://v8.dev/}} και παρέχει τη δυνατότητα εκτέλεσης κώδικα JavaScript εκτός περιηγητών ιστού. Επιτρέπει στους προγραμματιστές να χρησιμοποιούν JavaScript για τη σύνταξη εργαλείων γραμμής εντολών και τη δημιουργία κλιμακωτών διαδικτυακών εφαρμογών (κυρίως για εξυπηρετητές). Έχει αρχιτεκτονική βασισμένη σε συμβάντα (event-driven architecture), με δυνατότητα ασύγχρονης εισόδου/εξόδου (asynchronous I/O).\cite{4.2-node.js} +Το Node.js\footnote{\url{https://nodejs.org/}} είναι ένα περιβάλλον χρόνου εκτέλεσης JavaScript πολλαπλών πλατφορμών, το οποίο εκτελείται στη μηχανή V8\footnote{\url{https://v8.dev/}} και παρέχει τη δυνατότητα εκτέλεσης κώδικα JavaScript εκτός περιηγητών ιστού. Επιτρέπει στους προγραμματιστές να χρησιμοποιούν JavaScript για τη σύνταξη εργαλείων γραμμής εντολών και τη δημιουργία κλιμακωτών διαδικτυακών εφαρμογών (κυρίως για εξυπηρετητές). Έχει αρχιτεκτονική βασισμένη σε συμβάντα (event-driven architecture), με δυνατότητα ασύγχρονης εισόδου/εξόδου (asynchronous I/O). Ένα από τα σημαντικότερα χαρακτηριστικά του Node.js είναι ο ενσωματωμένος διαχειριστής πακέτων του, ο οποίος ονομάζεται npm. Με τον npm γίνεται εφικτή η εγκατάσταση πακέτων (βιβλιοθηκών) από το μητρώο npm (npm registry\footnote{\url{https://www.npmjs.com/}}), καθώς και η οργάνωση και η διαχείρισή τους στα πλαίσια της ανάπτυξης μίας εφαρμογής που εξαρτάται από αυτά. diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.1.truffle.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.1.truffle.tex index 7d9f55a..e0f7577 100644 --- a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.1.truffle.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.1.truffle.tex @@ -6,6 +6,6 @@ Μέσω του Truffle πραγματοποιείται η διαχείριση των έξυπνων συμβολαίων. Αυτή περιλαμβάνει τη δοκιμή, τη σύνδεση και τη μεταγλώττισή τους, καθώς και την ανάπτυξη τους στο blockchain. -Επίσης, το Truffle περιέχει πρόσθετα σχετικά εργαλεία, όπως διαδραστική κονσόλα για άμεση αλληλεπίδραση με τα contracts και εκτελεστής εξωτερικών σεναρίων (external script runner). +Επίσης, το Truffle περιέχει πρόσθετα σχετικά εργαλεία, όπως διαδραστική κονσόλα για άμεση αλληλεπίδραση με τα contract και εκτελεστής εξωτερικών σεναρίων (external script runner). Έχει το αποθετήριό του στο GitHub\footnote{\url{https://github.com/trufflesuite/truffle}} και διατίθεται μέσω του μητρώου npm\footnote{\url{https://www.npmjs.com/package/truffle}}. \ No newline at end of file diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.2.ganache.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.2.ganache.tex index c6f430b..ef3bced 100644 --- a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.2.ganache.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.2.ganache.tex @@ -14,7 +14,7 @@ To Ganache παρέχει ισχυρά εργαλεία για την ανάπτ \begin{figure}[H] \centering - \includegraphics[width=.95\textwidth]{assets/figures/chapter-4/4.2.ganache-gui} + \includegraphics[width=\textwidth]{assets/figures/chapter-4/4.2.ganache-gui} \caption{Ganache (desktop εφαρμογή)} \end{figure} diff --git a/chapters/4.application-implementation/4.3.implementation-architecture.tex b/chapters/4.application-implementation/4.3.implementation-architecture.tex index e1950ac..d5d1dc9 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture.tex @@ -33,7 +33,7 @@ \textbf{Άρθρωμα} & \textbf{Σύντομη περιγραφή - Αντικείμενο/Στόχος} \\ \midrule Άρθρωμα concordia-shared & Χρήσιμα εργαλεία και σταθερές συστήματος. \\ [0.5ex] - Άρθρωμα concordia-contracts & Μεταγλώττιση των contracts και διάθεση των artifacts. \\ [0.5ex] + Άρθρωμα concordia-contracts & Μεταγλώττιση των contract και διάθεση των artifact. \\ [0.5ex] Άρθρωμα eth-identity-provider & Δημιουργία μοναδικού αναγνωριστικού χρήστη για τη βάση OrbitDB. \\ [0.5ex] Άρθρωμα drizzle & Βελτιωμένη προγραμματιστική διεπαφή επικοινωνίας με το blockchain. \\ [0.5ex] Άρθρωμα breeze & Βελτιωμένη προγραμματιστική διεπαφή χρήσης της βάσης OrbitDB. \\ [0.5ex] @@ -48,7 +48,7 @@ \begin{figure}[H] \centering - \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.architecture-architecture-overview.png} + \includegraphics[width=.95\textwidth]{assets/figures/chapter-4/4.3.architecture-architecture-overview.png} \caption{Διάγραμμα αρχιτεκτονικής συστήματος} \label{figure:4-3-architecture-overview} \end{figure} diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-contracts-unit.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-contracts-unit.tex index 16cf1d6..f48d64b 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-contracts-unit.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-contracts-unit.tex @@ -1,5 +1,5 @@ \subsubsection{Άρθρωμα concordia-contracts} \label{subsubsection:4-3-1-concordia-contracts-unit} -Το άρθρωμα αυτό επιτελεί δύο ενέργειες. Αρχικά, είναι το άρθρωμα στο οποίο αναπτύσσονται τα contracts που χρησιμοποιούνται από την εφαρμογή. Το άρθρωμα αυτό αναλαμβάνει τη μεταγλώττιση των contracts από κώδικα γλώσσας Solidity, στην κατάλληλη τελική μορφή JSON. Παρέχονται επίσης σενάρια ενεργειών (scripts) ώστε τα contracts να μεταφορτωθούν σε blockchain καθώς και στην υπηρεσία \hyperref[subsection:4-3-5-concordia-contracts-provider-service]{Concordia Contracts Provider}. Αποτελεί επίσης βιβλιοθήκη η οποία μετά τη μεταγλώττιση και μεταφόρτωση των contracts σε blockchain παρέχει τα contract artifacts. Χρησιμοποιείται από τις υπηρεσίες \hyperref[subsection:4-3-2-concordia-application-service]{Concordia Application} και \hyperref[subsection:4-3-4-concordia-pinner-service]{Concordia Pinner}. +Το παρόν άρθρωμα είναι αυτό στο οποίο αναπτύσσονται τα contract που χρησιμοποιούνται από την εφαρμογή και το οποίο αναλαμβάνει τη μεταγλώττισή τους από κώδικα γλώσσας Solidity στην κατάλληλη τελική μορφή JSON. Παρέχει επίσης σενάρια ενεργειών (scripts), μέσω των οποίων τα contract μεταφορτώνονται στο blockchain, καθώς και στην υπηρεσία \hyperref[subsection:4-3-5-concordia-contracts-provider-service]{Concordia Contracts Provider}. Επιπλέον, το concordia-contracts αποτελεί βιβλιοθήκη, η οποία μετά τη μεταγλώττιση και τη μεταφόρτωση των contract στο blockchain παρέχει τα contract artifact, τα οποία χρησιμοποιούνται από τις υπηρεσίες \hyperref[subsection:4-3-2-concordia-application-service]{Concordia Application} και \hyperref[subsection:4-3-4-concordia-pinner-service]{Concordia Pinner}. Το άρθρωμα αυτό γίνεται διαθέσιμο για χρήση με τη μορφή τοπικής βιβλιοθήκης με τη χρήση της δυνατότητας yarn workspaces. \ No newline at end of file diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-shared-unit.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-shared-unit.tex index 087e64d..4d6bac1 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-shared-unit.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-shared-unit.tex @@ -1,5 +1,5 @@ \subsubsection{Άρθρωμα concordia-shared} \label{subsubsection:4-3-1-concordia-shared-unit} -Το άρθρωμα concordia-shared αποτελεί μία βιβλιοθήκη χρήσιμων εργαλείων και σταθερών. Εδώ περιέχεται όλο το λογισμικό το οποίο πρέπει ή είναι επιθυμητό να συμπεριφέρεται με τον ίδιο τρόπο συνολικά στο σύστημα, όπως για παράδειγμα μέθοδοι παραμετροποίησης των υπηρεσιών και μέθοδοι καταγραφής (logging). Το άρθρωμα αυτό χρησιμοποιείται από το άρθρωμα \hyperref[subsubsection:4-3-1-concordia-contracts-unit]{concordia-contracts} καθώς και από τις υπηρεσίες \hyperref[subsection:4-3-2-concordia-application-service]{Concordia Application}, \hyperref[subsection:4-3-4-concordia-pinner-service]{Concordia Pinner} και \hyperref[subsection:4-3-5-concordia-contracts-provider-service]{Concordia Contracts Provider}. +Το άρθρωμα concordia-shared αποτελεί μία βιβλιοθήκη χρήσιμων εργαλείων και σταθερών. Εδώ περιέχεται όλο το λογισμικό το οποίο πρέπει ή είναι επιθυμητό να συμπεριφέρεται με τον ίδιο τρόπο συνολικά στο σύστημα, όπως για παράδειγμα μέθοδοι παραμετροποίησης των υπηρεσιών και μέθοδοι καταγραφής (logging). Το παρόν άρθρωμα χρησιμοποιείται από το άρθρωμα \hyperref[subsubsection:4-3-1-concordia-contracts-unit]{concordia-contracts}, καθώς και από τις υπηρεσίες \hyperref[subsection:4-3-2-concordia-application-service]{Concordia Application}, \hyperref[subsection:4-3-4-concordia-pinner-service]{Concordia Pinner} και \hyperref[subsection:4-3-5-concordia-contracts-provider-service]{Concordia Contracts Provider}. Το άρθρωμα αυτό γίνεται διαθέσιμο για χρήση με τη μορφή τοπικής βιβλιοθήκης με τη χρήση της δυνατότητας διαχείρισης μοναδικού αποθετηρίου κώδικα (monorepo) yarn workspaces{\footnote{\url{https://yarnpkg.com/features/workspaces}}}. \ No newline at end of file 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 2a42124..438bc1b 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 @@ -24,8 +24,11 @@ Η υπηρεσία αποτελείται από κώδικα γραμμένο σε JavaScript, ο οποίος γίνεται διαθέσιμος στους τελικούς χρήστες με τη μορφή εφαρμογής διαδικτύου (web application) μέσω ενός διακομιστή (server). Παρόλο που η υπηρεσία προσφέρει τη γραφική διεπαφή χρήστη μόνο στην αγγλική γλώσσα, έχει παραμετροποιηθεί ώστε να είναι δυνατή η εύκολη μεταγλώττιση της χωρίς την ανάγκη πραγματοποίησης μεγάλων αλλαγών στον κώδικα. -Χρησιμοποιείται η βιβλιοθήκη \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 +Χρησιμοποιείται η βιβλιοθήκη \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 + +\vspace{\baselineskip} \begin{figure}[H] \centering @@ -34,12 +37,12 @@ \label{figure:4-3-concordia-application-architecture} \end{figure} -Για τη λειτουργία της υπηρεσία Concordia Application είναι απαραίτητα τα αντικείμενα (artifacts) που προκύπτουν από τη μεταγλώττιση των contracts και τη μεταφόρτωση/δημοσίευσή τους στο blockchain. Για την εισαγωγή των artifacts στην υπηρεσία έχουν αναπτυχθεί δύο μέθοδοι. +Για τη λειτουργία της υπηρεσία Concordia Application είναι απαραίτητα τα αντικείμενα (artifacts) που προκύπτουν από τη μεταγλώττιση των contract και τη μεταφόρτωση/δημοσίευσή τους στο blockchain. Για την εισαγωγή των artifact στην υπηρεσία έχουν αναπτυχθεί δύο μέθοδοι. -Η πρώτη μέθοδος είναι η μεταγλώττιση και μεταφόρτωση των contracts πριν την παραγωγή του πακέτου λογισμικού της υπηρεσίας για τελική χρήση (production build). Με αυτόν τον τρόπο η υπηρεσία θα έχει πρόσβαση στα artifacts μέσω της βιβλιοθήκης που παράγεται από το άρθρωμα concordia-contracts. Αυτή η μέθοδος έχει το μειονέκτημα ότι το τελικό πακέτο λογισμικού (production build) "δένεται" με όποια συγκεκριμένη έκδοση των contracts είναι διαθέσιμη κατά τη δημιουργία του πακέτου. Αυτό σημαίνει ότι σε ενδεχόμενη ενημέρωση των contracts πρέπει αναγκαστικά να δημιουργηθεί και νέα έκδοση του πακέτου λογισμικού της υπηρεσίας Concordia Application. +Η πρώτη μέθοδος είναι η μεταγλώττιση και μεταφόρτωση των contract πριν την παραγωγή του πακέτου λογισμικού της υπηρεσίας για τελική χρήση (production build). Με αυτόν τον τρόπο η υπηρεσία θα έχει πρόσβαση στα artifact μέσω της βιβλιοθήκης που παράγεται από το άρθρωμα concordia-contracts. Αυτή η μέθοδος έχει το μειονέκτημα ότι το τελικό πακέτο λογισμικού (production build) "δένεται" με όποια συγκεκριμένη έκδοση των contract είναι διαθέσιμη κατά τη δημιουργία του πακέτου. Αυτό σημαίνει ότι σε ενδεχόμενη ενημέρωση των contract πρέπει αναγκαστικά να δημιουργηθεί και νέα έκδοση του πακέτου λογισμικού της υπηρεσίας Concordia Application. -Για την αποφυγή του παραπάνω προβλήματος αναπτύχθηκε η δεύτερη μέθοδος προσκόμισης των contract artifacts, η οποία είναι η λήψη τους (download) από μία άλλη τοποθεσία στο διαδίκτυο. Σε αυτή τη μέθοδο, η εφαρμογή κατά την εκκίνησή της πραγματοποιεί ένα HTTP αίτημα (HTTP request) σε διεύθυνση η οποία δίνεται ως μεταβλητή περιβάλλοντος (environment variable). Η απάντηση του αιτήματος αναμένεται να περιέχει τα artifacts ώστε η εφαρμογή να τα χρησιμοποιήσει. +Για την αποφυγή του παραπάνω προβλήματος αναπτύχθηκε η δεύτερη μέθοδος προσκόμισης των contract artifact, η οποία είναι η λήψη τους (download) από μία άλλη τοποθεσία στο διαδίκτυο. Σε αυτή τη μέθοδο, η εφαρμογή κατά την εκκίνησή της πραγματοποιεί ένα HTTP αίτημα (HTTP request) σε διεύθυνση η οποία δίνεται ως μεταβλητή περιβάλλοντος (environment variable). Η απάντηση του αιτήματος αναμένεται να περιέχει τα artifact ώστε η εφαρμογή να τα χρησιμοποιήσει. \subsubsection{Διανομή} -Η υπηρεσία Concordia Application πακετάρεται μαζί με τον διακομιστή nginx και γίνεται διαθέσιμη για χρήση ως εικόνα docker (docker image) μέσω του αποθετηρίου εικόνων dockerhub. Κατά την εκτέλεση της εικόνας οι χρήστες μπορούν μέσω μεταβλητών περιβάλλοντος να ορίσουν παραμέτρους της εκτέλεσης όπως η διεύθυνση του εξυπηρετητή (host location) της εφαρμογής και οι τοποθεσίες των υπηρεσιών Rendezvous Server και Contracts Provider. \ No newline at end of file +Η υπηρεσία Concordia Application πακετάρεται μαζί με τον διακομιστή nginx και γίνεται διαθέσιμη για χρήση ως εικόνα Docker (Docker image) μέσω του αποθετηρίου εικόνων Docker Hub. Κατά την εκτέλεση της εικόνας οι χρήστες μπορούν μέσω μεταβλητών περιβάλλοντος να ορίσουν παραμέτρους της εκτέλεσης όπως η διεύθυνση του εξυπηρετητή (host location) της εφαρμογής και οι τοποθεσίες των υπηρεσιών Rendezvous Server και Contracts Provider. \ No newline at end of file diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.3.concordia-contracts-migrator.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.3.concordia-contracts-migrator.tex index 818aa7d..061bfc3 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.3.concordia-contracts-migrator.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.3.concordia-contracts-migrator.tex @@ -2,10 +2,10 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία αυτή αποτελείται από ένα εκτελέσιμο πρόγραμμα γραμμής εντολών βασισμένο στο άρθρωμα concordia-contracts που αναλύθηκε σε προηγούμενη υποενότητα (\ref{subsection:4-3-1-software-units}). Το πρόγραμμα, κατά την εκτέλεσή του, μεταγλωττίζει τα contracts και έπειτα τα μεταφορτώνει στο blockchain το οποίο είναι ορισμένο με χρήση μεταβλητών περιβάλλοντος. Τέλος, αν οι κατάλληλες μεταβλητές περιβάλλοντος είναι ορισμένες, το πρόγραμμα μεταφορτώνει τα τελικά artifacts σε αποθετήριο Concordia Contracts Provider. +Η υπηρεσία αυτή αποτελείται από ένα εκτελέσιμο πρόγραμμα γραμμής εντολών βασισμένο στο άρθρωμα concordia-contracts που αναλύθηκε σε προηγούμενη υποενότητα (\ref{subsection:4-3-1-software-units}). Το πρόγραμμα, κατά την εκτέλεσή του, μεταγλωττίζει τα contract και έπειτα τα μεταφορτώνει στο blockchain το οποίο είναι ορισμένο με χρήση μεταβλητών περιβάλλοντος. Τέλος, αν οι κατάλληλες μεταβλητές περιβάλλοντος είναι ορισμένες, το πρόγραμμα μεταφορτώνει τα τελικά artifacts σε αποθετήριο Concordia Contracts Provider. Η αρχιτεκτονική της υπηρεσίας φαίνεται στο σχήμα \ref{figure:4-3-concordia-contracts-migrator-architecture}. -Η αρχιτεκτονική της υπηρεσίας φαίνεται στο παρακάτω σχήμα: \vspace{.5\baselineskip} + \begin{figure}[H] \centering \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png} @@ -15,4 +15,4 @@ \subsubsection{Διανομή} -Η υπηρεσία αυτή γίνεται διαθέσιμη για χρήση ως docker image μέσω του αποθετηρίου εικόνων dockerhub. Οι χρήστες μπορούν χρησιμοποιώντας μεταβλητές περιβάλλοντος να αλλάξουν τη διεύθυνση του blockchain και την τοποθεσία της υπηρεσίας Contracts Provider στην οποία το πρόγραμμα θα μεταφορτώσει τα contracts και τα artifacts. \ No newline at end of file +Η υπηρεσία αυτή γίνεται διαθέσιμη για χρήση ως Docker image μέσω του αποθετηρίου εικόνων Docker Hub. Οι χρήστες μπορούν χρησιμοποιώντας μεταβλητές περιβάλλοντος να αλλάξουν τη διεύθυνση του blockchain και την τοποθεσία της υπηρεσίας Contracts Provider στην οποία το πρόγραμμα θα μεταφορτώσει τα contract και τα artifact. \ No newline at end of file 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 97905ca..f94aa68 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 @@ -2,10 +2,10 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία καρφιτσώματος περιεχομένου (Concordia Pinner) αποτελεί μία εφαρμογή τερματικού (temrinal application/cmd application) η οποία στοχεύει στο καρφίτσωμα (pinning) του περιεχομένου που αποθηκεύεται στο IPFS μέσω της βάσης OrbitDB. Η υπηρεσία είναι γραμμένη στη γλώσσα προγραμματισμού JavaScript. +Η υπηρεσία καρφιτσώματος περιεχομένου (Concordia Pinner) αποτελεί μία εφαρμογή τερματικού (temrinal application/cmd application) η οποία στοχεύει στο καρφίτσωμα (pinning) του περιεχομένου που αποθηκεύεται στο IPFS μέσω της βάσης OrbitDB. Η υπηρεσία είναι γραμμένη στη γλώσσα προγραμματισμού JavaScript, ενώ η αρχιτεκτονική της φαίνεται στο σχήμα \ref{figure:4-3-concordia-pinner-architecture}. -Η αρχιτεκτονική της υπηρεσίας φαίνεται το σχήμα: \vspace{.5\baselineskip} + \begin{figure}[H] \centering \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png} @@ -20,4 +20,4 @@ \subsubsection{Διανομή} -Η υπηρεσία αυτή γίνεται διαθέσιμη για χρήση ως docker image μέσω του αποθετηρίου εικόνων dockerhub. Κατά την εκτέλεση της εικόνας οι χρήστες μπορούν μέσω μεταβλητών περιβάλλοντος να ορίσουν παραμέτρους της υπηρεσίας όπως τη διεύθυνση του εξυπηρετητή (host location), τη διεύθυνση του blockchain, τις διαδρομές αποθήκευσης των δεδομένων στο σύστημα και τις τοποθεσίες των υπηρεσιών Rendezvous Server και Contracts Provider. \ No newline at end of file +Η υπηρεσία αυτή γίνεται διαθέσιμη για χρήση ως Docker image μέσω του αποθετηρίου εικόνων Docker Hub. Κατά την εκτέλεση της εικόνας οι χρήστες μπορούν μέσω μεταβλητών περιβάλλοντος να ορίσουν παραμέτρους της υπηρεσίας όπως τη διεύθυνση του εξυπηρετητή (host location), τη διεύθυνση του blockchain, τις διαδρομές αποθήκευσης των δεδομένων στο σύστημα και τις τοποθεσίες των υπηρεσιών Rendezvous Server και Contracts Provider. \ No newline at end of file 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 167fd21..07e17ed 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 @@ -2,10 +2,10 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία Contracts Provider αποτελεί μία βοηθητική υπηρεσία η οποία υλοποιεί ένα απλό αποθετήριο για τα contract artifacts. Είναι γραμμένη σε JavaScript και διαθέτει δύο HTTP \textenglish{endpoints}, ένα για τη μεταφόρτωση (upload) των artifacts προς την υπηρεσία και ένα για τη λήψη (download) από την υπηρεσία. Η υπηρεσία υποστηρίζει επίσης την επισύναψη ετικετών στα artifacts, όπως η έκδοση (version) ή το κλαδί ανάπτυξης (branch, για παράδειγμα \textenglish{master/develop}). +Η υπηρεσία Contracts Provider αποτελεί μία βοηθητική υπηρεσία η οποία υλοποιεί ένα απλό αποθετήριο για τα contract artifacts. Είναι γραμμένη σε JavaScript και διαθέτει δύο HTTP \textenglish{endpoints}, ένα για τη μεταφόρτωση (upload) των artifacts προς την υπηρεσία και ένα για τη λήψη (download) από την υπηρεσία. Η υπηρεσία υποστηρίζει επίσης την επισύναψη ετικετών στα artifacts, όπως η έκδοση (version) ή το κλαδί ανάπτυξης (branch, για παράδειγμα \textenglish{master/develop}). Η αρχιτεκτονική της φαίνεται στο σχήμα \ref{figure:4-3-concordia-contracts-provider-architecture}. -Η αρχιτεκτονική της υπηρεσίας φαίνεται το σχήμα: \vspace{.5\baselineskip} + \begin{figure}[H] \centering \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture} @@ -13,8 +13,8 @@ \label{figure:4-3-concordia-contracts-provider-architecture} \end{figure} -Η υπηρεσία χρησιμοποιείται σε μία προσπάθεια αποσύνδεσης της βασικής εφαρμογής που υλοποιεί η υπηρεσία Concordia Application από μία συγκεκριμένη έκδοση των contracts. Οι λόγοι που αυτό είναι επιθυμητό αναπτύχθηκαν στην περιγραφή της υπηρεσίας Concordia \textenglish{Application} (υποενότητα \ref{subsection:4-3-2-concordia-application-service}). Ωστόσο, η υπηρεσία Contracts Provider αποτελεί σημείο κεντροποίησης του συστήματος, για το λόγο αυτό θεωρείται προσωρινή λύση η οποία θα μπορούσε να αντικατασταθεί από αποκεντρωτικές λύσεις όπως η μεταφόρτωση των artifacts στο IPFS και ο διαμοιρασμός τους από εκεί. +Η υπηρεσία χρησιμοποιείται σε μία προσπάθεια αποσύνδεσης της βασικής εφαρμογής που υλοποιεί η υπηρεσία Concordia Application από μία συγκεκριμένη έκδοση των contract. Οι λόγοι που αυτό είναι επιθυμητό αναπτύχθηκαν στην περιγραφή της υπηρεσίας Concordia \textenglish{Application} (υποενότητα \ref{subsection:4-3-2-concordia-application-service}). Ωστόσο, η υπηρεσία Contracts Provider αποτελεί σημείο κεντροποίησης του συστήματος, για το λόγο αυτό θεωρείται προσωρινή λύση, η οποία θα μπορούσε να αντικατασταθεί από αποκεντρωτικές λύσεις όπως η μεταφόρτωση των artifacts στο IPFS και ο διαμοιρασμός τους από εκεί. \subsubsection{Διανομή} -Η υπηρεσία αυτή γίνεται διαθέσιμη για χρήση ως docker image μέσω του αποθετηρίου εικόνων dockerhub. Οι χρήστες μπορούν χρησιμοποιώντας μεταβλητές περιβάλλοντος να αλλάξουν παραμέτρους της εκτέλεσης, όπως τη διαδρομή αποθήκευσης των μεταφορτωμένων contract artifacts. \ No newline at end of file +Η υπηρεσία αυτή γίνεται διαθέσιμη για χρήση ως Docker image μέσω του αποθετηρίου εικόνων Docker Hub. Οι χρήστες μπορούν χρησιμοποιώντας μεταβλητές περιβάλλοντος να αλλάξουν παραμέτρους της εκτέλεσης, όπως τη διαδρομή αποθήκευσης των μεταφορτωμένων 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 57a7d19..045b728 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 @@ -6,4 +6,4 @@ \subsubsection{Διανομή} -Για τη χρήση της υπηρεσίας αυτής αναπτύχθηκε μία νέα εικόνα docker που βασίζεται στην επίσημη εικόνα που διατίθεται από τη σουίτα και προσθέτει μερικές χρήσιμες λειτουργικότητες όπως η δυνατότητα αποκάλυψης των κλειδιών που δημιουργούνται κατά την εκτέλεση. Η υπηρεσία γίνεται διαθέσιμη για χρήση ως docker image μέσω του αποθετηρίου εικόνων dockerhub. Η εικόνα παρέχει τη δυνατότητα τροποποίησης των παραμέτρων εκτέλεσης με χρήση μεταβλητών περιβάλλοντος. Με αυτό τον τρόπο οι χρήστες μπορούν να αλλάξουν τον αριθμό των λογαριασμών που θα δημιουργηθούν, το ποσό του Ether που θα λάβει κάθε λογαριασμός καθώς και άλλες μεταβλητές. \ No newline at end of file +Για τη χρήση της υπηρεσίας αυτής αναπτύχθηκε μία νέα εικόνα Docker που βασίζεται στην επίσημη εικόνα που διατίθεται από τη σουίτα και προσθέτει μερικές χρήσιμες λειτουργίες, όπως η δυνατότητα αποκάλυψης των κλειδιών που δημιουργούνται κατά την εκτέλεση. Η υπηρεσία γίνεται διαθέσιμη για χρήση ως Docker image μέσω του αποθετηρίου εικόνων Docker Hub. Η εικόνα παρέχει τη δυνατότητα τροποποίησης των παραμέτρων εκτέλεσης με χρήση μεταβλητών περιβάλλοντος. Με αυτόν τον τρόπο οι προγραμματιστές μπορούν να αλλάξουν τον αριθμό των λογαριασμών που θα δημιουργηθούν, το ποσό του ETH που θα λάβει κάθε λογαριασμός, καθώς και άλλες μεταβλητές. \ No newline at end of file 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 42fc030..18f826a 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 @@ -6,4 +6,4 @@ \subsubsection{Διανομή} -Η υπηρεσία αυτή είναι διαθέσιμη για χρήση από τους δημιουργούς της τόσο ως εφαρμογή μέσω του αποθετηρίου λογισμικού npm αλλά και ως docker image μέσω του αποθετηρίου εικόνων dockerhub. \ No newline at end of file +Η υπηρεσία αυτή είναι διαθέσιμη για χρήση από τους δημιουργούς της τόσο ως εφαρμογή μέσω του αποθετηρίου λογισμικού npm αλλά και ως Docker image μέσω του αποθετηρίου εικόνων Docker Hub. \ No newline at end of file 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 c1fa1ac..2e28c41 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 @@ -6,7 +6,7 @@ \begin{figure}[H] \centering - \includegraphics[width=.9\textwidth]{assets/figures/chapter-4/4.3.communications-diagram.png} + \includegraphics[width=\textwidth]{assets/figures/chapter-4/4.3.communications-diagram.png} \caption{Γράφος οπτικοποίησης των καναλιών επικοινωνίας των μικροϋπηρεσιών} \label{figure:4-3-communications-graph} \end{figure} diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.9.data-flow.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.9.data-flow.tex index cbd965b..e0690fa 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.9.data-flow.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.9.data-flow.tex @@ -1,15 +1,18 @@ \subsection{Ροή πληροφορίας} \label{subsection:4-3-9-data-flow} -Στην παρούσα υποενότητα θα αναλυθεί η ροή της πληροφορίας στο σύστημα. Λόγω των πολλαπλών υπηρεσιών, της κατάτμησης την πληροφορίας και των διαφορετικών σημείων αποθήκευσης της, η ροή της πληροφορίας στο σύστημα ακολουθεί ένα σχετικά περίπλοκο μονοπάτι (σε σχέση με κλασσικές, μονολιθικές, κεντροποιημένες εφαρμογές). +Στην παρούσα υποενότητα αναλύεται η ροή της πληροφορίας στο σύστημα. Λόγω των πολλαπλών υπηρεσιών, της κατάτμησης την πληροφορίας και των διαφορετικών σημείων αποθήκευσης της, η ροή της πληροφορίας στο σύστημα ακολουθεί ένα σχετικά περίπλοκο μονοπάτι (σε σχέση με κλασσικές, μονολιθικές, κεντροποιημένες εφαρμογές). -Αρχικά θα γίνει αναφορά στη διαδικασία αποθήκευσης των νέων πληροφοριών. Η μοναδική πηγή παραγωγής δεδομένων στο σύστημα είναι οι χρήστες και κατ' επέκταση η υπηρεσία Concordia Application, εφόσον είναι η μοναδική υπηρεσία με την οποία αυτοί αλληλεπιδρούν. Τα δεδομένα που δημιουργούν οι χρήστες (πληροφορίες χρηστών, τίτλοι θεμάτων και περιεχόμενο μηνυμάτων) κατατέμνονται πριν αποθηκευτούν. Η πληροφορία που εισάγεται στο σύστημα διαχωρίζεται σε δύο μέρη. Στο blockchain αποθηκεύεται ένας δείκτης προς τα δεδομένα, ενώ τα πραγματικά δεδομένα αποθηκεύονται στη βάση OrbitDB. Ο δείκτης εκτός από την άμεση χρησιμότητα στην εύρεση των δεδομένων, παρέχει και την έμμεση λειτουργικότητα της δημιουργίας απαραίτητων μεταδομένων όπως ο αριθμός των θεμάτων στο σύστημα ή των μηνυμάτων σε ένα θέμα. +Αρχικά θα γίνει αναφορά στη διαδικασία αποθήκευσης των νέων πληροφοριών. Η μοναδική πηγή παραγωγής δεδομένων στο σύστημα είναι οι χρήστες και κατ' επέκταση η υπηρεσία Concordia Application, εφόσον είναι η μοναδική υπηρεσία με την οποία αυτοί αλληλεπιδρούν. Τα δεδομένα που δημιουργούν οι χρήστες (πληροφορίες χρηστών, τίτλοι θεμάτων και περιεχόμενο μηνυμάτων) κατατέμνονται πριν αποθηκευτούν. Η πληροφορία που εισάγεται στο σύστημα διαχωρίζεται σε δύο μέρη. Στο blockchain αποθηκεύεται ένας δείκτης προς τα δεδομένα, ενώ τα πραγματικά δεδομένα αποθηκεύονται στη βάση OrbitDB. Ο δείκτης, εκτός από την άμεση χρησιμότητα στην εύρεση των δεδομένων, παρέχει και την έμμεση λειτουργικότητα της δημιουργίας απαραίτητων μεταδομένων όπως ο αριθμός των θεμάτων στο σύστημα ή των μηνυμάτων σε ένα θέμα. -Από την πλευρά της εύρεση των πληροφοριών στο σύστημα, η ροή είναι ως εξής. Αρχικά, είναι απαραίτητη η αναζήτηση στο blockchain για την εύρεση του δείκτη προς τα δεδομένα. Έπειτα, τα δεδομένα μπορούν να ανακτηθούν μέσω του IPFS από τον εκάστοτε χρήστη ή από κάποιον Pinner. +Από την πλευρά της εύρεσης των πληροφοριών στο σύστημα, η ροή έχει ως εξής. Αρχικά, είναι απαραίτητη η αναζήτηση στο blockchain για την εύρεση του δείκτη προς τα δεδομένα. Έπειτα, τα δεδομένα μπορούν να ανακτηθούν μέσω του IPFS είτε από τους χρήστες που τα διαθέτουν, είτε από κάποιον pinner. -Τέλος, παρακάτω δίνεται ένα παράδειγμα εισαγωγής πληροφορίας στο σύστημα και έπειτα ανάκτησης της ίδιας πληροφορίας. +Στη συνέχεια δίνεται ένα παράδειγμα εισαγωγής πληροφορίας στο σύστημα και ανάκτησης της ίδιας πληροφορίας από αυτό. -Έστω, χρήστης που δημιουργεί νέο θέμα. Τα δεδομένα που παράγονται είναι ο τίτλος του θέματος και το περιεχόμενο του πρώτου μηνύματος. Μεταδεδομένα της δημιουργίας είναι η διεύθυνση του δημιουργού του θέματος. Για την αποθήκευση του θέματος στο σύστημα δημιουργείται πρώτα συναλλαγή στο blockchain ώστε να δημιουργηθεί μία νέα εγγραφή στον πίνακα των θεμάτων. Η εγγραφή αυτή δεν περιέχει τίποτα παρά μόνο τη διεύθυνση του δημιουργού χρήστη. Αν η συναλλαγή είναι επιτυχής, θα επιστραφεί ο αύξων αριθμός του νέου θέματος. Έπειτα, στην προσωπική βάση OrbitDB του χρήστη και στον πίνακα των θεμάτων θα προστεθεί εγγραφή με αναγνωριστικό τον αύξων αριθμό του θέματος όπου θα αποθηκευτούν τα δεδομένα του τίτλου και πρώτου μηνύματος. Στο σχήμα \ref{figure:4-3-data-flow-insert} παρουσιάζεται γραφικά η διαδικασία. +Έστω, λοιπόν, ένας χρήστης που δημιουργεί ένα νέο θέμα. Τα δεδομένα που παράγονται είναι ο τίτλος του θέματος και το περιεχόμενο του πρώτου μηνύματος. Τα μεταδεδομένα της δημιουργίας είναι η διεύθυνση του δημιουργού του θέματος. Για την αποθήκευση του θέματος στο σύστημα δημιουργείται πρώτα συναλλαγή στο blockchain ώστε να δημιουργηθεί μία νέα εγγραφή στον πίνακα των θεμάτων. Η εγγραφή αυτή δεν περιέχει τίποτα παρά μόνο τη διεύθυνση του δημιουργού χρήστη. Αν η συναλλαγή είναι επιτυχής, επιστρέφεται ο αύξοντας αριθμός του νέου θέματος. Έπειτα, στην προσωπική OrbitDB βάση του χρήστη και στον πίνακα των θεμάτων προστίθεται μία εγγραφή με αναγνωριστικό τον αύξοντα αριθμό του θέματος όπου θα αποθηκευτούν τα δεδομένα του τίτλου και πρώτου μηνύματος. Στο σχήμα \ref{figure:4-3-data-flow-insert} παρουσιάζεται γραφικά η διαδικασία. +\vspace{\baselineskip} + +%TODO: Doesn't this figure also need a "New post ID" for topic's first post? \begin{figure}[H] \centering \input{tikz/chapter-3/3-6-use-case-create-topic-sequence-diagram} @@ -17,7 +20,9 @@ \label{figure:4-3-data-flow-insert} \end{figure} -Έστω, χρήστης που επιθυμεί να διαβάσει το προηγούμενο θέμα. Αρχικά, πρέπει να διαβαστούν τα μεταδεδομένα του συγκεκριμένου θέματος από το blockchain. Έπειτα, διαβάζονται από το blockchain οι αύξοντες αριθμοί των μηνυμάτων που έχουν δημοσιευτεί στο θέμα αυτό. Σε μία τελευταία ανάκτηση από το blockchain διαβάζονται τα μεταδομένα του κάθε μηνύματος. Έπειτα, η πληροφορία αυτή εμπλουτίζεται από τα δεδομένα του θέματος και των μηνυμάτων, τα οποία ανακτώνται από τις προσωπικές βάσεις Orbit κάθε χρήστη. Στο σχήμα \ref{figure:4-3-data-flow-read} φαίνεται το διάγραμμα ροής της πληροφορίας κατά την ανάκτηση πληροφοριών από το σύστημα. +Έστω τώρα ένας χρήστης που επιθυμεί να διαβάσει το προηγούμενο θέμα. Αρχικά, πρέπει να διαβαστούν τα μεταδεδομένα του συγκεκριμένου θέματος από το blockchain. Έπειτα, διαβάζονται από το blockchain οι αύξοντες αριθμοί των μηνυμάτων που έχουν δημοσιευτεί στο θέμα αυτό. Σε μία τελευταία ανάκτηση από το blockchain διαβάζονται τα μεταδομένα του κάθε μηνύματος. Έπειτα, η πληροφορία αυτή εμπλουτίζεται από τα δεδομένα του θέματος και των μηνυμάτων, τα οποία ανακτώνται από τις προσωπικές OrbitDB βάσεις του κάθε χρήστη. Στο σχήμα \ref{figure:4-3-data-flow-read} φαίνεται το διάγραμμα ροής της πληροφορίας κατά την ανάκτηση πληροφοριών από το σύστημα. + +\vspace{\baselineskip} \begin{figure}[H] \centering diff --git a/chapters/4.application-implementation/4.4.problems-faced.tex b/chapters/4.application-implementation/4.4.problems-faced.tex index 55f42bc..c0d0081 100644 --- a/chapters/4.application-implementation/4.4.problems-faced.tex +++ b/chapters/4.application-implementation/4.4.problems-faced.tex @@ -8,13 +8,13 @@ \item Όλα τα εργαλεία της σουίτας Truffle ήταν σε alpha phase κατά την ανάπτυξη (κάποια έχουν περάσει σε beta πλέον). \item Το IPFS (συγκεκριμένα η βιβλιοθήκη js-ipfs) βρίσκεται ακόμα σε alpha έκδοση. \item Η OrbitDB βρίσκεται ακόμα σε alpha phase. - \item Η γλώσσα των contracts, Solidity, ακόμα δεν έχει βγάλει version 1.0 καθώς αλλάζει διαρκώς με breaking changes\footnote{Από τη σελίδα του πηγαίου κώδικα \url{https://github.com/ethereum/solidity}}. + \item Η γλώσσα των contract, 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 των contract κατά την ανάπτυξη (πλέον υπάρχουν κάποιες λύσεις) και δεύτερον η έλλειψη έτοιμων διαδικασιών, plugin και integration του 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 afc4452..ab54fb8 100644 --- a/chapters/4.application-implementation/4.5.implemented-parts.tex +++ b/chapters/4.application-implementation/4.5.implemented-parts.tex @@ -1,14 +1,14 @@ \section{Υλοποιημένα χαρακτηριστικά} \label{section:4-5-implemented-parts} -Όπως αναλύθηκε στο προηγούμενο κεφάλαιο, κατά την υλοποίηση εμφανίστηκαν διάφορα προβλήματα που δεν είχαν προβλεφθεί και τα οποία προκάλεσαν καθυστερήσεις στην ολοκλήρωση των tasks. Λόγω των καθυστερήσεων αυτών έγιναν διάφορες αναδιαμορφώσεις του προγραμματισμού των Sprint καθώς και διαπραγματεύσεις της σημαντικότητας των χαρακτηριστικών. Από τον επανασχεδιασμό και τις προσαρμογές αυτές προέκυψαν μερικές αλλαγές στο τελικό σετ των χαρακτηριστικών της πλατφόρμας σε σχέση με ό,τι είχε αρχικά προδιαγραφεί. +Όπως αναλύθηκε στην προηγούμενη ενότητα, κατά την υλοποίηση εμφανίστηκαν διάφορα προβλήματα που δεν είχαν προβλεφθεί και τα οποία προκάλεσαν καθυστερήσεις στην ολοκλήρωση των task. Εξαιτίας αυτών των καθυστερήσεων έγιναν διάφορες αναδιαμορφώσεις του προγραμματισμού των Sprint, καθώς και διαπραγματεύσεις ως προς τη σημαντικότητα των χαρακτηριστικών. Από τον επανασχεδιασμό και τις προσαρμογές αυτές προέκυψαν μερικές αλλαγές στο τελικό σετ των χαρακτηριστικών της πλατφόρμας σε σχέση με ό,τι είχε αρχικά προδιαγραφεί. -Τα χαρακτηριστικά και οι αντίστοιχες Λειτουργικές Απαιτήσεις που τελικά υλοποιήθηκαν είναι: +Τα χαρακτηριστικά και οι αντίστοιχες Λειτουργικές Απαιτήσεις που τελικά υλοποιήθηκαν είναι οι εξής: \begin{itemize} - \item Η εγγραφή χρήστη και η δημιουργία των τοπικών βάσεων του, όπως περιγράφονται στις \ref{srs:functional-srs-sign-up} \& \ref{srs:functional-srs-create-user-databases} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-signup}. + \item Η εγγραφή χρήστη και η δημιουργία των τοπικών του βάσεων, όπως περιγράφονται στις \ref{srs:functional-srs-sign-up} \& \ref{srs:functional-srs-create-user-databases} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-signup}. \item Η αυτόματη είσοδος χρήστη, όπως περιγράφεται στη \ref{srs:functional-srs-sign-in} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-signin}. \item Η δημιουργία θέματος και η δημιουργία ψηφοφοριών, όπως περιγράφονται στις \ref{srs:functional-srs-create-topic} \& \ref{srs:functional-srs-create-polls} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-create-topic}. - \item Η περιήγηση στα υπάρχοντας θέματα, όπως περιγράφεται στη \ref{srs:functional-srs-browse-community-topics} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-fetch-topic}. + \item Η περιήγηση στα υπάρχοντα θέματα, όπως περιγράφεται στη \ref{srs:functional-srs-browse-community-topics} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-fetch-topic}. \item Η δημοσίευση μηνύματος, όπως περιγράφεται στη \ref{srs:functional-srs-create-post} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-create-post}. \item Η επεξεργασία μηνύματος, όπως περιγράφεται στη \ref{srs:functional-srs-modify-post} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-modify-post}. \item Η ψήφιση σε ψηφοφορία, όπως περιγράφεται στη \ref{srs:functional-srs-vote-polls} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-vote-in-poll}. @@ -16,29 +16,31 @@ \item Η διαγραφή των τοπικών δεδομένων, όπως περιγράφεται στη \ref{srs:functional-srs-delete-local-data} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-delete-local-data}. \end{itemize} -Τα παραπάνω αντιστοιχούν σε 11 ολοκληρωμένες από τις 13 προδιαγεγραμμένες ΛΑ ή πλήρωση 84.6\%, ποσοστό που θεωρείται από τους συγγραφείς επαρκές για την εξαγωγή συμπερασμάτων για τον χώρο των DApps και υπερβάλλον για τα πλαίσια ενός PoC. Στο \hyperref[{appendix-a}]{παράρτημα Αʹ} παρατίθενται τα στιγμιότυπα οθόνης των υλοποιημένων χαρακτηριστικών. +Τα παραπάνω αντιστοιχούν σε 11 ολοκληρωμένες από τις 13 προδιαγεγραμμένες ΛΑ ή πλήρωση 84.6\%, ποσοστό που θεωρείται από τους συγγραφείς επαρκές για την εξαγωγή συμπερασμάτων για τον χώρο των DApp και υπερβάλλον για τα πλαίσια ενός PoC. Στο \hyperref[{appendix-a}]{παράρτημα Αʹ} περιλαμβάνονται στιγμιότυπα οθόνης τα οποία αντιστοιχίζονται με τις ΛΑ των υλοποιήμενων χαρακτηριστικών. -Το χαρακτηριστικό το οποία παραλήφθηκε είναι η δημιουργία κοινοτήτων και ο ορισμός εξωτερικών contracts για τα tokens τους, όπως περιγράφονται στις \ref{srs:functional-srs-create-communities} \& \ref{srs:functional-srs-assign-community-contract} και στο σενάριο χρήσης \ref{subsection:3-10-use-case-create-community}. +Το χαρακτηριστικά τά οποία παραλήφθηκαν είναι η δημιουργία κοινοτήτων και ο ορισμός εξωτερικών contract για τα token τους, όπως περιγράφονται στις \ref{srs:functional-srs-create-communities} \& \ref{srs:functional-srs-assign-community-contract} και στο σενάριο χρήσης \ref{subsection:3-10-use-case-create-community}. -Όσον αφορά στις Μη Λειτουργικές Απαιτήσεις, η \ref{srs:non-functional-srs-maximum-decentraliztion}, η οποία απαιτεί τη μεγιστοποίηση της αποκέντρωσης της πλατφόρμας, εκπληρώθηκε σε ικανοποιητικό βαθμό, παρότι φαινομενικά το σύστημα περιλαμβάνει σημεία κεντροποίησης για ορισμένες λειτουργίες του. Ενώ, δηλαδή, η διάθεση του frontend της εφαρμογής και των contract artifacts, καθώς και η διαδικασία ανακάλυψης των IPFS peers πραγματοποιούνται μέσω υπηρεσιών που εκτελούνται σε κεντρικούς εξυπηρετητές, στην πραγματικότητα είτε απλά παρέχουν σημαντικές διευκολύνσεις στο περιβάλλον ανάπτυξης, είτε αποτελούν προσωρινά εμπόδια που σχετίζονται με τους τρέχοντες περιορισμούς των υποκείμενων τεχνολογιών. Έτσι, από τη μία πλευρά ο κώδικας της εφαρμογής είναι εφικτό να διατίθεται στους χρήστες με αποκεντρωμένο τρόπο (π.χ. μέσω του ίδιου του IPFS), από την άλλη η παρούσα ανάγκη ύπαρξης των rendezvous server για το peer discovery μένει να επιλυθεί από την προγραμματιστική ομάδα του IPFS. +Όσον αφορά στις Μη Λειτουργικές Απαιτήσεις, η \ref{srs:non-functional-srs-maximum-decentraliztion}, η οποία απαιτεί τη μεγιστοποίηση της αποκέντρωσης της πλατφόρμας, εκπληρώθηκε σε ικανοποιητικό βαθμό, παρότι φαινομενικά το σύστημα περιλαμβάνει σημεία κεντροποίησης για ορισμένες λειτουργίες του. Ενώ, δηλαδή, η διάθεση του frontend της εφαρμογής και των contract artifact, καθώς και η διαδικασία ανακάλυψης των IPFS peer πραγματοποιούνται μέσω υπηρεσιών που εκτελούνται σε κεντρικούς εξυπηρετητές, στην πραγματικότητα είτε απλά παρέχουν σημαντικές διευκολύνσεις στο περιβάλλον ανάπτυξης, είτε αποτελούν προσωρινά εμπόδια που σχετίζονται με τους τρέχοντες περιορισμούς των υποκείμενων τεχνολογιών. Έτσι, από τη μία πλευρά ο κώδικας της εφαρμογής είναι εφικτό να διατίθεται στους χρήστες με αποκεντρωμένο τρόπο (π.χ. μέσω του ίδιου του IPFS), από την άλλη η παρούσα ανάγκη ύπαρξης των rendezvous server για το peer discovery μένει να επιλυθεί από την προγραμματιστική ομάδα του IPFS. -Επίσης, η ΜΛΑ που αφορά στην ελαχιστοποίηση των fees (\ref{srs:non-functional-srs-minimize-fees}) ακολουθήθηκε κατά το δυνατόν σε ολόκληρες τις διαδικασίες του σχεδιασμού και της υλοποίησης. Αυτό επιτεύχθηκε τόσο με την αποθήκευση των απολύτως απαραίτητων δεδομένων επί του blockchain, όσο και με τη βελτιστοποίηση του κώδικα των smart contracts, ώστε να εκτελείται με τον μικρότερο δυνατό αριθμό υπολογιστικών κύκλων. +Επίσης, η ΜΛΑ που αφορά στην ελαχιστοποίηση των fee (\ref{srs:non-functional-srs-minimize-fees}) ακολουθήθηκε κατά το δυνατόν σε ολόκληρες τις διαδικασίες του σχεδιασμού και της υλοποίησης. Αυτό επιτεύχθηκε τόσο με την αποθήκευση των απολύτως απαραίτητων δεδομένων επί του blockchain, όσο και με τη βελτιστοποίηση του κώδικα των smart contract, ώστε να εκτελείται με τον μικρότερο δυνατό αριθμό υπολογιστικών κύκλων. -Τέλος, η ΜΛΑ που σχετίζεται με την αναβαθμισιμότητα των contracts (\ref{srs:non-functional-srs-upgrade-contracts}) καταστρατηγήθηκε, λόγω του επιπρόσθετου χρόνου που θα απαιτούσε μία τέτοια υλοποίηση. Ωστόσο, υπάρχουν ήδη πλήρως λειτουργικές μέθοδοι για την επίτευξη αυτού του στόχου, με διαθέσιμα plugin\footnote{\url{https://docs.openzeppelin.com/upgrades-plugins/1.x/}} που μπορούν να ενσωματωθούν απευθείας στις υπάρχοντες ροές εργασίας. +Τέλος, η ΜΛΑ που σχετίζεται με την αναβαθμισιμότητα των contract (\ref{srs:non-functional-srs-upgrade-contracts}) καταστρατηγήθηκε, λόγω του επιπρόσθετου χρόνου που θα απαιτούσε μία τέτοια υλοποίηση. Ωστόσο, υπάρχουν ήδη πλήρως λειτουργικές μέθοδοι για την επίτευξη αυτού του στόχου, με διαθέσιμα plugin\footnote{\url{https://docs.openzeppelin.com/upgrades-plugins/1.x/}} που μπορούν να ενσωματωθούν απευθείας στις υπάρχοντες ροές εργασίας. \subsection{Διαφορές σχεδιασμού-υλοποίησης} \label{subsection:4-5-1-design-implementation-differences} -Σημαντικές διαφορές υπήρξαν επίσης στην διαδικασία υλοποίησης τόσο όσον αφορά στον αριθμό και στις λειτουργίες των διαφορετικών πακέτων λογισμικού όσο και τον χρονοπρογραμματισμό. Προστέθηκαν τρεις νέες υπηρεσίες, η υπηρεσία "Concordia Contracts Provider", ο προσαρμοσμένος IPFS pinner "Concordia Pinner" και η ιστοσελίδα "Concordia Guide". +Σημαντικές διαφορές υπήρξαν επίσης στη διαδικασία υλοποίησης, τόσο όσον αφορά στον αριθμό και στις λειτουργίες των διαφορετικών πακέτων λογισμικού, όσο και στον χρονοπρογραμματισμό. Προστέθηκαν τρεις νέες υπηρεσίες, η υπηρεσία "Concordia Contracts Provider", ο προσαρμοσμένος IPFS pinner "Concordia Pinner" και η ιστοσελίδα "Concordia Guide". Η ανάγκη για τα νέα πακέτα λογισμικού προέκυψε κατά την πορεία υλοποίησης της διπλωματικής και προστέθηκαν στον χρονοπρογραμματισμό που είχε γίνει στην αρχή της εργασίας. Στην προσαρμογή αυτή βοήθησαν ιδιαίτερα οι Agile τακτικές που ακολουθήθηκαν και η προσαρμοστικότητα που προσφέρει το Scrum σε μεταβαλλόμενες απαιτήσεις. -Τέλος, κατά την υλοποίηση έγινε γρήγορα αντιληπτή η αξία που προσφέρουν ένα δοκιμαστικό περιβάλλον (staging environment) σε συνδυασμό με ένα CI/CD σύστημα. Για το λόγο αυτό λήφθηκε η απόφαση να μεταφερθεί το sprint που αφορούσε αυτά πολύ νωρίτερα στην διαδικασία υλοποίησης, ώστε να μεγιστοποιηθεί η χρήση του. +Τέλος, κατά την υλοποίηση έγινε γρήγορα αντιληπτή η αξία που προσφέρουν ένα δοκιμαστικό περιβάλλον (staging environment) σε συνδυασμό με ένα CI/CD σύστημα. Για τον λόγο αυτό λήφθηκε η απόφαση να μεταφερθεί το Sprint που αφορούσε σε αυτά πολύ νωρίτερα στη διαδικασία υλοποίησης, ώστε να αξιοποιηθεί η χρήση του στο μέγιστο. -Εποπτικά, η διαδικασία της υλοποίησης περιγράφεται στο παρακάτω σχήμα (σχήμα \ref{figure:4.5.design-implementation-differences-sprints}). Με σκούρο πράσινο χρώμα εμφανίζονται τα tasks τα οποία υπήρχαν στο χρονοπρογραμματισμό από τη αρχή και υλοποιήθηκαν, με ανοιχτό πράσινο αυτά τα οποία δεν υπήρχαν στον αρχικό προγραμματισμό αλλά υλοποιήθηκαν και με κόκκινο αυτά τα οποία δεν υλοποιήθηκαν. +Εποπτικά, η διαδικασία της υλοποίησης περιγράφεται στο παρακάτω σχήμα (σχήμα \ref{figure:4.5.design-implementation-differences-sprints}). Με σκούρο πράσινο χρώμα εμφανίζονται τα task τα οποία υπήρχαν στον χρονοπρογραμματισμό από την αρχή και υλοποιήθηκαν, με ανοιχτό πράσινο αυτά τα οποία δεν υπήρχαν στον αρχικό προγραμματισμό αλλά υλοποιήθηκαν και με κόκκινο αυτά τα οποία τελικά δεν υλοποιήθηκαν. + +\vspace{\baselineskip} \begin{figure}[H] \centering \includegraphics[width=\textwidth]{assets/figures/chapter-4/4.6.design-implementation-differences-sprints.png} - \caption{Διαχωρισμός σε sprints (στάδιο υλοποίησης)} + \caption{Διαχωρισμός σε Sprint (στάδιο υλοποίησης)} \label{figure:4.5.design-implementation-differences-sprints} \end{figure} diff --git a/chapters/5.conclusions-open-areas/5.1.conclusions.tex b/chapters/5.conclusions-open-areas/5.1.conclusions.tex index fd11da5..4f577f9 100644 --- a/chapters/5.conclusions-open-areas/5.1.conclusions.tex +++ b/chapters/5.conclusions-open-areas/5.1.conclusions.tex @@ -7,14 +7,14 @@ Ωστόσο, θα πρέπει να επισημανθεί ότι η εφαρμογή χαρακτηρίζεται από ορισμένα μειονεκτήματα, τα οποία σχετίζονται, κυρίως, με την πρώιμη κατάσταση ανάπτυξης των επιλεγμένων τεχνολογιών: \begin{itemize} - \item Στο Application tier, μέσω της χρήσης του Ethereum, εισάγονται όλα εκείνα τα ζητήματα που συνοδεύουν επί του παρόντος το blockchain και τα smart contracts. Τα βασικότερα από αυτά είναι τα τέλη των συναλλαγών, η ανάγκη χρήσης επιπρόσθετων λογισμικών (π.χ. MetaMask) και η κλιμακοθετησιμότητά (scalability) των DApp. Σε γενικές γραμμές, το κλίμα στην παγκόσμια προγραμματιστική κοινότητα παραμένει αρκέτα πολωμένο ως προς το αν τελικά πλατφόρμες όπως το Ethereum θα μπορέσουν να ξεπεράσουν τα διάφορα προβλήματα και να ανταπεξέλθουν στις προσδοκίες. + \item Στο Application tier, μέσω της χρήσης του Ethereum, εισάγονται όλα εκείνα τα ζητήματα που συνοδεύουν επί του παρόντος το blockchain και τα smart contract. Τα βασικότερα από αυτά είναι τα τέλη των συναλλαγών, η ανάγκη χρήσης επιπρόσθετων λογισμικών (π.χ. MetaMask) και η κλιμακοθετησιμότητά (scalability) των DApp. Σε γενικές γραμμές, το κλίμα στην παγκόσμια προγραμματιστική κοινότητα παραμένει αρκέτα πολωμένο ως προς το αν τελικά πλατφόρμες όπως το Ethereum θα μπορέσουν να ξεπεράσουν τα διάφορα προβλήματα και να ανταπεξέλθουν στις προσδοκίες. \begin{enumitemcenteredfigure} \includegraphics[width=.50\textwidth]{assets/figures/chapter-5/5.1.xkcd_2030_voting_software} \caption{\url{https://xkcd.com/2030/}} \end{enumitemcenteredfigure} - \item Στο Data tier, το IPFS και η OrbitDB αποτελούν επίσης ιδιαίτερα καινοτόμα λογισμικά και δε θεωρούνται ακόμα production-ready. Αυτό έχει ως αποτέλεσμα να εισάγουν με τη σειρά τους διάφορα προβλήματα, τα οποία σχετίζονται κυρίως με την εύρεση των peers (το οποίο βασίζεται προσωρινά σε signalling servers\footnote{Βλ. και \url{https://github.com/libp2p/js-libp2p/issues/385}.}) και το replication των δεδομένων. + \item Στο Data tier, το IPFS και η OrbitDB αποτελούν επίσης ιδιαίτερα καινοτόμα λογισμικά και δε θεωρούνται ακόμα production-ready. Αυτό έχει ως αποτέλεσμα να εισάγουν με τη σειρά τους διάφορα προβλήματα, τα οποία σχετίζονται κυρίως με την εύρεση των peers (το οποίο βασίζεται προσωρινά σε signalling servers\footnote{Βλ. και \url{https://github.com/libp2p/js-libp2p/issues/385}.}, καθιστώντας το P2P δίκτυο υβριδικό) και το replication των δεδομένων. \end{itemize} Τέλος, τονίζεται πως, παρ' όλες τις τρέχουσες δυσκολίες, οι προγραμματιστικές κοινότητες των παραπάνω τεχνολογιών εργάζονται αδιάκοπα για τη βελτίωση τους, ενώ παρόμοια εναλλακτικά project μπορούν ανά πάσα στιγμή να αντικαταστήσουν αυτά που επιλέχθηκαν στην τρέχουσα υλοποίηση της τεχνολογικής στοίβας. diff --git a/chapters/appendix/appendix-a.tex b/chapters/appendix/appendix-a.tex index b272533..21af01c 100644 --- a/chapters/appendix/appendix-a.tex +++ b/chapters/appendix/appendix-a.tex @@ -17,7 +17,7 @@ \begin{figure}[H] \centering - \includegraphics[width=\textwidth]{assets/figures/appendix-a/screenshot-2-signup} + \includegraphics[width=.9\textwidth]{assets/figures/appendix-a/screenshot-2-signup} \caption{Εγγραφή χρήστη (\ref{srs:functional-srs-sign-up})} \end{figure} @@ -73,7 +73,7 @@ \begin{figure}[H] \centering - \includegraphics[width=\textwidth]{assets/figures/appendix-a/screenshot-11-clear-databases-dialog} + \includegraphics[width=.9\textwidth]{assets/figures/appendix-a/screenshot-11-clear-databases-dialog} \caption{Διάλογος επιβεβαίωσης εκκαθάρισης τοπικών δεδομένων (\ref{srs:functional-srs-delete-local-data})} \end{figure} diff --git a/thesis.pdf b/thesis.pdf index aa03bc471ca9c194b578e23e769aed135cb7cd3c..afd1ba73e1c1fb50190559e88ed9d55380125ba8 100644 GIT binary patch delta 167702 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%0A`Z0Puegn?6Q3^bxaC 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 delta 167314 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

?vI3dFMcqY8|+sAs# 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�-G1RgDunnYD^^A-SSH-CRHAl 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