diff --git a/assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png b/assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png index 8447c19..d0dfe5f 100644 Binary files a/assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png and b/assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png differ diff --git a/assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png b/assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png index 8ade85e..ecd5ac4 100644 Binary files a/assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png and b/assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png differ diff --git a/assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png b/assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png index fbd2cab..091c5e4 100644 Binary files a/assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png and b/assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png differ diff --git a/assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png b/assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png index d5e273e..74ece55 100644 Binary files a/assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png and b/assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png differ diff --git a/assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png b/assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png index 71c491d..e7d93a2 100644 Binary files a/assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png and b/assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png differ diff --git a/assets/figures/chapter-4/4.3.architecture-architecture-overview.png b/assets/figures/chapter-4/4.3.architecture-architecture-overview.png index 8c193f5..aa24a5e 100644 Binary files a/assets/figures/chapter-4/4.3.architecture-architecture-overview.png and b/assets/figures/chapter-4/4.3.architecture-architecture-overview.png differ diff --git a/assets/figures/chapter-4/4.3.communications-diagram.png b/assets/figures/chapter-4/4.3.communications-diagram.png index 85c72b9..eb60580 100644 Binary files a/assets/figures/chapter-4/4.3.communications-diagram.png and b/assets/figures/chapter-4/4.3.communications-diagram.png differ diff --git a/assets/figures/chapter-4/4.6.design-implementation-differences-sprints.png b/assets/figures/chapter-4/4.6.design-implementation-differences-sprints.png index 46131c1..5726a3a 100644 Binary files a/assets/figures/chapter-4/4.6.design-implementation-differences-sprints.png and b/assets/figures/chapter-4/4.6.design-implementation-differences-sprints.png differ 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 742276d..2a42124 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 @@ -25,11 +25,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-3-redux-saga]{Redux-Saga} για τη διαχείριση ασύγχρονων παράπλευρων ενεργειών (side-effects) σε ένα σύστημα βασισμένο σε συμβάντα (event-based). Άλλες βιβλιοθήκες χρησιμοποιούνται για διάφορα μέρη της υπηρεσίας, ενώ χρησιμοποιούνται επίσης τα αρθρώματα που περιγράφηκαν προηγουμένως για την επίτευξη διαφορετικών στόχων. Ο πλήρης κατάλογος των βιβλιοθηκών και αρθρωμάτων μπορεί να βρεθεί στον κώδικα της υπηρεσίας στο παράρτημα. %TODO: Add reference to the appendix containing the code or a link to it in the repo \begin{figure}[H] \centering - \includegraphics[width=.7\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png} + \includegraphics[width=.9\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png} \caption{Αρχιτεκτονική υπηρεσίας Concordia Application} \label{figure:4-3-concordia-application-architecture} \end{figure} 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 0025d84..818aa7d 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,11 +2,13 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία αυτή αποτελείται από ένα εκτελέσιμο πρόγραμμα γραμμής εντολών βασισμένο στο άρθρωμα concordia-contracts που αναλύθηκε σε προηγούμενη υποενότητα (\ref{subsection:4-3-1-software-units}). Το πρόγραμμα, κατά την εκτέλεσή του, μεταγλωττίζει τα contracts και έπειτα τα μεταφορτώνει στο blockchain το οποίο είναι ορισμένο με χρήση μεταβλητών περιβάλλοντος. Τέλος, αν οι κατάλληλες μεταβλητές περιβάλλοντος είναι ορισμένες, το πρόγραμμα μεταφορτώνει τα τελικά artifacts σε αποθετήριο Concordia Contracts Provider. Η αρχιτεκτονική της υπηρεσίας φαίνεται στο παρακάτω σχήμα (σχήμα \ref{figure:4-3-concordia-contracts-migrator-architecture}). +Η υπηρεσία αυτή αποτελείται από ένα εκτελέσιμο πρόγραμμα γραμμής εντολών βασισμένο στο άρθρωμα concordia-contracts που αναλύθηκε σε προηγούμενη υποενότητα (\ref{subsection:4-3-1-software-units}). Το πρόγραμμα, κατά την εκτέλεσή του, μεταγλωττίζει τα contracts και έπειτα τα μεταφορτώνει στο blockchain το οποίο είναι ορισμένο με χρήση μεταβλητών περιβάλλοντος. Τέλος, αν οι κατάλληλες μεταβλητές περιβάλλοντος είναι ορισμένες, το πρόγραμμα μεταφορτώνει τα τελικά artifacts σε αποθετήριο Concordia Contracts Provider. +Η αρχιτεκτονική της υπηρεσίας φαίνεται στο παρακάτω σχήμα: +\vspace{.5\baselineskip} \begin{figure}[H] \centering - \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png} + \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png} \caption{Αρχιτεκτονική υπηρεσίας Concordia Contracts Migrator} \label{figure:4-3-concordia-contracts-migrator-architecture} \end{figure} 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 3659324..97905ca 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,11 +2,13 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία καρφιτσώματος περιεχομένου (Concordia Pinner) αποτελεί μία εφαρμογή τερματικού (temrinal application/cmd application) η οποία στοχεύει στο καρφίτσωμα (pinning) του περιεχομένου που αποθηκεύεται στο IPFS μέσω της βάσης OrbitDB. Η υπηρεσία είναι γραμμένη στη γλώσσα προγραμματισμού JavaScript. Η αρχιτεκτονική της υπηρεσίας φαίνεται το σχήμα \ref{figure:4-3-concordia-pinner-architecture}. +Η υπηρεσία καρφιτσώματος περιεχομένου (Concordia Pinner) αποτελεί μία εφαρμογή τερματικού (temrinal application/cmd application) η οποία στοχεύει στο καρφίτσωμα (pinning) του περιεχομένου που αποθηκεύεται στο IPFS μέσω της βάσης OrbitDB. Η υπηρεσία είναι γραμμένη στη γλώσσα προγραμματισμού JavaScript. +Η αρχιτεκτονική της υπηρεσίας φαίνεται το σχήμα: +\vspace{.5\baselineskip} \begin{figure}[H] \centering - \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png} + \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png} \caption{Αρχιτεκτονική υπηρεσίας Concordia Pinner} \label{figure:4-3-concordia-pinner-architecture} \end{figure} 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 1a559c8..167fd21 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,11 +2,13 @@ \subsubsection{Περιγραφή - Στόχοι υπηρεσίας} -Η υπηρεσία 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}. +Η υπηρεσία Contracts Provider αποτελεί μία βοηθητική υπηρεσία η οποία υλοποιεί ένα απλό αποθετήριο για τα contract artifacts. Είναι γραμμένη σε JavaScript και διαθέτει δύο HTTP \textenglish{endpoints}, ένα για τη μεταφόρτωση (upload) των artifacts προς την υπηρεσία και ένα για τη λήψη (download) από την υπηρεσία. Η υπηρεσία υποστηρίζει επίσης την επισύναψη ετικετών στα artifacts, όπως η έκδοση (version) ή το κλαδί ανάπτυξης (branch, για παράδειγμα \textenglish{master/develop}). +Η αρχιτεκτονική της υπηρεσίας φαίνεται το σχήμα: +\vspace{.5\baselineskip} \begin{figure}[H] \centering - \includegraphics[width=.6\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture} + \includegraphics[width=.75\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture} \caption{Αρχιτεκτονική υπηρεσίας Concordia Contracts Provider} \label{figure:4-3-concordia-contracts-provider-architecture} \end{figure} diff --git a/thesis.pdf b/thesis.pdf index 2024530..5f7195f 100644 Binary files a/thesis.pdf and b/thesis.pdf differ