Browse Source

feat: add ch.4 improved diagrams

develop
Ezerous 3 years ago
parent
commit
7070d5a6ec
  1. BIN
      assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png
  2. BIN
      assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png
  3. BIN
      assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png
  4. BIN
      assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png
  5. BIN
      assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png
  6. BIN
      assets/figures/chapter-4/4.3.architecture-architecture-overview.png
  7. BIN
      assets/figures/chapter-4/4.3.communications-diagram.png
  8. BIN
      assets/figures/chapter-4/4.6.design-implementation-differences-sprints.png
  9. 4
      chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex
  10. 6
      chapters/4.application-implementation/4.3.implementation-architecture/4.3.3.concordia-contracts-migrator.tex
  11. 6
      chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex
  12. 6
      chapters/4.application-implementation/4.3.implementation-architecture/4.3.5.concordia-contracts-provider-service.tex
  13. BIN
      thesis.pdf

BIN
assets/figures/chapter-4/4.1.implementation-methodology-jenkins-pipeline.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 702 KiB

After

Width:  |  Height:  |  Size: 3.4 MiB

BIN
assets/figures/chapter-4/4.3.architecture-4.3.2.concordia-application-architecture.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
assets/figures/chapter-4/4.3.architecture-4.3.3.concordia-contracts-migrator-architecture.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 670 KiB

BIN
assets/figures/chapter-4/4.3.architecture-4.3.4.concordia-pinner-architecture.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
assets/figures/chapter-4/4.3.architecture-4.3.5.concordia-contracts-provider-architecture.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 755 KiB

BIN
assets/figures/chapter-4/4.3.architecture-architecture-overview.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 3.9 MiB

BIN
assets/figures/chapter-4/4.3.communications-diagram.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 164 KiB

BIN
assets/figures/chapter-4/4.6.design-implementation-differences-sprints.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 3.6 MiB

4
chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex

@ -25,11 +25,11 @@
Η υπηρεσία αποτελείται από κώδικα γραμμένο σε JavaScript, ο οποίος γίνεται διαθέσιμος στους τελικούς χρήστες με τη μορφή εφαρμογής διαδικτύου (web application) μέσω ενός διακομιστή (server). Παρόλο που η υπηρεσία προσφέρει τη γραφική διεπαφή χρήστη μόνο στην αγγλική γλώσσα, έχει παραμετροποιηθεί ώστε να είναι δυνατή η εύκολη μεταγλώττιση της χωρίς την ανάγκη πραγματοποίησης μεγάλων αλλαγών στον κώδικα. Η υπηρεσία αποτελείται από κώδικα γραμμένο σε 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-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] \begin{figure}[H]
\centering \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} \caption{Αρχιτεκτονική υπηρεσίας Concordia Application}
\label{figure:4-3-concordia-application-architecture} \label{figure:4-3-concordia-application-architecture}
\end{figure} \end{figure}

6
chapters/4.application-implementation/4.3.implementation-architecture/4.3.3.concordia-contracts-migrator.tex

@ -2,11 +2,13 @@
\subsubsection{Περιγραφή - Στόχοι υπηρεσίας} \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] \begin{figure}[H]
\centering \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} \caption{Αρχιτεκτονική υπηρεσίας Concordia Contracts Migrator}
\label{figure:4-3-concordia-contracts-migrator-architecture} \label{figure:4-3-concordia-contracts-migrator-architecture}
\end{figure} \end{figure}

6
chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex

@ -2,11 +2,13 @@
\subsubsection{Περιγραφή - Στόχοι υπηρεσίας} \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] \begin{figure}[H]
\centering \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} \caption{Αρχιτεκτονική υπηρεσίας Concordia Pinner}
\label{figure:4-3-concordia-pinner-architecture} \label{figure:4-3-concordia-pinner-architecture}
\end{figure} \end{figure}

6
chapters/4.application-implementation/4.3.implementation-architecture/4.3.5.concordia-contracts-provider-service.tex

@ -2,11 +2,13 @@
\subsubsection{Περιγραφή - Στόχοι υπηρεσίας} \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] \begin{figure}[H]
\centering \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} \caption{Αρχιτεκτονική υπηρεσίας Concordia Contracts Provider}
\label{figure:4-3-concordia-contracts-provider-architecture} \label{figure:4-3-concordia-contracts-provider-architecture}
\end{figure} \end{figure}

BIN
thesis.pdf

Binary file not shown.
Loading…
Cancel
Save