From 360263980dfb03d45164a3a897740da5299d6d05 Mon Sep 17 00:00:00 2001 From: apostolof Date: Fri, 24 Dec 2021 16:41:45 +0200 Subject: [PATCH] refactor: move implemented parts subchapter to last place of chapter 4, merge with the differences subchapter --- ...entation-methodology-jenkins-pipeline.png} | Bin ...4.1.implementation-methodology-kanban.png} | Bin ....3.docker-logo.png => 4.2.docker-logo.png} | Bin ....3.ganache-gui.png => 4.2.ganache-gui.png} | Bin ....ganache-logo.png => 4.2.ganache-logo.png} | Bin ....jenkins-logo.png => 4.2.jenkins-logo.png} | Bin ....js-ipfs-logo.png => 4.2.js-ipfs-logo.png} | Bin ....3.libp2p-logo.png => 4.2.libp2p-logo.png} | Bin ....node.js-logo.png => 4.2.node.js-logo.png} | Bin ....orbitdb-logo.png => 4.2.orbitdb-logo.png} | Bin ...{4.3.react-logo.png => 4.2.react-logo.png} | Bin ....3.react-redux.png => 4.2.react-redux.png} | Bin ...{4.3.redux-logo.png => 4.2.redux-logo.png} | Bin ...-saga-logo.png => 4.2.redux-saga-logo.png} | Bin ....truffle-logo.png => 4.2.truffle-logo.png} | Bin ....2.concordia-application-architecture.png} | Bin ...ordia-contracts-migrator-architecture.png} | Bin ...e-4.3.4.concordia-pinner-architecture.png} | Bin ...ordia-contracts-provider-architecture.png} | Bin ...3.architecture-4.3.9.data-flow-insert.png} | Bin ...4.3.architecture-4.3.9.data-flow-read.png} | Bin ....3.architecture-architecture-overview.png} | Bin ...ram.png => 4.3.communications-diagram.png} | Bin bibliography/references.bib | 8 +- .../4.0.application-implementation.tex | 11 ++- ...tex => 4.1.implementation-methodology.tex} | 14 ++-- ...> 4.2.implementation-technology-stack.tex} | 10 +-- .../4.2.1.development-technologies.tex | 9 ++ .../4.2.1.1.node.js.tex} | 6 +- .../4.2.1.2.docker.tex} | 4 +- .../4.2.1.3.jenkins.tex} | 4 +- .../4.2.2.ui-technologies.tex | 9 ++ .../4.2.2.ui-technologies/4.2.2.1.react.tex} | 4 +- .../4.2.2.ui-technologies/4.2.2.2.redux.tex} | 6 +- .../4.2.2.3.redux-saga.tex} | 4 +- .../4.2.3.ethereum-technologies.tex} | 6 +- .../4.2.3.1.truffle.tex} | 4 +- .../4.2.3.2.ganache.tex} | 6 +- .../4.2.4.ipfs-technologies.tex | 7 ++ .../4.2.4.1.js-ipfs.tex} | 4 +- .../4.2.4.2.orbit-db.tex} | 8 +- .../4.2.4.3.libp2p.tex} | 4 +- ...ex => 4.3.implementation-architecture.tex} | 78 +++++++++--------- .../4.3.1.development-technologies.tex | 9 -- .../4.3.2.ui-technologies.tex | 9 -- .../4.3.4.ipfs-technologies.tex | 7 -- ...blems-faced.tex => 4.4.problems-faced.tex} | 0 ...ed-parts.tex => 4.5.implemented-parts.tex} | 7 +- .../4.6.design-implementation-differences.tex | 1 - thesis.pdf | Bin 7437717 -> 7437454 bytes 50 files changed, 120 insertions(+), 119 deletions(-) rename assets/figures/chapter-4/{4-2-implementation-methodology-jenkins-pipeline.png => 4.1.implementation-methodology-jenkins-pipeline.png} (100%) rename assets/figures/chapter-4/{4.2.implementation-methodology-kanban.png => 4.1.implementation-methodology-kanban.png} (100%) rename assets/figures/chapter-4/{4.3.docker-logo.png => 4.2.docker-logo.png} (100%) rename assets/figures/chapter-4/{4.3.ganache-gui.png => 4.2.ganache-gui.png} (100%) rename assets/figures/chapter-4/{4.3.ganache-logo.png => 4.2.ganache-logo.png} (100%) rename assets/figures/chapter-4/{4.3.jenkins-logo.png => 4.2.jenkins-logo.png} (100%) rename assets/figures/chapter-4/{4.3.js-ipfs-logo.png => 4.2.js-ipfs-logo.png} (100%) rename assets/figures/chapter-4/{4.3.libp2p-logo.png => 4.2.libp2p-logo.png} (100%) rename assets/figures/chapter-4/{4.3.node.js-logo.png => 4.2.node.js-logo.png} (100%) rename assets/figures/chapter-4/{4.3.orbitdb-logo.png => 4.2.orbitdb-logo.png} (100%) rename assets/figures/chapter-4/{4.3.react-logo.png => 4.2.react-logo.png} (100%) rename assets/figures/chapter-4/{4.3.react-redux.png => 4.2.react-redux.png} (100%) rename assets/figures/chapter-4/{4.3.redux-logo.png => 4.2.redux-logo.png} (100%) rename assets/figures/chapter-4/{4.3.redux-saga-logo.png => 4.2.redux-saga-logo.png} (100%) rename assets/figures/chapter-4/{4.3.truffle-logo.png => 4.2.truffle-logo.png} (100%) rename assets/figures/chapter-4/{4.4.architecture-4.4.2.concordia-application-architecture.png => 4.3.architecture-4.3.2.concordia-application-architecture.png} (100%) rename assets/figures/chapter-4/{4.4.architecture-4.4.3.concordia-contracts-migrator-architecture.png => 4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png} (100%) rename assets/figures/chapter-4/{4.4.architecture-4.4.4.concordia-pinner-architecture.png => 4.3.architecture-4.3.4.concordia-pinner-architecture.png} (100%) rename assets/figures/chapter-4/{4.4.architecture-4.4.5.concordia-contracts-provider-architecture.png => 4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png} (100%) rename assets/figures/chapter-4/{4.4.architecture-4.4.9.data-flow-insert.png => 4.3.architecture-4.3.9.data-flow-insert.png} (100%) rename assets/figures/chapter-4/{4.4.architecture-4.4.9.data-flow-read.png => 4.3.architecture-4.3.9.data-flow-read.png} (100%) rename assets/figures/chapter-4/{4.4.architecture-architecture-overview.png => 4.3.architecture-architecture-overview.png} (100%) rename assets/figures/chapter-4/{4.4.communications-diagram.png => 4.3.communications-diagram.png} (100%) rename chapters/4.application-implementation/{4.2.implementation-methodology.tex => 4.1.implementation-methodology.tex} (97%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack.tex => 4.2.implementation-technology-stack.tex} (50%) create mode 100644 chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies.tex rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.1.node.js.tex => 4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.1.node.js.tex} (88%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.2.docker.tex => 4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.2.docker.tex} (96%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.3.jenkins.tex => 4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.3.jenkins.tex} (96%) create mode 100644 chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies.tex rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.1.react.tex => 4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react.tex} (95%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.2.redux.tex => 4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux.tex} (96%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga.tex => 4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.3.redux-saga.tex} (91%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.3.ethereum-technologies.tex => 4.2.implementation-technology-stack/4.2.3.ethereum-technologies.tex} (50%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.3.1.truffle.tex => 4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.1.truffle.tex} (88%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.3.2.ganache.tex => 4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.2.ganache.tex} (92%) create mode 100644 chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies.tex rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.1.js-ipfs.tex => 4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.1.js-ipfs.tex} (85%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.2.orbit-db.tex => 4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.2.orbit-db.tex} (95%) rename chapters/4.application-implementation/{4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.3.libp2p.tex => 4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.3.libp2p.tex} (91%) rename chapters/4.application-implementation/{4.4.implementation-architecture.tex => 4.3.implementation-architecture.tex} (94%) delete mode 100644 chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies.tex delete mode 100644 chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies.tex delete mode 100644 chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies.tex rename chapters/4.application-implementation/{4.5.problems-faced.tex => 4.4.problems-faced.tex} (100%) rename chapters/4.application-implementation/{4.1.implemented-parts.tex => 4.5.implemented-parts.tex} (56%) delete mode 100644 chapters/4.application-implementation/4.6.design-implementation-differences.tex diff --git a/assets/figures/chapter-4/4-2-implementation-methodology-jenkins-pipeline.png b/assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png similarity index 100% rename from assets/figures/chapter-4/4-2-implementation-methodology-jenkins-pipeline.png rename to assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png diff --git a/assets/figures/chapter-4/4.2.implementation-methodology-kanban.png b/assets/figures/chapter-4/4.1.implementation-methodology-kanban.png similarity index 100% rename from assets/figures/chapter-4/4.2.implementation-methodology-kanban.png rename to assets/figures/chapter-4/4.1.implementation-methodology-kanban.png diff --git a/assets/figures/chapter-4/4.3.docker-logo.png b/assets/figures/chapter-4/4.2.docker-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.docker-logo.png rename to assets/figures/chapter-4/4.2.docker-logo.png diff --git a/assets/figures/chapter-4/4.3.ganache-gui.png b/assets/figures/chapter-4/4.2.ganache-gui.png similarity index 100% rename from assets/figures/chapter-4/4.3.ganache-gui.png rename to assets/figures/chapter-4/4.2.ganache-gui.png diff --git a/assets/figures/chapter-4/4.3.ganache-logo.png b/assets/figures/chapter-4/4.2.ganache-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.ganache-logo.png rename to assets/figures/chapter-4/4.2.ganache-logo.png diff --git a/assets/figures/chapter-4/4.3.jenkins-logo.png b/assets/figures/chapter-4/4.2.jenkins-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.jenkins-logo.png rename to assets/figures/chapter-4/4.2.jenkins-logo.png diff --git a/assets/figures/chapter-4/4.3.js-ipfs-logo.png b/assets/figures/chapter-4/4.2.js-ipfs-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.js-ipfs-logo.png rename to assets/figures/chapter-4/4.2.js-ipfs-logo.png diff --git a/assets/figures/chapter-4/4.3.libp2p-logo.png b/assets/figures/chapter-4/4.2.libp2p-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.libp2p-logo.png rename to assets/figures/chapter-4/4.2.libp2p-logo.png diff --git a/assets/figures/chapter-4/4.3.node.js-logo.png b/assets/figures/chapter-4/4.2.node.js-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.node.js-logo.png rename to assets/figures/chapter-4/4.2.node.js-logo.png diff --git a/assets/figures/chapter-4/4.3.orbitdb-logo.png b/assets/figures/chapter-4/4.2.orbitdb-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.orbitdb-logo.png rename to assets/figures/chapter-4/4.2.orbitdb-logo.png diff --git a/assets/figures/chapter-4/4.3.react-logo.png b/assets/figures/chapter-4/4.2.react-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.react-logo.png rename to assets/figures/chapter-4/4.2.react-logo.png diff --git a/assets/figures/chapter-4/4.3.react-redux.png b/assets/figures/chapter-4/4.2.react-redux.png similarity index 100% rename from assets/figures/chapter-4/4.3.react-redux.png rename to assets/figures/chapter-4/4.2.react-redux.png diff --git a/assets/figures/chapter-4/4.3.redux-logo.png b/assets/figures/chapter-4/4.2.redux-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.redux-logo.png rename to assets/figures/chapter-4/4.2.redux-logo.png diff --git a/assets/figures/chapter-4/4.3.redux-saga-logo.png b/assets/figures/chapter-4/4.2.redux-saga-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.redux-saga-logo.png rename to assets/figures/chapter-4/4.2.redux-saga-logo.png diff --git a/assets/figures/chapter-4/4.3.truffle-logo.png b/assets/figures/chapter-4/4.2.truffle-logo.png similarity index 100% rename from assets/figures/chapter-4/4.3.truffle-logo.png rename to assets/figures/chapter-4/4.2.truffle-logo.png diff --git a/assets/figures/chapter-4/4.4.architecture-4.4.2.concordia-application-architecture.png b/assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png similarity index 100% rename from assets/figures/chapter-4/4.4.architecture-4.4.2.concordia-application-architecture.png rename to assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png diff --git a/assets/figures/chapter-4/4.4.architecture-4.4.3.concordia-contracts-migrator-architecture.png b/assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png similarity index 100% rename from assets/figures/chapter-4/4.4.architecture-4.4.3.concordia-contracts-migrator-architecture.png rename to assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png diff --git a/assets/figures/chapter-4/4.4.architecture-4.4.4.concordia-pinner-architecture.png b/assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png similarity index 100% rename from assets/figures/chapter-4/4.4.architecture-4.4.4.concordia-pinner-architecture.png rename to assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png diff --git a/assets/figures/chapter-4/4.4.architecture-4.4.5.concordia-contracts-provider-architecture.png b/assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png similarity index 100% rename from assets/figures/chapter-4/4.4.architecture-4.4.5.concordia-contracts-provider-architecture.png rename to assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png diff --git a/assets/figures/chapter-4/4.4.architecture-4.4.9.data-flow-insert.png b/assets/figures/chapter-4/4.3.architecture-4.3.9.data-flow-insert.png similarity index 100% rename from assets/figures/chapter-4/4.4.architecture-4.4.9.data-flow-insert.png rename to assets/figures/chapter-4/4.3.architecture-4.3.9.data-flow-insert.png diff --git a/assets/figures/chapter-4/4.4.architecture-4.4.9.data-flow-read.png b/assets/figures/chapter-4/4.3.architecture-4.3.9.data-flow-read.png similarity index 100% rename from assets/figures/chapter-4/4.4.architecture-4.4.9.data-flow-read.png rename to assets/figures/chapter-4/4.3.architecture-4.3.9.data-flow-read.png diff --git a/assets/figures/chapter-4/4.4.architecture-architecture-overview.png b/assets/figures/chapter-4/4.3.architecture-architecture-overview.png similarity index 100% rename from assets/figures/chapter-4/4.4.architecture-architecture-overview.png rename to assets/figures/chapter-4/4.3.architecture-architecture-overview.png diff --git a/assets/figures/chapter-4/4.4.communications-diagram.png b/assets/figures/chapter-4/4.3.communications-diagram.png similarity index 100% rename from assets/figures/chapter-4/4.4.communications-diagram.png rename to assets/figures/chapter-4/4.3.communications-diagram.png diff --git a/bibliography/references.bib b/bibliography/references.bib index a4b83c6..44c2011 100644 --- a/bibliography/references.bib +++ b/bibliography/references.bib @@ -100,21 +100,21 @@ author = {ProtoSchool}, url = {https://proto.school/merkle-dags/} } -@online{4.2-github-flow, +@online{4.1-github-flow, title = {Understanding the GitHub flow}, author = {GitHub Guides}, url = {https://guides.github.com/introduction/flow/} } -@misc{4.3-node.js, +@misc{4.2-node.js, title = {Node.js}, author = {Wikipedia}, url = {https://en.wikipedia.org/wiki/Node.js} } -@misc{4.3-orbitdb, +@misc{4.2-orbitdb, title = {OrbitDB}, url = {https://orbitdb.org} } -@misc{4.3-orbitdb-guide, +@misc{4.2-orbitdb-guide, title = {Getting Started with OrbitDB}, url = {https://github.com/orbitdb/orbit-db/blob/main/GUIDE.md} } diff --git a/chapters/4.application-implementation/4.0.application-implementation.tex b/chapters/4.application-implementation/4.0.application-implementation.tex index 80b125d..25f3cd3 100644 --- a/chapters/4.application-implementation/4.0.application-implementation.tex +++ b/chapters/4.application-implementation/4.0.application-implementation.tex @@ -1,8 +1,7 @@ \chapter{Υλοποίηση εφαρμογής}\label{chapter:4-application-implementation} -\input{chapters/4.application-implementation/4.1.implemented-parts} -\input{chapters/4.application-implementation/4.2.implementation-methodology} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack} -\input{chapters/4.application-implementation/4.4.implementation-architecture} -\input{chapters/4.application-implementation/4.5.problems-faced} -\input{chapters/4.application-implementation/4.6.design-implementation-differences} +\input{chapters/4.application-implementation/4.1.implementation-methodology} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack} +\input{chapters/4.application-implementation/4.3.implementation-architecture} +\input{chapters/4.application-implementation/4.4.problems-faced} +\input{chapters/4.application-implementation/4.5.implemented-parts} diff --git a/chapters/4.application-implementation/4.2.implementation-methodology.tex b/chapters/4.application-implementation/4.1.implementation-methodology.tex similarity index 97% rename from chapters/4.application-implementation/4.2.implementation-methodology.tex rename to chapters/4.application-implementation/4.1.implementation-methodology.tex index 6495ea9..985407d 100644 --- a/chapters/4.application-implementation/4.2.implementation-methodology.tex +++ b/chapters/4.application-implementation/4.1.implementation-methodology.tex @@ -1,4 +1,4 @@ -\section{Μεθοδολογία υλοποίησης} \label{subsection:4-2-implementation-methodology} +\section{Μεθοδολογία υλοποίησης} \label{subsection:4-1-implementation-methodology} Για την επίτευξη των στόχων που ορίστηκαν και την οργάνωση της εργασίας που απαιτείται σε διαχειρίσιμα μέρη, σχεδιάστηκε η χρήση διάφορων εργαλείων και μεθόδων ανάπτυξης λογισμικού, όπως το σύστημα ελέγχου εκδόσεων (version control system) Git, η μέθοδος οργάνωσης Scrum και οι διαδικασίες ανάπτυξης DevOps. Τα εργαλεία αυτά είναι δοκιμασμένα και έχουν εδραιωθεί στη σύγχρονη ανάπτυξη λογισμικού. @@ -6,7 +6,7 @@ Το Git είναι δωρεάν λογισμικό ανοιχτού κώδικα το οποίο επιτρέπει και επικουρεί την απρόσκοπτη ανάπτυξη λογισμικού από πολλαπλά μέλη μίας ομάδας, ταυτόχρονα και διανεμημένα. Αυτό επιτυγχάνεται παρέχοντας ένα πλαίσιο από εργαλεία τα οποία βοηθούν την διαχείριση και ενσωμάτωση των διαφορετικών εκδόσεων του κώδικα τις οποίες αναπτύσσει κάθε μέλος της ομάδας ξεχωριστά. Υπάρχουν διάφορα μοντέλα χρήσης του Git και πιο συγκεκριμένα της δυνατότητας που δίνει για δημιουργία, ανάπτυξη και ένωση (merge) κλαδιών (branches). -Για τους σκοπούς της παρούσας διπλωματικής χρησιμοποιήθηκε το μοντέλο GitHub flow\cite{4.2-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. Η διαδικασία επαναλαμβάνεται έως ότου το έργο ολοκληρωθεί. @@ -24,9 +24,9 @@ \begin{figure}[H] \centering - \includegraphics[width=.8\textwidth]{assets/figures/chapter-4/4.2.implementation-methodology-kanban.png} + \includegraphics[width=.8\textwidth]{assets/figures/chapter-4/4.1.implementation-methodology-kanban.png} \caption{Στιγμιότυπο οθόνης της διαδικτυακής υπηρεσίας Trello που χρησιμοποιήθηκε για την υλοποίηση του Scrum} - \label{figure:4.2.implementation-methodology-kanban} + \label{figure:4.1.implementation-methodology-kanban} \end{figure} Κατά την διαδικασία της ανάπτυξης του κώδικα, εφαρμόστηκαν επίσης οι τακτικές που ορίζονται από το DevOps σε ό,τι αφορά το deployment των υπηρεσιών. Το DevOps ορίζει διάφορα εργαλεία που αποσκοπούν στην απρόσκοπτη, αυτοματοποιημένη και γρήγορα ενσωμάτωση του κώδικα από το στάδιο της συγγραφής μέχρι την ολοκλήρωση και εγκατάσταση. Τα εργαλεία που χρησιμοποιήθηκαν εδώ είναι: @@ -40,7 +40,7 @@ Για την υλοποίηση των τακτικών αυτών επιλέχθηκε μετά από εκτενή έρευνα η πλατφόρμα Jenkins. Το Jenkins συνδυάστηκε με την πλατφόρμα εικονοποίησης Docker ώστε να ακολουθηθούν οι τελευταίες ενδεδειγμένες πρακτικές της βιομηχανίας. Έγινε συγγραφή του αρχείου Jenkinsfile το οποίο περιγράφει με κώδικα την ροή εργασιών (pipeline) που πρέπει να ακολουθηθεί μετά από κάθε αλλαγή στον κώδικα. Η εκτέλεση του pipeline πραγματοποιείται αυτόματα από το Jenkins. -Το pipeline αποτελείται από στάδια και βήματα τα οποία φαίνονται στο σχήμα \ref{figure:4.2.implementation-methodology-jenkins-pipeline}: +Το pipeline αποτελείται από στάδια και βήματα τα οποία φαίνονται στο σχήμα \ref{figure:4.1.implementation-methodology-jenkins-pipeline}: \begin{enumerate} \item Αρχικά εκτελείται το βήμα "Version", το οποίο συλλέγει στοιχεία σχετικά με την εκτέλεση του pipeline όπως το κλαδί του κώδικα που πυροδότησε τη ροή και ποια από τα πακέτα λογισμικού που περιλαμβάνονται στο git repository περιέχουν αλλαγές. @@ -52,9 +52,9 @@ \begin{figure}[H] \centering - \includegraphics[width=.8\textwidth]{assets/figures/chapter-4/4-2-implementation-methodology-jenkins-pipeline.png} + \includegraphics[width=.8\textwidth]{assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png} \caption{Διάγραμμα ροής εργασιών Jenkins} - \label{figure:4.2.implementation-methodology-jenkins-pipeline} + \label{figure:4.1.implementation-methodology-jenkins-pipeline} \end{figure} Με την χρήση του Jenkins αυτοματοποιείται με μεγάλη ευκολία ένα σημαντικό μέρος των διαδικασιών ανάπτυξης και δημοσίευσης του κώδικα. Με την χρήση του συγκεκριμένου pipeline γίνεται σίγουρο ό,τι σε κάθε αλλαγή, ασχέτως του κλαδιού ανάπτυξης ο κώδικας ελέγχεται και τα αποτελέσματα των tests είναι αποθηκευμένα και διαθέσιμα για ανάλυση. Ακόμα, για το κλαδί develop, αυτοματοποιείται η ολοκλήρωση των πακέτων και η εγκατάστασή τους σε περιβάλλον δοκιμής (staging), γεγονός που διευκολύνει σημαντικά τις συλλογικές δοκιμές από την ομάδα σε διαφορετικά περιβάλλοντα χρήσης (browsers). Τέλος, για το κλαδί master, αυτοματοποιείται η διαδικασία δημοσίευσης των docker images, μηδενίζοντας έτσι τον χρόνο που πρέπει να καταβάλουν τα μέλη της ομάδας σε αυτό. diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack.tex similarity index 50% rename from chapters/4.application-implementation/4.3.implementation-technology-stack.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack.tex index 4558cc1..78e99a7 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack.tex @@ -1,8 +1,8 @@ -\section{Τεχνολογίες υλοποίησης} \label{subsection:4-3-implementation-technology-stack} +\section{Τεχνολογίες υλοποίησης} \label{subsection:4-2-implementation-technology-stack} Η παρούσα ενότητα απαρτίζεται από υποενότητες, στις οποίες διατυπώνονται οι \textbf{σημαντικότερες} τεχνολογίες που χρησιμοποιήθηκαν για την υλοποίηση της εφαρμογής. Όλες οι τεχνολογίες αποτελούν δωρεάν λογισμικό ανοιχτού κώδικα. -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies} diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies.tex new file mode 100644 index 0000000..cf35e8d --- /dev/null +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies.tex @@ -0,0 +1,9 @@ +\subsection{Τεχνολογίες σχετικές με το development} + +Σε αυτήν την υποενότητα περιγράφονται ορισμένα θεμελιώδη εργαλεία και frameworks που συνετέλεσαν στην ανάπτυξη της εφαρμογής. + +%TODO: Add janus and build steps diagram + +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.1.node.js} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.2.docker} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.3.jenkins} diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.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 similarity index 88% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.1.node.js.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.1.node.js.tex index fb65f59..289dfe2 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.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 @@ -1,8 +1,8 @@ -\subsubsection{Node.js} \label{subsection:4-3-1-1-node.js} +\subsubsection{Node.js} \label{subsection:4-2-1-1-node.js} -\logo{chapter-4/4.3.node.js-logo}{Node.js logo} +\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.3-node.js} +Το 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 είναι ο ενσωματωμένος διαχειριστής πακέτων του, ο οποίος ονομάζεται npm. Με τον npm γίνεται εφικτή η εγκατάσταση πακέτων (βιβλιοθηκών) από το μητρώο npm (npm registry\footnote{\url{https://www.npmjs.com/}}), καθώς και η οργάνωση και η διαχείρισή τους στα πλαίσια της ανάπτυξης μίας εφαρμογής που εξαρτάται από αυτά. diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.2.docker.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.2.docker.tex similarity index 96% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.2.docker.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.2.docker.tex index bb05eef..f99936c 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.2.docker.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.2.docker.tex @@ -1,6 +1,6 @@ -\subsubsection{Docker} \label{subsection:4-3-1-2-docker} +\subsubsection{Docker} \label{subsection:4-2-1-2-docker} -\logo{chapter-4/4.3.docker-logo}{Docker logo} +\logo{chapter-4/4.2.docker-logo}{Docker logo} Το Docker αποτελεί μία πλατφόρμα η οποία παρέχει λογισμικό εικονοποίησης (virtualization) στο επίπεδο του λειτουργικού συστήματος καθώς και ολοκληρωμένα συστήματα διαμοιρασμού και εκτέλεσης των παραγόμενων εικόνων. diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.3.jenkins.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.3.jenkins.tex similarity index 96% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.3.jenkins.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.3.jenkins.tex index 6b9e14a..92fd81f 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.3.jenkins.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.3.jenkins.tex @@ -1,6 +1,6 @@ -\subsubsection{Jenkins} \label{subsection:4-3-1-3-jenkins} +\subsubsection{Jenkins} \label{subsection:4-2-1-3-jenkins} -\logo{chapter-4/4.3.jenkins-logo}{Jenkins logo} +\logo{chapter-4/4.2.jenkins-logo}{Jenkins logo} Το Jenkins είναι ένας πλήρως παραμετροποιήσιμος και επεκτάσιμος διακομιστής αυτοματοποίησης (automation server). Ο διακομιστής μπορεί να αυτοματοποιήσει τις διαδικασίες ελέγχου, ολοκλήρωσης, παράδοσης και εγκατάστασης του κώδικα, υλοποιώντας έτσι βασικές διαδικασίες που ορίζει το DevOps, συνεχή έλεγχο (continuous testing), συνεχή ολοκλήρωση (continuous integration), συνεχή παράδοση (continuous delivery) και συνεχή εγκατάσταση (continuous deployment). Επίσης, το Jenkins μπορεί να παραμετροποιηθεί μέσω των ρυθμίσεων που προσφέρει και των επεκτάσεων (plugins) που υπάρχουν ώστε να παρέχει τις δυνατότητες αυτές για οποιαδήποτε πλατφόρμα, γλώσσα και περιβάλλον ανάπτυξης. diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies.tex new file mode 100644 index 0000000..4bbea95 --- /dev/null +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies.tex @@ -0,0 +1,9 @@ +\subsection{Τεχνολογίες σχετικές με το UI} + +Στην παρούσα υποενότητα περιγράφονται όσες τεχνολογίες σχετίζονται με τη διεπαφή του χρήστη (UI), δηλαδή με το Presentation tier. + +% TODO: add technologies like redux, sagas + +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.3.redux-saga} \ No newline at end of file diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.1.react.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react.tex similarity index 95% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.1.react.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react.tex index febc1d4..da0aa74 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.1.react.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react.tex @@ -1,6 +1,6 @@ -\subsubsection{React} \label{subsection:4-3-2-1-react} +\subsubsection{React} \label{subsection:4-2-2-1-react} -\logo{chapter-4/4.3.react-logo}{React logo} +\logo{chapter-4/4.2.react-logo}{React logo} Η React\footnote{\url{https://reactjs.org/}} αποτελεί βιβλιοθήκη Javascript, η οποία χρησιμοποιείται για την κατασκευή διεπαφών χρήστη. Είναι δηλωτική (declarative) και βασίζεται σε components, τα οποία διαχειρίζονται την κατάστασή τους (state) και συντίθενται για να δημιουργήσουν πολύπλοκα διαδραστικά UIs. diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.2.redux.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux.tex similarity index 96% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.2.redux.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux.tex index 92cb49d..0855fed 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.2.redux.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux.tex @@ -1,6 +1,6 @@ -\subsubsection{Redux} \label{subsection:4-3-2-1-redux} +\subsubsection{Redux} \label{subsection:4-2-2-1-redux} -\logo{chapter-4/4.3.redux-logo}{Redux logo} +\logo{chapter-4/4.2.redux-logo}{Redux logo} Το Redux\footnote{\url{https://redux.js.org/}} αποτελεί μία βιβλιοθήκη Javascript, η χρήση της οποίας προσφέρει στην εφαρμογή ένα πλήρως διαχειρίσιμο global state. @@ -20,7 +20,7 @@ %TODO: Add proper diagram \begin{figure}[H] \centering - \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.react-redux} + \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.2.react-redux} \caption{Λειτουργία του Redux σε συνδυασμό με React} \end{figure} diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.3.redux-saga.tex similarity index 91% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.3.redux-saga.tex index 9f2a155..d5e4838 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.3.redux-saga.tex @@ -1,6 +1,6 @@ -\subsubsection{Redux-Saga} \label{subsection:4-3-2-3-redux-saga} +\subsubsection{Redux-Saga} \label{subsection:4-2-2-3-redux-saga} -\logo{chapter-4/4.3.redux-saga-logo}{Redux-Saga logo} +\logo{chapter-4/4.2.redux-saga-logo}{Redux-Saga logo} Το Redux-Saga\footnote{\url{https://redux.js.org/}} αποτελεί μία βιβλιοθήκη Javascript του οικοσυστήματος του Redux. Πρόκειται για ένα Redux middleware, το οποίο χρησιμοποιεί ESG generator functions\footnote{\url{https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*}} για την εκτέλεση και διαχείριση ποικίλων ασύγχρονων side effect. Αυτές οι συναρτήσεις (sagas) παρέχουν μία πληθώρα επιλογών για την παράλληλη εκτέλεση κώδικα που μπορεί να σχετίζεται με εξωτερικά APIs, όπως με ένα blockchain ή μία βάση δεδομένων. Με αυτόν τον τρόπο, τα τελευταία μπορούν να συμπεριληφθούν στο κεντρικό Redux store και τη διαχείριση του συνολικού state της εφαρμογής. diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies.tex similarity index 50% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies.tex index c7cc9f1..52b6776 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies.tex @@ -1,6 +1,6 @@ -\subsection{Τεχνολογίες σχετικές με το Ethereum} \label{subsection:4-3-3-ethereum-technologies} +\subsection{Τεχνολογίες σχετικές με το Ethereum} \label{subsection:4-2-3-ethereum-technologies} Στην παρούσα υποενότητα περιγράφονται εκείνες οι τεχνολογίες που σχετίζονται με το Ethereum, δηλαδή με το Application tier της τεχνολογικής στοίβας. -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.3.1.truffle} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.3.2.ganache} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.1.truffle} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.2.ganache} diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.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 similarity index 88% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.3.1.truffle.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.1.truffle.tex index c357cd6..40bcc51 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.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 @@ -1,6 +1,6 @@ -\subsubsection{Truffle} \label{subsection:4-3-3-1-truffle} +\subsubsection{Truffle} \label{subsection:4-2-3-1-truffle} -\logo{chapter-4/4.3.truffle-logo}{Truffle logo} +\logo{chapter-4/4.2.truffle-logo}{Truffle logo} Το Truffle\footnote{\url{https://trufflesuite.com/truffle/}} είναι ένα από τα δημοφιλέστερα Ethereum development frameworks και αποτελεί τμήμα της σουίτας Truffle. diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.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 similarity index 92% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.3.2.ganache.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.3.ethereum-technologies/4.2.3.2.ganache.tex index 1ff6d8c..9c87174 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.3.ethereum-technologies/4.3.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 @@ -1,6 +1,6 @@ -\subsubsection{Ganache} \label{subsection:4-3-3-2-ganache} +\subsubsection{Ganache} \label{subsection:4-2-3-2-ganache} -\logo{chapter-4/4.3.ganache-logo}{Ganache logo} +\logo{chapter-4/4.2.ganache-logo}{Ganache logo} Το Ganache\footnote{\url{https://trufflesuite.com/ganache/}} είναι ένα λογισμικό που παρέχει ένα βοηθητικό προσωπικό Ethereum blockchain για ταχεία ανάπτυξη αποκεντρωμένων εφαρμογών και αποτελεί επίσης τμήμα της σουίτας Truffle. Διατίθεται τόσο ως desktop εφαρμογή με UI, όσο και ως CLI (command-line interface). @@ -14,7 +14,7 @@ To Ganache παρέχει ισχυρά εργαλεία για την ανάπτ \begin{figure}[H] \centering - \includegraphics[width=.95\textwidth]{assets/figures/chapter-4/4.3.ganache-gui} + \includegraphics[width=.95\textwidth]{assets/figures/chapter-4/4.2.ganache-gui} \caption{Ganache (desktop εφαρμογή)} \end{figure} diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies.tex new file mode 100644 index 0000000..b4c51cb --- /dev/null +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies.tex @@ -0,0 +1,7 @@ +\subsection{Τεχνολογίες σχετικές με το IPFS} + +Σε αυτήν την υποενότητα περιγράφονται όσες τεχνολογίες σχετίζονται με το IPFS (βλ. ενότητα \ref{section:2-7-ipfs}), δηλαδή με το Data tier της τεχνολογικής στοίβας της εφαρμογής. + +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.1.js-ipfs} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.2.orbit-db} +\input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.3.libp2p} diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.1.js-ipfs.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.1.js-ipfs.tex similarity index 85% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.1.js-ipfs.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.1.js-ipfs.tex index 181de4e..096c59b 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.1.js-ipfs.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.1.js-ipfs.tex @@ -1,6 +1,6 @@ -\subsubsection{js-ipfs} \label{subsection:4-3-4-1-js-ipfs} +\subsubsection{js-ipfs} \label{subsection:4-2-4-1-js-ipfs} -\logo{chapter-4/4.3.js-ipfs-logo}{js-ipfs logo} +\logo{chapter-4/4.2.js-ipfs-logo}{js-ipfs logo} H υλοποίηση του IPFS που χρησιμοποείται στην εφαρμογή Concordia είναι αυτή σε Javascript και ονομάζεται js-ipfs. Μέσω αυτής της βιβλιοθήκης, παρέχεται η δυνατότητα δημιουργίας ενός IPFS κόμβου, τόσο σε έναν Node.js server, όσο και σε ένα περιβάλλον browser. diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.2.orbit-db.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.2.orbit-db.tex similarity index 95% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.2.orbit-db.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.2.orbit-db.tex index f0b5dcf..6cebc57 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.2.orbit-db.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.2.orbit-db.tex @@ -1,8 +1,8 @@ -\subsubsection{OrbitDB} \label{subsection:4-3-4-2-orbit-db} +\subsubsection{OrbitDB} \label{subsection:4-2-4-2-orbit-db} -\logo{chapter-4/4.3.orbitdb-logo}{OrbitDB logo} +\logo{chapter-4/4.2.orbitdb-logo}{OrbitDB logo} -Η OrbitDB είναι μία P2P βάση δεδομένων ανοιχτού κώδικα. Χρησιμοποιεί το IPFS για την αποθήκευση των δεδομένων και το IPFS Pubsub για τον αυτόματο συγχρονισμό των βάσεων δεδομένων μεταξύ των peers. Είναι τελικά συνεπής (eventually consistent) και χρησιμοποιεί CRDTs (Conflict-Free Replicated Data Types) για συγχωνεύσεις βάσεων δεδομένων χωρίς συγκρούσεις, πράγμα που την καθιστά εξαιρετική επιλογή για DApps και offline-first web applications.\cite{4.3-orbitdb} +Η OrbitDB είναι μία P2P βάση δεδομένων ανοιχτού κώδικα. Χρησιμοποιεί το IPFS για την αποθήκευση των δεδομένων και το IPFS Pubsub για τον αυτόματο συγχρονισμό των βάσεων δεδομένων μεταξύ των peers. Είναι τελικά συνεπής (eventually consistent) και χρησιμοποιεί CRDTs (Conflict-Free Replicated Data Types) για συγχωνεύσεις βάσεων δεδομένων χωρίς συγκρούσεις, πράγμα που την καθιστά εξαιρετική επιλογή για DApps και offline-first web applications.\cite{4.2-orbitdb} Κάποια βασικά χαρακτηριστικά της είναι τα εξής: \begin{itemize} @@ -18,7 +18,7 @@ Όλα τα stores υλοποιούνται πάνω στο \texttt{ipfs-log}, μία αμετάβλητη, operation-based CRDT για κατανεμημένα συστήματα, ενώ υπάρχει και η δυνατότητα δημιουργίας προσαρμοσμένων stores ανάλογα με την περίπτωση. - \item \textbf{Address}: Κάθε βάση δεδομένων λαμβάνει κατά τη δημιουργία της μία διεύθυνση της μορφής \texttt{/orbitdb/CID/DATABASE\_NAME}, όπου \texttt{CID} είναι το IPFS multihash του μανιφέστου της και \texttt{DATABASE\_NAME} το όνομα της βάσης.\cite{4.3-orbitdb-guide}Το μανιφέστο είναι ένα IPFS object που περιέχει πληροφορίες της βάσης όπως το όνομα, τον τύπο και έναν δείκτη στον ελεγκτή πρόσβασης (access controller). + \item \textbf{Address}: Κάθε βάση δεδομένων λαμβάνει κατά τη δημιουργία της μία διεύθυνση της μορφής \texttt{/orbitdb/CID/DATABASE\_NAME}, όπου \texttt{CID} είναι το IPFS multihash του μανιφέστου της και \texttt{DATABASE\_NAME} το όνομα της βάσης.\cite{4.2-orbitdb-guide}Το μανιφέστο είναι ένα IPFS object που περιέχει πληροφορίες της βάσης όπως το όνομα, τον τύπο και έναν δείκτη στον ελεγκτή πρόσβασης (access controller). \item \textbf{Identity}: Κάθε φορά που προστίθεται μία εγγραφή στη βάση υπογράφεται από τον δημιουργό της, ο οποίος προσδιορίζεται από μία ταυτότητα (identity). Το Identity object, πέρα από τον προεπιλεγμένο τρόπο λειτουργίας, μπορεί να προσαρμοστεί έτσι ώστε να συνδέεται με κάποιο εξωτερικό αναγνωριστικό. Η μορφή του έχει ως εξής\footnote{Βλ. και \url{https://github.com/orbitdb/orbit-db-identity-provider}}: diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.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 similarity index 91% rename from chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.3.libp2p.tex rename to chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.4.ipfs-technologies/4.2.4.3.libp2p.tex index 180099b..4b23253 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.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 @@ -1,6 +1,6 @@ -\subsubsection{Libp2p} \label{subsection:4-3-4-3-libp2p} +\subsubsection{Libp2p} \label{subsection:4-2-4-3-libp2p} -\logo{chapter-4/4.3.libp2p-logo}{Libp2p logo} +\logo{chapter-4/4.2.libp2p-logo}{Libp2p logo} Η libp2p είναι ένα αρθρωτό σύστημα πρωτοκόλλων, προδιαγραφών και βιβλιοθηκών που επιτρέπουν την ανάπτυξη p2p εφαρμογών. Αποτελεί το υποκείμενο επίπεδο δικτύου του IPFS.\ref{2.7-ipfs-docs} diff --git a/chapters/4.application-implementation/4.4.implementation-architecture.tex b/chapters/4.application-implementation/4.3.implementation-architecture.tex similarity index 94% rename from chapters/4.application-implementation/4.4.implementation-architecture.tex rename to chapters/4.application-implementation/4.3.implementation-architecture.tex index a063a19..340c7f3 100644 --- a/chapters/4.application-implementation/4.4.implementation-architecture.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture.tex @@ -1,9 +1,9 @@ -\section{Αρχιτεκτονική υλοποίησης} \label{section:4-4-implementation-architecture} +\section{Αρχιτεκτονική υλοποίησης} \label{section:4-3-implementation-architecture} Το σύστημα υλοποιήθηκε χρησιμοποιώντας το μοντέλο αρχιτεκτονικής των μικροϋπηρεσιών. Το μοντέλο των μικροϋπηρεσιών βασίζεται στην αποδόμηση του συστήματος σε μικρές μονάδες, οι οποίες συνεργάζονται ώστε να προσφέρουν ένα ενιαίο αποτέλεσμα. Η προσέγγιση αυτή έχει πολλά πλεονεκτήματα σε σύγκριση με την ανάπτυξη μονολιθικών εφαρμογών % todo: add reference . Ο βασικός λόγος για τον οποίο επιλέχθηκε η αρχιτεκτονική μικροϋπηρεσιών είναι η ευκολία που προσφέρει στη γρήγορη ανάπτυξη καινούριων χαρακτηριστικών, ταυτόχρονα από διαφορετικά μέλη μίας ομάδας, ασύγχρονα και χωρίς την ανάγκη συνεχής επικοινωνίας και συνεννόησης μεταξύ τους. Αυτό συμβαίνει επειδή κάθε μέρος του συστήματος (υπηρεσία) είναι αυτόνομο και η ανάπτυξή του είναι διαχωρισμένη από το υπόλοιπο σύστημα με το οποίο είναι αδύναμα συνδεδεμένο (loosely coupled). -Το σύστημα συντίθεται από διάφορες μικροϋπηρεσίες, κάποιες από τις οποίες αναπτύχθηκαν στα πλαίσια αυτής της εργασίας ενώ άλλες αποτελούν δωρεάν λογισμικό ανοιχτού κώδικα. Οι μικροϋπηρεσίες αυτές συνοψίζονται στον παρακάτω πίνακα (πίνακας \ref{table:4-4-microservice-summary}). +Το σύστημα συντίθεται από διάφορες μικροϋπηρεσίες, κάποιες από τις οποίες αναπτύχθηκαν στα πλαίσια αυτής της εργασίας ενώ άλλες αποτελούν δωρεάν λογισμικό ανοιχτού κώδικα. Οι μικροϋπηρεσίες αυτές συνοψίζονται στον παρακάτω πίνακα (πίνακας \ref{table:4-3-microservice-summary}). \begin{table}[H] \begin{center} @@ -21,10 +21,10 @@ \end{tabularx} \end{center} \caption{Σύντομη περιγραφή υπηρεσιών συστήματος.} - \label{table:4-4-microservice-summary} + \label{table:4-3-microservice-summary} \end{table} -Στα πλαίσια της εργασίας αναπτύχθηκαν επίσης διάφορα αρθρώματα, κυρίως με τη μορφή βιβλιοθηκών Javascript. Τα αρθρώματα χρησιμοποιούνται από τις υπηρεσίες για την επίτευξη των επιμέρους εργασιών. Η ανάπτυξη του λογισμικού σε ξεχωριστά αρθρώματα επιτρέπει την εύκολη επαναχρησιμοποίηση του κώδικα καθώς και τον διαχωρισμό των αυτόνομων τμημάτων κώδικα. Τα αρθρώματα συνοψίζονται στον παρακάτω πίνακα (πίνακας \ref{table:4-4-software-units-summary}). +Στα πλαίσια της εργασίας αναπτύχθηκαν επίσης διάφορα αρθρώματα, κυρίως με τη μορφή βιβλιοθηκών Javascript. Τα αρθρώματα χρησιμοποιούνται από τις υπηρεσίες για την επίτευξη των επιμέρους εργασιών. Η ανάπτυξη του λογισμικού σε ξεχωριστά αρθρώματα επιτρέπει την εύκολη επαναχρησιμοποίηση του κώδικα καθώς και τον διαχωρισμό των αυτόνομων τμημάτων κώδικα. Τα αρθρώματα συνοψίζονται στον παρακάτω πίνακα (πίνακας \ref{table:4-3-software-units-summary}). \begin{table}[H] \begin{center} @@ -41,22 +41,22 @@ \end{tabularx} \end{center} \caption{Σύντομη περιγραφή αρθρωμάτων συστήματος.} - \label{table:4-4-software-units-summary} + \label{table:4-3-software-units-summary} \end{table} -Τα αρθρώματα και οι υπηρεσίες θα περιγραφούν σε μεγαλύτερη ανάλυση στα επόμενα κεφάλαια. Στο παρακάτω σχήμα (σχήμα \ref{figure:4-4-architecture-overview}) φαίνεται η συνολική αρχιτεκτονική του συστήματος. +Τα αρθρώματα και οι υπηρεσίες θα περιγραφούν σε μεγαλύτερη ανάλυση στα επόμενα κεφάλαια. Στο παρακάτω σχήμα (σχήμα \ref{figure:4-3-architecture-overview}) φαίνεται η συνολική αρχιτεκτονική του συστήματος. \begin{figure}[H] \centering - \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.4.architecture-architecture-overview.png} + \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.architecture-architecture-overview.png} \caption{Διάγραμμα αρχιτεκτονικής συστήματος} - \label{figure:4-4-architecture-overview} + \label{figure:4-3-architecture-overview} \end{figure} % ===== ===== % Common software units % ===== ===== -\subsection{Αρθρώματα} \label{subsection:4-4-software-units} +\subsection{Αρθρώματα} \label{subsection:4-3-software-units} Στο κεφάλαιο αυτό θα περιγραφούν με μεγαλύτερη λεπτομέρεια τα αρθρώματα που αναπτύχθηκαν. @@ -103,12 +103,12 @@ % ===== ===== % concordia-app microservice % ===== ===== -\subsection{Concordia Application} \label{subsection:4-4-concordia-application-service} +\subsection{Concordia Application} \label{subsection:4-3-concordia-application-service} \vspace{0.5cm} \textbf{Περιγραφή - Στόχοι υπηρεσίας} -Η εφαρμογή Concordia (Concordia Application) εκθέτει τις γραφικές διεπαφές μέσω των οποίων αλληλεπιδρούν οι χρήστες με το σύστημα. Αποτελεί τον δίαυλο επικοινωνίας του τελικού χρήστη με το blockchain και με τη βάση OrbitDB. Η αρχιτεκτονική της υπηρεσίας φαίνεται στο σχήμα \ref{figure:4-4-concordia-application-architecture}. Μέσω της εφαρμογής Concordia οι χρήστες μπορούν να: +Η εφαρμογή Concordia (Concordia Application) εκθέτει τις γραφικές διεπαφές μέσω των οποίων αλληλεπιδρούν οι χρήστες με το σύστημα. Αποτελεί τον δίαυλο επικοινωνίας του τελικού χρήστη με το blockchain και με τη βάση OrbitDB. Η αρχιτεκτονική της υπηρεσίας φαίνεται στο σχήμα \ref{figure:4-3-concordia-application-architecture}. Μέσω της εφαρμογής Concordia οι χρήστες μπορούν να: \begin{itemize} \item περιηγηθούν και διαβάσουν το περιεχόμενο της πλατφόρμας @@ -133,9 +133,9 @@ \begin{figure}[H] \centering - \includegraphics[width=.7\textwidth]{assets/figures/chapter-4/4.4.architecture-4.4.2.concordia-application-architecture.png} + \includegraphics[width=.7\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png} \caption{Αρχιτεκτονική υπηρεσίας Concordia Application} - \label{figure:4-4-concordia-application-architecture} + \label{figure:4-3-concordia-application-architecture} \end{figure} Για τη λειτουργία της υπηρεσία Concordia Application είναι απαραίτητα τα αντικείμενα (artifacts) που προκύπτουν από τη μεταγλώττιση των contracts και τη μεταφόρτωση/δημοσίευσή τους στο blockchain. Για την εισαγωγή των artifacts στην υπηρεσία έχουν αναπτυχθεί δύο μέθοδοι. @@ -152,18 +152,18 @@ % ===== ===== % concordia-contracts-migrator microservice % ===== ===== -\subsection{Concordia Contracts Migrator} \label{subsection:4-4-concordia-contracts-migrator} +\subsection{Concordia Contracts Migrator} \label{subsection:4-3-concordia-contracts-migrator} \vspace{0.5cm} \textbf{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία αυτή αποτελείται από ένα εκτελέσιμο πρόγραμμα γραμμής εντολών βασισμένο στο άρθρωμα concordia-contracts που αναλύθηκε σε προηγούμενη υποενότητα (\ref{subsection:4-4-software-units}). Το πρόγραμμα, κατά την εκτέλεσή του, μεταγλωττίζει τα contracts και έπειτα τα μεταφορτώνει στο blockchain το οποίο είναι ορισμένο με χρήση μεταβλητών περιβάλλοντος. Τέλος, αν οι κατάλληλες μεταβλητές περιβάλλοντος είναι ορισμένες, το πρόγραμμα μεταφορτώνει τα τελικά artifacts σε αποθετήριο Concordia Contracts Provider. Η αρχιτεκτονική της υπηρεσίας φαίνεται στο παρακάτω σχήμα (σχήμα \ref{figure:4-4-concordia-contracts-migrator-architecture}). +Η υπηρεσία αυτή αποτελείται από ένα εκτελέσιμο πρόγραμμα γραμμής εντολών βασισμένο στο άρθρωμα concordia-contracts που αναλύθηκε σε προηγούμενη υποενότητα (\ref{subsection:4-3-software-units}). Το πρόγραμμα, κατά την εκτέλεσή του, μεταγλωττίζει τα contracts και έπειτα τα μεταφορτώνει στο blockchain το οποίο είναι ορισμένο με χρήση μεταβλητών περιβάλλοντος. Τέλος, αν οι κατάλληλες μεταβλητές περιβάλλοντος είναι ορισμένες, το πρόγραμμα μεταφορτώνει τα τελικά artifacts σε αποθετήριο Concordia Contracts Provider. Η αρχιτεκτονική της υπηρεσίας φαίνεται στο παρακάτω σχήμα (σχήμα \ref{figure:4-3-concordia-contracts-migrator-architecture}). \begin{figure}[H] \centering - \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.4.architecture-4.4.3.concordia-contracts-migrator-architecture.png} + \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png} \caption{Αρχιτεκτονική υπηρεσίας Concordia Contracts Migrator} - \label{figure:4-4-concordia-contracts-migrator-architecture} + \label{figure:4-3-concordia-contracts-migrator-architecture} \end{figure} \vspace{0.5cm} @@ -174,18 +174,18 @@ % ===== ===== % concordia-pinner microservice % ===== ===== -\subsection{Concordia Pinner} \label{subsection:4-4-concordia-pinner-service} +\subsection{Concordia Pinner} \label{subsection:4-3-concordia-pinner-service} \vspace{0.5cm} \textbf{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία καρφιτσώματος περιεχομένου (Concordia Pinner) αποτελεί μία εφαρμογή τερματικού (temrinal application/cmd application) η οποία στοχεύει στο καρφίτσωμα (pinning) του περιεχομένου που αποθηκεύεται στο IPFS μέσω της βάσης OrbitDB. Η υπηρεσία είναι γραμμένη στη γλώσσα προγραμματισμού Javascript. Η αρχιτεκτονική της υπηρεσίας φαίνεται το σχήμα \ref{figure:4-4-concordia-pinner-architecture}. +Η υπηρεσία καρφιτσώματος περιεχομένου (Concordia Pinner) αποτελεί μία εφαρμογή τερματικού (temrinal application/cmd application) η οποία στοχεύει στο καρφίτσωμα (pinning) του περιεχομένου που αποθηκεύεται στο IPFS μέσω της βάσης OrbitDB. Η υπηρεσία είναι γραμμένη στη γλώσσα προγραμματισμού Javascript. Η αρχιτεκτονική της υπηρεσίας φαίνεται το σχήμα \ref{figure:4-3-concordia-pinner-architecture}. \begin{figure}[H] \centering - \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.4.architecture-4.4.4.concordia-pinner-architecture.png} + \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png} \caption{Αρχιτεκτονική υπηρεσίας Concordia Pinner} - \label{figure:4-4-concordia-pinner-architecture} + \label{figure:4-3-concordia-pinner-architecture} \end{figure} Η υπηρεσία αυτή υλοποιήθηκε για να εγγυηθεί η διαθεσιμότητα του περιεχομένου του συστήματος που αποθηκεύεται στο IPFS (τίτλοι θεμάτων, περιεχόμενο μηνυμάτων και άλλα). Λόγω του τρόπου λειτουργίας % todo: insert reference @@ -202,21 +202,21 @@ % ===== ===== % concordia-contracts-provider microservice % ===== ===== -\subsection{Concordia Contracts Provider} \label{subsection:4-4-concordia-contracts-provider-service} +\subsection{Concordia Contracts Provider} \label{subsection:4-3-concordia-contracts-provider-service} \vspace{0.5cm} \textbf{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία Contracts Provider αποτελεί μία βοηθητική υπηρεσία η οποία υλοποιεί ένα απλό αποθετήριο για τα contract artifacts. Είναι γραμμένη σε Javascript και διαθέτει δύο HTTP \textenglish{endpoints}, ένα για τη μεταφόρτωση (upload) των artifacts προς την υπηρεσία και ένα για τη λήψη (download) από την υπηρεσία. Η υπηρεσία υποστηρίζει επίσης την επισύναψη ετικετών στα artifacts, όπως η έκδοση (version) ή το κλαδί ανάπτυξης (branch, για παράδειγμα \textenglish{master/develop}). Η αρχιτεκτονική της υπηρεσίας φαίνεται το σχήμα \ref{figure:4-4-concordia-contracts-provider-architecture}. +Η υπηρεσία 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}. \begin{figure}[H] \centering - \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.4.architecture-4.4.5.concordia-contracts-provider-architecture.png} + \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png} \caption{Αρχιτεκτονική υπηρεσίας Concordia Contracts Provider} - \label{figure:4-4-concordia-contracts-provider-architecture} + \label{figure:4-3-concordia-contracts-provider-architecture} \end{figure} -Η υπηρεσία χρησιμοποιείται σε μία προσπάθεια αποσύνδεσης της βασικής εφαρμογής που υλοποιεί η υπηρεσία Concordia Application από μία συγκεκριμένη έκδοση των contracts. Οι λόγοι που αυτό είναι επιθυμητό αναπτύχθηκαν στην περιγραφή της υπηρεσίας Concordia \textenglish{Application} (υποενότητα \ref{subsection:4-4-concordia-application-service}). Ωστόσο, η υπηρεσία Contracts Provider αποτελεί σημείο κεντροποίησης του συστήματος, για το λόγο αυτό θεωρείται προσωρινή λύση η οποία θα μπορούσε να αντικατασταθεί από αποκεντρωτικές λύσεις όπως η μεταφόρτωση των artifacts στο IPFS και ο διαμοιρασμός τους από εκεί. +Η υπηρεσία χρησιμοποιείται σε μία προσπάθεια αποσύνδεσης της βασικής εφαρμογής που υλοποιεί η υπηρεσία Concordia Application από μία συγκεκριμένη έκδοση των contracts. Οι λόγοι που αυτό είναι επιθυμητό αναπτύχθηκαν στην περιγραφή της υπηρεσίας Concordia \textenglish{Application} (υποενότητα \ref{subsection:4-3-concordia-application-service}). Ωστόσο, η υπηρεσία Contracts Provider αποτελεί σημείο κεντροποίησης του συστήματος, για το λόγο αυτό θεωρείται προσωρινή λύση η οποία θα μπορούσε να αντικατασταθεί από αποκεντρωτικές λύσεις όπως η μεταφόρτωση των artifacts στο IPFS και ο διαμοιρασμός τους από εκεί. \vspace{0.5cm} \textbf{Διανομή} @@ -226,7 +226,7 @@ % ===== ===== % rendezvous-ganache microservice % ===== ===== -\subsection{Ganache} \label{subsection:4-4-ganache-service} +\subsection{Ganache} \label{subsection:4-3-ganache-service} \vspace{0.5cm} \textbf{Περιγραφή - Στόχοι υπηρεσίας} @@ -241,7 +241,7 @@ % ===== ===== % rendezvous-server microservice % ===== ===== -\subsection{Rendezvous Server} \label{subsection:4-4-rendezvous-server-service} +\subsection{Rendezvous Server} \label{subsection:4-3-rendezvous-server-service} \vspace{0.5cm} \textbf{Περιγραφή - Στόχοι υπηρεσίας} @@ -256,17 +256,17 @@ % ===== ===== % microservice communication % ===== ===== -\subsection{Διασύνδεση υπηρεσιών} \label{subsection:4-4-service-communication} +\subsection{Διασύνδεση υπηρεσιών} \label{subsection:4-3-service-communication} Στο μοντέλο των μικροϋπηρεσιών, βασικό χαρακτηριστικό είναι η επικοινωνία των ξεχωριστών υπηρεσιών και η ανταλλαγή μηνυμάτων για την επίτευξη των λειτουργικοτήτων του συστήματος. Σε αυτήν την υποενότητα θα αναλυθεί ο τρόπος με τον οποίο οι μικροϋπηρεσίες επικοινωνούν μεταξύ τους καθώς και η φύση και το περιεχόμενο των μηνυμάτων που ανταλλάσουν. -Στο παρακάτω σχήμα (σχήμα \ref{figure:4-4-communications-graph}) φαίνεται ο γράφος που οπτικοποιεί τα κανάλια επικοινωνίας μεταξύ των μικροϋπηρεσιών, καθώς και τα κανάλια επικοινωνίας των μικροϋπηρεσιών με το blockchain. +Στο παρακάτω σχήμα (σχήμα \ref{figure:4-3-communications-graph}) φαίνεται ο γράφος που οπτικοποιεί τα κανάλια επικοινωνίας μεταξύ των μικροϋπηρεσιών, καθώς και τα κανάλια επικοινωνίας των μικροϋπηρεσιών με το blockchain. \begin{figure}[H] \centering - \includegraphics[width=.9\textwidth]{assets/figures/chapter-4/4.4.communications-diagram.png} + \includegraphics[width=.9\textwidth]{assets/figures/chapter-4/4.3.communications-diagram.png} \caption{Γράφος οπτικοποίησης των καναλιών επικοινωνίας των μικροϋπηρεσιών} - \label{figure:4-4-communications-graph} + \label{figure:4-3-communications-graph} \end{figure} Εδώ αναλύεται η επικοινωνία κάθε μικροϋπηρεσίας: @@ -286,7 +286,7 @@ % ===== ===== % data flow % ===== ===== -\subsection{Ροή πληροφορίας} \label{subsection:4-4-data-flow} +\subsection{Ροή πληροφορίας} \label{subsection:4-3-data-flow} Στην παρούσα υποενότητα θα αναλυθεί η ροή της πληροφορίας στο σύστημα. Λόγω των πολλαπλών υπηρεσιών, της κατάτμησης την πληροφορίας και των διαφορετικών σημείων αποθήκευσης της, η ροή της πληροφορίας στο σύστημα ακολουθεί ένα σχετικά περίπλοκο μονοπάτι (σε σχέση με κλασσικές, μονολιθικές, κεντροποιημένες εφαρμογές). @@ -296,21 +296,21 @@ Τέλος, παρακάτω δίνεται ένα παράδειγμα εισαγωγής πληροφορίας στο σύστημα και έπειτα ανάκτησης της ίδιας πληροφορίας. -Έστω, χρήστης που δημιουργεί νέο θέμα. Τα δεδομένα που παράγονται είναι ο τίτλος του θέματος και το περιεχόμενο του πρώτου μηνύματος. Μεταδεδομένα της δημιουργίας είναι η διεύθυνση του/της δημιουργού του θέματος. Για την αποθήκευση του θέματος στο σύστημα δημιουργείται πρώτα συναλλαγή στο blockchain ώστε να δημιουργηθεί μία νέα εγγραφή στον πίνακα των θεμάτων. Η εγγραφή αυτή δεν περιέχει τίποτα παρά μόνο τη διεύθυνση του/της δημιουργού χρήστη. Αν η συναλλαγή είναι επιτυχής, θα επιστραφεί ο αύξων αριθμός του νέου θέματος. Έπειτα, στην προσωπική βάση OrbitDB του/της χρήστη και στον πίνακα των θεμάτων θα προστεθεί εγγραφή με αναγνωριστικό τον αύξων αριθμό του θέματος όπου θα αποθηκευτούν τα δεδομένα του τίτλου και πρώτου μηνύματος. Στο σχήμα \ref{figure:4-4-data-flow-insert} παρουσιάζεται γραφικά η διαδικασία. +Έστω, χρήστης που δημιουργεί νέο θέμα. Τα δεδομένα που παράγονται είναι ο τίτλος του θέματος και το περιεχόμενο του πρώτου μηνύματος. Μεταδεδομένα της δημιουργίας είναι η διεύθυνση του/της δημιουργού του θέματος. Για την αποθήκευση του θέματος στο σύστημα δημιουργείται πρώτα συναλλαγή στο blockchain ώστε να δημιουργηθεί μία νέα εγγραφή στον πίνακα των θεμάτων. Η εγγραφή αυτή δεν περιέχει τίποτα παρά μόνο τη διεύθυνση του/της δημιουργού χρήστη. Αν η συναλλαγή είναι επιτυχής, θα επιστραφεί ο αύξων αριθμός του νέου θέματος. Έπειτα, στην προσωπική βάση OrbitDB του/της χρήστη και στον πίνακα των θεμάτων θα προστεθεί εγγραφή με αναγνωριστικό τον αύξων αριθμό του θέματος όπου θα αποθηκευτούν τα δεδομένα του τίτλου και πρώτου μηνύματος. Στο σχήμα \ref{figure:4-3-data-flow-insert} παρουσιάζεται γραφικά η διαδικασία. % todo: UML diagrams might be wrong, should the ethereum and orbitDb blocks be continuous? \begin{figure}[H] \centering - \includegraphics[width=.7\textwidth]{assets/figures/chapter-4/4.4.architecture-4.4.9.data-flow-insert.png} + \includegraphics[width=.7\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.9.data-flow-insert.png} \caption{Διάγραμμα ακολουθίας δημιουργίας θέματος} - \label{figure:4-4-data-flow-insert} + \label{figure:4-3-data-flow-insert} \end{figure} -Έστω, χρήστης που επιθυμεί να διαβάσει το προηγούμενο μήνυμα. Αρχικά, πρέπει να διαβαστεί ο πίνακας θεμάτων από το blockchain. Η πληροφορία αυτή εμπλουτίζεται από τα δεδομένα του κάθε θέματος, τα οποία ανακτώνται από τις προσωπικές βάσεις Orbit κάθε χρήστη. Έπειτα, εφόσον το θέμα βρεθεί και ο αύξων αριθμός του είναι γνωστός, πρέπει να διαβαστούν από το blockchain τα μεταδομένα των μηνυμάτων του θέματος και συγκεκριμένα η διευθύνσεις των δημιουργών τους. Τέλος, μέσω του IPFS πρέπει να γίνει αντιγραφή των προσωπικών βάσεων των δημιουργών του κάθε μηνύματος και να αναζητηθούν σε αυτές τα εκάστοτε μηνύματα. Στο σχήμα \ref{figure:4-4-data-flow-read} φαίνεται το διάγραμμα ροής της πληροφορίας κατά την ανάκτηση πληροφοριών από το σύστημα. +Έστω, χρήστης που επιθυμεί να διαβάσει το προηγούμενο μήνυμα. Αρχικά, πρέπει να διαβαστεί ο πίνακας θεμάτων από το blockchain. Η πληροφορία αυτή εμπλουτίζεται από τα δεδομένα του κάθε θέματος, τα οποία ανακτώνται από τις προσωπικές βάσεις Orbit κάθε χρήστη. Έπειτα, εφόσον το θέμα βρεθεί και ο αύξων αριθμός του είναι γνωστός, πρέπει να διαβαστούν από το blockchain τα μεταδομένα των μηνυμάτων του θέματος και συγκεκριμένα η διευθύνσεις των δημιουργών τους. Τέλος, μέσω του IPFS πρέπει να γίνει αντιγραφή των προσωπικών βάσεων των δημιουργών του κάθε μηνύματος και να αναζητηθούν σε αυτές τα εκάστοτε μηνύματα. Στο σχήμα \ref{figure:4-3-data-flow-read} φαίνεται το διάγραμμα ροής της πληροφορίας κατά την ανάκτηση πληροφοριών από το σύστημα. \begin{figure}[H] \centering - \includegraphics[width=.7\textwidth]{assets/figures/chapter-4/4.4.architecture-4.4.9.data-flow-read.png} + \includegraphics[width=.7\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.9.data-flow-read.png} \caption{Διάγραμμα ακολουθίας εύρεσης και ανάκτησης θέματος} - \label{figure:4-4-data-flow-read} + \label{figure:4-3-data-flow-read} \end{figure} diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies.tex b/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies.tex deleted file mode 100644 index 1bf7887..0000000 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies.tex +++ /dev/null @@ -1,9 +0,0 @@ -\subsection{Τεχνολογίες σχετικές με το development} - -Σε αυτήν την υποενότητα περιγράφονται ορισμένα θεμελιώδη εργαλεία και frameworks που συνετέλεσαν στην ανάπτυξη της εφαρμογής. - -%TODO: Add janus and build steps diagram - -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.1.node.js} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.2.docker} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.1.development-technologies/4.3.1.3.jenkins} diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies.tex b/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies.tex deleted file mode 100644 index e4a6f8d..0000000 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies.tex +++ /dev/null @@ -1,9 +0,0 @@ -\subsection{Τεχνολογίες σχετικές με το UI} - -Στην παρούσα υποενότητα περιγράφονται όσες τεχνολογίες σχετίζονται με τη διεπαφή του χρήστη (UI), δηλαδή με το Presentation tier. - -% TODO: add technologies like redux, sagas - -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.1.react} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.2.redux} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga} \ No newline at end of file diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies.tex b/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies.tex deleted file mode 100644 index 6e2d36c..0000000 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies.tex +++ /dev/null @@ -1,7 +0,0 @@ -\subsection{Τεχνολογίες σχετικές με το IPFS} - -Σε αυτήν την υποενότητα περιγράφονται όσες τεχνολογίες σχετίζονται με το IPFS (βλ. ενότητα \ref{section:2-7-ipfs}), δηλαδή με το Data tier της τεχνολογικής στοίβας της εφαρμογής. - -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.1.js-ipfs} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.2.orbit-db} -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.4.ipfs-technologies/4.3.4.3.libp2p} diff --git a/chapters/4.application-implementation/4.5.problems-faced.tex b/chapters/4.application-implementation/4.4.problems-faced.tex similarity index 100% rename from chapters/4.application-implementation/4.5.problems-faced.tex rename to chapters/4.application-implementation/4.4.problems-faced.tex diff --git a/chapters/4.application-implementation/4.1.implemented-parts.tex b/chapters/4.application-implementation/4.5.implemented-parts.tex similarity index 56% rename from chapters/4.application-implementation/4.1.implemented-parts.tex rename to chapters/4.application-implementation/4.5.implemented-parts.tex index 28bb858..b45c043 100644 --- a/chapters/4.application-implementation/4.1.implemented-parts.tex +++ b/chapters/4.application-implementation/4.5.implemented-parts.tex @@ -1,6 +1,9 @@ -\section{Χαρακτηριστικά που υλοποιήθηκαν} +\section{Χαρακτηριστικά που υλοποιήθηκαν} \label{section:4-6-implemented-parts} -TODO: move to last, add diagram with colors TODO: add references to use cases implemented with screenshots of application TODO: add unimplemented parts like serve (front and contracts) thru IPFS, upgradability + +\subsection{Διαφορές σχεδιασμού-υλοποίησης} \label{subsection:4-6-1-design-implementation-differences} + +TODO: add diagram with colors TODO: add differences in architecture diff --git a/chapters/4.application-implementation/4.6.design-implementation-differences.tex b/chapters/4.application-implementation/4.6.design-implementation-differences.tex deleted file mode 100644 index d8c480a..0000000 --- a/chapters/4.application-implementation/4.6.design-implementation-differences.tex +++ /dev/null @@ -1 +0,0 @@ -\section{Διαφορές σχεδιασμού-υλοποίησης} \label{section:4-5-design-implementation-differen} diff --git a/thesis.pdf b/thesis.pdf index 7ced7ef569aa7679ecaddd600af99a3317d101b7..e3d143a496dc2c8cf501bdc84e6cae45ef711300 100644 GIT binary patch delta 115180 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%0Dv%l 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≀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 delta 115420 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