Εμφάνιση απλής εγγραφής

Ανάπτυξη εφαρμογής που ενσωματώνει τεχνολογία blockchain με χρήση reactive microservices

dc.contributor.advisorΑλέπης, Ευθύμιος
dc.contributor.authorΠαπανικολάου, Ηλίας
dc.date.accessioned2022-07-14T06:55:19Z
dc.date.available2022-07-14T06:55:19Z
dc.date.issued2022-07
dc.identifier.urihttps://dione.lib.unipi.gr/xmlui/handle/unipi/14457
dc.identifier.urihttp://dx.doi.org/10.26267/unipi_dione/1880
dc.description.abstractΗ παρούσα μεταπτυχιακή διατριβή αναπτύχθηκε στο πλαίσιο του Προγράμματος Μεταπτυχιακών Σπουδών “Προηγμένα Συστήματα Πληροφορικής - Ανάπτυξη Λογισμικού και Τεχνητής Νοημοσύνης” του Πανεπιστημίου Πειραιώς και έχει ως στόχο την υλοποίηση web εφαρμογής, που ενσωματώνει τεχνολογία Blockchain, σε αρχιτεκτονική μικροϋπηρεσιών με χρήση reactive programming. Η τεχνική του reactive programming αφορά στη non-blocking επικοινωνία μεταξύ των στοιχείων που αποτελούν την εφαρμογή, με αποτέλεσμα την κατά πολύ καλύτερη αξιοποίηση των πόρων υλικού των συστημάτων που φιλοξενούν τις μικροϋπηρεσίες. Το Java framework που χρησιμοποιήθηκε για την δημιουργία των μικροϋπηρεσιών είναι το Spring Boot 2.0, καθώς διαθέτει ενσωματωμένη υποστήριξη στην ανάπτυξη εφαρμογών με reactive programming, εισάγοντας ένα νέο web framework, το Spring WebFlux. Η εφαρμογή αφορά στη διασφάλιση της γνησιότητας εγγράφων ενός εκπαιδευτικού ιδρύματος, αξιοποιώντας την τεχνολογία blockchain. Ο σχεδιασμός και η υλοποίηση της εφαρμογής έχει βασιστεί σε βέλτιστες πρακτικές και μοτίβα σχεδίασης μικροϋπηρεσιών, όπως η χρήση ασύγχρονων μηνυμάτων μέσω του RabbitMQ message broker, εξισορρόπηση φόρτου, service discovery, api gateway, distributed tracing και token relay. Ένα από τα ζητήματα που έχει δοθεί ιδιαίτερη έμφαση, καθώς αποτελεί πρόκληση στις μικροϋπηρεσίες, είναι η ασφάλεια και η εξουσιοδότηση χρηστών που αφορά στη πρόσβαση, τόσο στους διακομιστές πόρων μέσω των διεπαφών (APIs), όσο και στις τοποθεσίες της frontend εφαρμογής, με χρήση των προτύπων OAuth2.0 και OpenID Connect. Για την ανάπτυξη (deployment) της εφαρμογής, χρησιμοποιήθηκε η τεχνολογία Docker. Οι μικροϋπηρεσίες τοποθετούνται σε docker images και στη συνέχεια μεταφορτώνονται στο αποθετήριο DockerHub. Με τη δημιουργία κατάλληλου αρχείου docker-compose.yml, η εφαρμογή αναπτύσσεται μέσα σε λίγα λεπτά.el
dc.format.extent80el
dc.language.isoelel
dc.publisherΠανεπιστήμιο Πειραιώςel
dc.rightsΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/gr/*
dc.titleΑνάπτυξη εφαρμογής που ενσωματώνει τεχνολογία blockchain με χρήση reactive microservicesel
dc.title.alternativeApplication development incorporating blockchain technology using reactive microservicesel
dc.typeMaster Thesisel
dc.contributor.departmentΣχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Πληροφορικήςel
dc.description.abstractENThis master’s thesis was developed in the scope of the MSc Program "Advanced Informatics and Computing Systems - Software Development and Artificial Intelligence" of the University of Piraeus and aims to implement a web application development, incorporating Blockchain technology, in microservices architecture using reactive programming. The reactive programming technique refers to the non-blocking communication between the components of the application, resulting in a much better utilization of the hardware resources of the systems hosting the microservices. The Java framework used to create the microservices is Spring Boot 2.0, as it has built-in support for developing applications with reactive programming, introducing a new web framework, the Spring WebFlux. The application is about ensuring the authenticity of documents of an educational institution, leveraging blockchain technology. The design and implementation of the application is based on best practices and microservices design patterns, such as the use of asynchronous messaging via the RabbitMQ message broker, load balancing, service discovery, api gateway, distributed tracing, and token relay. One of the topics that has been given special emphasis, as it consists of a challenge in microservices, is security and user authorization regarding access, both to the resource servers through the interfaces (APIs), and to the frontend application sites, using the OAuth2.0 and OpenID Connect standards. For the development of the application, Docker technology was used. Microservices are put into docker images and then uploaded to the DockerHub repository. By creating a suitable docker-compose.yml file, the application is deployed in minutes.el
dc.contributor.masterΠροηγμένα Συστήματα Πληροφορικής - Ανάπτυξη Λογισμικού και Τεχνητής Νοημοσύνηςel
dc.subject.keywordMicroservicesel
dc.subject.keywordBlockchainel
dc.subject.keywordReactive programmingel
dc.subject.keywordJavael
dc.subject.keywordSpring bootel
dc.subject.keywordWebfluxel
dc.subject.keywordProject reactorel
dc.date.defense2022-07-06


Αρχεία σε αυτό το τεκμήριο

Thumbnail

Αυτό το τεκμήριο εμφανίζεται στις ακόλουθες συλλογές

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα
Εκτός από όπου διευκρινίζεται διαφορετικά, το τεκμήριο διανέμεται με την ακόλουθη άδεια:
Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα

Βιβλιοθήκη Πανεπιστημίου Πειραιώς
Επικοινωνήστε μαζί μας
Στείλτε μας τα σχόλιά σας
Created by ELiDOC
Η δημιουργία κι ο εμπλουτισμός του Ιδρυματικού Αποθετηρίου "Διώνη", έγιναν στο πλαίσιο του Έργου «Υπηρεσία Ιδρυματικού Αποθετηρίου και Ψηφιακής Βιβλιοθήκης» της πράξης «Ψηφιακές υπηρεσίες ανοιχτής πρόσβασης της βιβλιοθήκης του Πανεπιστημίου Πειραιώς»