SlideShare a Scribd company logo
1 of 21
MICROFRONTENDS AND
MICROSERVICES IN WEB
DEVELOPMENT
Τσαγκίδη Ηρώ (ΑΕΜ 495) - ΔΔΠΜΣ Προηγμένα
Συστήματα Υπολογιστών και Επικοινωνιών, ΑΠΘ
Τα κενά του μονολιθικού κώδικα
● Αργός ρυθμός ανάπτυξης - Το σύνολο των διαδικασιών που τελούνται με το
trigger κάποιου service και αφορούν το συνεχές testing και deployment από το
trigger μέχρι την επιστροφή του αποτελέσματος.
● Δυσνόητη δομή κώδικα - Ενα μονολιθικό σύστημα που περιέχει services,
αναπόφευκτα θα αποκτήσει ένα αρκετά δυσνόητο repository.
● Legacy τεχνολογίες - Ξεπερασμένες τεχνολογίες ή συστήματα που αφορούν
διατμηματικές διαδικασίες.
Μοτίβα μοντέρνας αρχιτεκτονικής ιστού
SINGLE PAGE APPLICATIONS (SPA) - Τρόπος
υλοποίησης εφαρμογών που περιέχονται σε μία μόνο
ιστοσελίδα (single web document) και ενημέρωσης του
κύριου περιεχομένου της ιστοσελίδας με τη χρήση
API.
Μοτίβα μοντέρνας αρχιτεκτονικής ιστού
NATIVE MOBILE APPLICATIONS - Εφαρμογές για
συστήματα Android και iOS. Σε αρκετές περιπτώσεις
η πρόσβαση στο internet δεν είναι απαραίτητη για τη
λειτουργία της εφαρμογής. Απαραίτητη η δημιουργία
αντιγράφων για πολλαπλές πλατφόρμες.
Μοτίβα μοντέρνας αρχιτεκτονικής ιστού
CLOUD NATIVE APPLICATIONS - Οι εφαρμογές
στο cloud είναι ανεξάρτητες υπηρεσίες
συσκευασμένες ως αυτόνομα, ελαφριά containers
που είναι φορητά και μπορούν να επεκταθούν
ανάλογα με τις ανάγκες τους.
Μοτίβα αρχιτεκτονικής Microservices
Τα μοτίβα σχεδιασμού microservices δημιουργούν επαναχρησιμοποιήσιμες αυτόνομες
υπηρεσίες. Εν γένει, η αρχιτεκτονική των microservices εξυπηρετεί στην ταχύτερη δημιουργία και
ανάπτυξη εφαρμογών αλλά και την ταχύτερη ανάπτυξη των επιμέρους υπηρεσιών της ίδιας της
εφαρμογής. Κάθε υπηρεσία είναι πλήρως αυτόνομη και full-stack, δηλαδή, με δικό της front-end,
back-end, database καθώς και όλη την ενδιάμεση συνδιαλλαγή και επικοινωνία. Η αλλαγή μιας
υπηρεσίας δεν επηρεάζει τις υπόλοιπες καθώς επικοινωνούν μέσω καλά καθορισμένων
διεπαφών.
Παρακάτω παρουσιάζονται ενδεικτικά τρία integration και τρία decomposition patterns από τα
συνολικά 19 που αναλύονται στη διπλωματική.
Μοτίβα αρχιτεκτονικής Microservices
AGGREGATOR - Πρόγραμμα ή ιστοσελίδα που
συγκεντρώνει και παρουσιάζει δεδομένα, με τη
χρήση του business logic και στη μορφή των
REST endpoints. Χρησιμοποιείται στην
αρχιτεκτονική των microservices ως μία βασική
για την εφαρμογή ιστοσελίδα που καλεί κάθε
φορά ένα σύνολο υπηρεσιών για την ανάκτηση
δεδομένων και την επίτευξη απαιτούμενων
λειτουργιών. Η έξοδος (output) που
επιστρέφεται είναι αποτέλεσμα συνδυασμού
δεδομένων από ξεχωριστές αυτόνομες
υπηρεσίες.
Μοτίβα αρχιτεκτονικής Microservices
API GATEWAYS - Διαφοροποίηση του
aggregator pattern. Εξυπηρετούν στην
μαζική διαχείριση πληροφοριών για κάθε
ξεχωριστό microservice. Πέραν αυτού, τα
gateways χρησιμεύουν ως μεσολαβητές
για τη δρομολόγηση ενός αιτήματος προς
το εκάστοτε microservice. ́Ενα API gateway
χρησιμοποιείται για την αποστολή
αιτημάτων από clients προς τα διάφορα
services, με τη βοήθεια ενός load balancer
ενώ ταυτόχρονα μπορεί να
χρησιμοποιηθεί και για την επιστροφή
αποτελεσμάτων όπως συμβαίνει στο
aggregator pattern
Μοτίβα αρχιτεκτονικής Microservices
Ασύγχρονη Επικοινωνία - Επιτρέπει
στα διάφορα microservices να
επικοινωνούν και να ανταλλάσσουν
αιτήματα μεταξύ τους χωρίς ωστόσο να
διακόπτουν την ατομική λειτουργία τους.
Ο client μπορεί μέσω ενός microservice
να αποστείλει αίτημα σε περισσότερα από
ένα microservices. Η ασύγχρονη
επικοινωνία επιτυγχάνεται μέσω της
σειράς αιτημάτων (queue) και έρχεται σε
αντίθεση με την δομή των synchronous
REST API τα οποία περιμένουν πάντα
την επιστροφή του αποτελέσματος
(response) μετά από ένα request για να
συνεχιστεί η εκτέλεση των υπηρεσιών.
Μοτίβα αρχιτεκτονικής Microservices -
Decomposition Patterns
Η διάσπαση της εφαρμογής σε επιμέρους
υπηρεσίες κάνει το έργο διαχείρισης των
developers πιο εύκολο ως προς την υλοποίηση
του. Για τον σωστό διαμοιρασμό των υπηρεσιών
μίας εφαρμογής πρέπει να πληρούνται ορισμένες
προϋποθέσεις όπως ότι οι υπηρεσίες θα πρέπει να
είναι συνεντκικές, δηλαδή, όλες οι συναρτήσεις της
υπηρεσίας να σχετίζονται άμεσα, να είναι χαλαρά
συνδεδεμένες μεταξύ τους (loosely coupled),
δηλαδή κάθε υπηρεσία να μπορεί να επικοινωνεί με
τις υπόλοιπες με τη χρήση API, να μπορεί να γίνει
ανάπτυξη και testing κάθε ξεχωριστής υπηρεσίας
από την ομάδα που τη διαχερίζεται χωρίς να
χρειάζεται η συνεργασία με άλλες ομάδες και η
αρχιτεκτονική του κώδικα να είναι σταθερή.
Μοτίβα αρχιτεκτονικής Microservices -
Decomposition Patterns
By business capability - Ο διαχωρισμός των
υπηρεσιών ανάλογα με την αρμοδιότητα των
̈αντικειμένων ̈ της εφαρμογής (business
capabilities of business objects) συναντάται
στη μοντελοποίηση αρχιτεκτονικής
επιχειρήσεων.. Τα business capabilities
κατηγοριοποιούνται ιεραρχικά, ανάλογα με
την σημαντικότητα τους για την εταιρική
εφαρμογή στην οποία ανήκουν (ανάπτυξη
της υπηρεσίας, διανομή της υπηρεσίας,
δημιουργία ζήτησης της υπηρεσίας από τους
χρήστες, κ.α).
Μοτίβα αρχιτεκτονικής Microservices -
Decomposition Patterns
By subdomain - Το domain model ολόκληρης της
εφαρμογής διασπάται και χωρίζονται σε subdomains
δηλαδή, σε μικρότερους επιμέρους τομείς με ξεχωριστές
και σχετικές μεταξύ τους αρμοδιότητες. Τα subdomains
κατηγοριοποιούνται ιεραρχικά ως βασικά, υποστηρικτικά ή
γενικά.
● Βασικοί τομείς είναι όσοι τομείς αφορούν αντικείμενα
μή σχετικά μεταξύ τους, των οποίων οι λειτουργίες
ανήκουν στους βασικούς πυλώνες μίας e-commerce
εφαρμογής.
● Υποστηρικτικοί τομείς είναι όσοι επιμέρους τομείς
σχετίζονται με την επιχείρηση, αλλά περιέχουν
υποστηρικτές και όχι βασικές λειτουργίες.
● Τέλος, οι γενικοί τομείς, που αφορούν διάφορες
άλλες λειτουργίες πέραν της επιχείρησης.
Μοτίβα αρχιτεκτονικής Microservices -
Decomposition Patterns
By transactions - Η ομαδοποίηση των
microservices με βάση τις συναλλαγές
που εκτελούν, χρησιμοποιείται για να
αποφεύγεται η καθυστέρηση κατά την
κλήση του συστήματος προς τα
microservices. Η εφαρμογή της
συγκεκριμένης αρχιτεκτονικής
βελτιστοποιεί την διαθεσιμότητα των
δεδομένων καθώς και το χρόνο
απαντήσεων προς τα requests του
συστήματος, ενώ διατηρεί και την ακρίβεια
των δεδομένων.
Τρόποι εφαρμογής των Microfrontends
́Οπως τα microservices χρησιμοποιούνται για την ευκολότερη διαχείριση του back-end
τμήματος μίας εφαρμογής, προσφέροντας μία πληθώρα τρόπων κατανομής και διαχωρισμού
των δεδομένων και των τομέων ενδιαφέροντος, έτσι και τα micro front-ends χρησιμοποιούνται
για την πιο οργανωμένη διαχείριση του front-end τμήματος του κώδικα και του UI της
εφαρμογής.
● Ελαστικότητα Σχεδιασμού και Ανάπτυξης
● ∆ιαχωρισμός των codebases
● Προτίμηση του Native Browser
● Απομόνωση κατα το σφάλμα
● Επεκτασιμότητα
● Λιγότερος Χρόνος Κατασκευής
● Επαναχρησιμοποίηση του κώδικα
Τρόποι εφαρμογής των Microfrontends
Build time integration με τη χρήση
πακέτων - Τα micro front-ends
χρησιμοποιούνται μέσα στην εφαρμογή
ως πακέτα, τα οποία μπορούν να
προέρχονται από διαφορετικά repositories
και να εισάγονται ως modules, ενώ η
εφαρμογή τα περιλαμβάνει σαν library
dependencies.
● Γρήγορη ανάπτυξη κώδικα
● Καλύτερη κατανόηση της
εφαρμογής
● Ανεξαρτησία της εφαρμογής
Τρόποι εφαρμογής των Microfrontends
Build time integration με τη
χρήση HTML iframes - πλαίσια
που χρησιμοποιούνται για την
ενσωμάτωση ενός νέου document
μέσα στο υπάρχον HTML
document. Με την χρήση των
iframes δίνεται η δυνατότητα
σύνθεσης μίας σελίδας η οποία θα
απαρτίζεται από πολλές μικρότερες.
Η κάθε ξεχωριστή σελίδα λειτουργεί
απομονωμένα και αυτόνομα από τις
υπόλοιπες με αποτέλεσμα η
σχεδίαση της να γίνεται με βάση τις
ανάγκες της ίδιας και οι global
μεταβλητές όλων των σελίδων να
μην συγχέονται.
<!DOCTYPE html>
<html>
<head>
<title>HTML iframe Tag</title>
</head>
<body style="text-align: center">
<h1>NameOfTheApp</h1>
<h2>HTML iframe Tag</h2>
<iframe src=
"https://ide.app.com/index.php"
height="200"
width="400">
</iframe>
</body>
</html>
Τρόποι εφαρμογής των Microfrontends
Build time integration με τη χρήση Web Components - Σουίτα διαφορετικών εργαλείων και τεχνολογιών
που επιτρέπουν τη δημιουργία προσαρμοσμένων και επαναχρησιμοποιήσιμων στοιχείων.
Η εργαλειοθήκη περιλαμβάνει προσαρμοσμένα στοιχεία τα οποία επιτρέπουν τη δημιουργία
προσαρμοσμένων ετικετών HTML και είναι συμβατά με τη χρήση JavaScript. Μέρος της εργαλειοθήκης
αποτελούν και τα HTML templates τα οποία αποτελούν ένα μηχανισμό για την αγνόηση συγκεκριμένων
HTML στοιχείων από τον browser.
Τέλος, το Shadow DOM χρησιμοποιείται για την ενσωμάτωση δομών (με δικό τους σχεδιασμό και
συμπεριφορά) στο κεντρικό DOM, οι οποίες μένουν κρυφές και ανέπαφες από τον υπόλοιπο κώδικα
Πείραμα - Δημιουργία εφαρμογής με τη χρήση
microfrontends
Πείραμα - Δημιουργία εφαρμογής με τη χρήση
microfrontends
Κενά και μειονεκτήματα microfrontends
● Έλλειψη επικοινωνίας των ομάδων και ελέγχου των modules.
● Αυξημένα payloads.
● Πολύπλοκη διαδικασία ανάπτυξης της υπηρεσίας.
● Ασυνέπεια στο UX
Συμπερασματικά, η αρχιτεκτονική αυτή, μπορεί να εξυπηρετήσει τόσο μικρές εφαρμογές που
έχουν από πίσω τους μικρές ομάδες ανάπτυξης, όσο και αρκετά μεγάλες, με την προϋπόθεση
πως τα ξεχωριστά micro front-end codebases είναι πλήρως οργανωμένα και η συνεχής
ενημέρωση και επικοινωνία διέπουν τις επιμέρους ομάδες των διαφόρων microfrontends,
Ενδεικτική Βιβλιογραφία
1. Alshuqayran, Nuha, Nour Ali, and Roger Evans. "A systematic mapping study in
microservice architecture." 2016 IEEE 9th International Conference on Service-
Oriented Computing and Applications (SOCA).
2. Pavlenko, A., Askarbekuly, N., Megha, S., Mazzara, M. (2020). Microfrontends:
application of microservices to web front-ends. J. Internet Serv.
3. Mezzalira, L. (2021). Building Micro-Frontends, Pbl: O’Reilly Media
4. Waseem, M., Liang, P., Márquez, G., Shahin, M., Khan, A. A., Ahmad, A. (2021). A
decision model for selecting patterns and strategies to decompose applications
into microservices. In Service-Oriented Computing: 19th International
Conference, ICSOC 2021, Virtual Event, November 22–25, 2021, Proceedings 19
(pp. Springer International Publishing.
5. Wang, B., Cai, H., Jiang, L. (2011, November). The research and application of
business-driven internet component integration. In IET International
Communication Conference on Wireless Mobile and Computing (CCWMC 2011)
IET.

More Related Content

Similar to Micro Front-ends and Microservices Architecture in Web Application Development

Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...ISSEL
 
Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]Nikos Dimitrakopoulos
 
Ενότητα 4 Κεφάλαιο 13
Ενότητα 4 Κεφάλαιο 13Ενότητα 4 Κεφάλαιο 13
Ενότητα 4 Κεφάλαιο 13Nikos Koulouridis
 
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdfJoSk9
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Εφαρμογές νέφους Παρουσίαση 01
Εφαρμογές νέφους Παρουσίαση 01Εφαρμογές νέφους Παρουσίαση 01
Εφαρμογές νέφους Παρουσίαση 01apbitso
 
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ 1lykspartis
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
12 Multimedia Design Iii
12 Multimedia Design Iii12 Multimedia Design Iii
12 Multimedia Design Iiieretrianews
 
Business – Oriented Management of Web Services
Business – Oriented Management of Web ServicesBusiness – Oriented Management of Web Services
Business – Oriented Management of Web Servicesakargas
 
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)Theodoros Douvlis
 
Design and development of qualified special purpose CRM system
Design and development of qualified special purpose CRM systemDesign and development of qualified special purpose CRM system
Design and development of qualified special purpose CRM systemJohn Makridis
 
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdfJoSk9
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - TrainingAnna Tsolakou
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Trainingpdalianis
 

Similar to Micro Front-ends and Microservices Architecture in Web Application Development (20)

Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
 
Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]
 
Ενότητα 4 Κεφάλαιο 13
Ενότητα 4 Κεφάλαιο 13Ενότητα 4 Κεφάλαιο 13
Ενότητα 4 Κεφάλαιο 13
 
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Εφαρμογές νέφους Παρουσίαση 01
Εφαρμογές νέφους Παρουσίαση 01Εφαρμογές νέφους Παρουσίαση 01
Εφαρμογές νέφους Παρουσίαση 01
 
Client server computing
Client server computing Client server computing
Client server computing
 
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
12 Multimedia Design Iii
12 Multimedia Design Iii12 Multimedia Design Iii
12 Multimedia Design Iii
 
Business – Oriented Management of Web Services
Business – Oriented Management of Web ServicesBusiness – Oriented Management of Web Services
Business – Oriented Management of Web Services
 
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
 
SingularLogic Galaxy
SingularLogic GalaxySingularLogic Galaxy
SingularLogic Galaxy
 
Design and development of qualified special purpose CRM system
Design and development of qualified special purpose CRM systemDesign and development of qualified special purpose CRM system
Design and development of qualified special purpose CRM system
 
Pialoglou_Alexandros_Dip_2015
Pialoglou_Alexandros_Dip_2015Pialoglou_Alexandros_Dip_2015
Pialoglou_Alexandros_Dip_2015
 
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - Training
 
Presentation 2
Presentation 2Presentation 2
Presentation 2
 
Publico Profile
Publico ProfilePublico Profile
Publico Profile
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Training
 

More from ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...ISSEL
 

More from ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...
 

Micro Front-ends and Microservices Architecture in Web Application Development

  • 1. MICROFRONTENDS AND MICROSERVICES IN WEB DEVELOPMENT Τσαγκίδη Ηρώ (ΑΕΜ 495) - ΔΔΠΜΣ Προηγμένα Συστήματα Υπολογιστών και Επικοινωνιών, ΑΠΘ
  • 2. Τα κενά του μονολιθικού κώδικα ● Αργός ρυθμός ανάπτυξης - Το σύνολο των διαδικασιών που τελούνται με το trigger κάποιου service και αφορούν το συνεχές testing και deployment από το trigger μέχρι την επιστροφή του αποτελέσματος. ● Δυσνόητη δομή κώδικα - Ενα μονολιθικό σύστημα που περιέχει services, αναπόφευκτα θα αποκτήσει ένα αρκετά δυσνόητο repository. ● Legacy τεχνολογίες - Ξεπερασμένες τεχνολογίες ή συστήματα που αφορούν διατμηματικές διαδικασίες.
  • 3. Μοτίβα μοντέρνας αρχιτεκτονικής ιστού SINGLE PAGE APPLICATIONS (SPA) - Τρόπος υλοποίησης εφαρμογών που περιέχονται σε μία μόνο ιστοσελίδα (single web document) και ενημέρωσης του κύριου περιεχομένου της ιστοσελίδας με τη χρήση API.
  • 4. Μοτίβα μοντέρνας αρχιτεκτονικής ιστού NATIVE MOBILE APPLICATIONS - Εφαρμογές για συστήματα Android και iOS. Σε αρκετές περιπτώσεις η πρόσβαση στο internet δεν είναι απαραίτητη για τη λειτουργία της εφαρμογής. Απαραίτητη η δημιουργία αντιγράφων για πολλαπλές πλατφόρμες.
  • 5. Μοτίβα μοντέρνας αρχιτεκτονικής ιστού CLOUD NATIVE APPLICATIONS - Οι εφαρμογές στο cloud είναι ανεξάρτητες υπηρεσίες συσκευασμένες ως αυτόνομα, ελαφριά containers που είναι φορητά και μπορούν να επεκταθούν ανάλογα με τις ανάγκες τους.
  • 6. Μοτίβα αρχιτεκτονικής Microservices Τα μοτίβα σχεδιασμού microservices δημιουργούν επαναχρησιμοποιήσιμες αυτόνομες υπηρεσίες. Εν γένει, η αρχιτεκτονική των microservices εξυπηρετεί στην ταχύτερη δημιουργία και ανάπτυξη εφαρμογών αλλά και την ταχύτερη ανάπτυξη των επιμέρους υπηρεσιών της ίδιας της εφαρμογής. Κάθε υπηρεσία είναι πλήρως αυτόνομη και full-stack, δηλαδή, με δικό της front-end, back-end, database καθώς και όλη την ενδιάμεση συνδιαλλαγή και επικοινωνία. Η αλλαγή μιας υπηρεσίας δεν επηρεάζει τις υπόλοιπες καθώς επικοινωνούν μέσω καλά καθορισμένων διεπαφών. Παρακάτω παρουσιάζονται ενδεικτικά τρία integration και τρία decomposition patterns από τα συνολικά 19 που αναλύονται στη διπλωματική.
  • 7. Μοτίβα αρχιτεκτονικής Microservices AGGREGATOR - Πρόγραμμα ή ιστοσελίδα που συγκεντρώνει και παρουσιάζει δεδομένα, με τη χρήση του business logic και στη μορφή των REST endpoints. Χρησιμοποιείται στην αρχιτεκτονική των microservices ως μία βασική για την εφαρμογή ιστοσελίδα που καλεί κάθε φορά ένα σύνολο υπηρεσιών για την ανάκτηση δεδομένων και την επίτευξη απαιτούμενων λειτουργιών. Η έξοδος (output) που επιστρέφεται είναι αποτέλεσμα συνδυασμού δεδομένων από ξεχωριστές αυτόνομες υπηρεσίες.
  • 8. Μοτίβα αρχιτεκτονικής Microservices API GATEWAYS - Διαφοροποίηση του aggregator pattern. Εξυπηρετούν στην μαζική διαχείριση πληροφοριών για κάθε ξεχωριστό microservice. Πέραν αυτού, τα gateways χρησιμεύουν ως μεσολαβητές για τη δρομολόγηση ενός αιτήματος προς το εκάστοτε microservice. ́Ενα API gateway χρησιμοποιείται για την αποστολή αιτημάτων από clients προς τα διάφορα services, με τη βοήθεια ενός load balancer ενώ ταυτόχρονα μπορεί να χρησιμοποιηθεί και για την επιστροφή αποτελεσμάτων όπως συμβαίνει στο aggregator pattern
  • 9. Μοτίβα αρχιτεκτονικής Microservices Ασύγχρονη Επικοινωνία - Επιτρέπει στα διάφορα microservices να επικοινωνούν και να ανταλλάσσουν αιτήματα μεταξύ τους χωρίς ωστόσο να διακόπτουν την ατομική λειτουργία τους. Ο client μπορεί μέσω ενός microservice να αποστείλει αίτημα σε περισσότερα από ένα microservices. Η ασύγχρονη επικοινωνία επιτυγχάνεται μέσω της σειράς αιτημάτων (queue) και έρχεται σε αντίθεση με την δομή των synchronous REST API τα οποία περιμένουν πάντα την επιστροφή του αποτελέσματος (response) μετά από ένα request για να συνεχιστεί η εκτέλεση των υπηρεσιών.
  • 10. Μοτίβα αρχιτεκτονικής Microservices - Decomposition Patterns Η διάσπαση της εφαρμογής σε επιμέρους υπηρεσίες κάνει το έργο διαχείρισης των developers πιο εύκολο ως προς την υλοποίηση του. Για τον σωστό διαμοιρασμό των υπηρεσιών μίας εφαρμογής πρέπει να πληρούνται ορισμένες προϋποθέσεις όπως ότι οι υπηρεσίες θα πρέπει να είναι συνεντκικές, δηλαδή, όλες οι συναρτήσεις της υπηρεσίας να σχετίζονται άμεσα, να είναι χαλαρά συνδεδεμένες μεταξύ τους (loosely coupled), δηλαδή κάθε υπηρεσία να μπορεί να επικοινωνεί με τις υπόλοιπες με τη χρήση API, να μπορεί να γίνει ανάπτυξη και testing κάθε ξεχωριστής υπηρεσίας από την ομάδα που τη διαχερίζεται χωρίς να χρειάζεται η συνεργασία με άλλες ομάδες και η αρχιτεκτονική του κώδικα να είναι σταθερή.
  • 11. Μοτίβα αρχιτεκτονικής Microservices - Decomposition Patterns By business capability - Ο διαχωρισμός των υπηρεσιών ανάλογα με την αρμοδιότητα των ̈αντικειμένων ̈ της εφαρμογής (business capabilities of business objects) συναντάται στη μοντελοποίηση αρχιτεκτονικής επιχειρήσεων.. Τα business capabilities κατηγοριοποιούνται ιεραρχικά, ανάλογα με την σημαντικότητα τους για την εταιρική εφαρμογή στην οποία ανήκουν (ανάπτυξη της υπηρεσίας, διανομή της υπηρεσίας, δημιουργία ζήτησης της υπηρεσίας από τους χρήστες, κ.α).
  • 12. Μοτίβα αρχιτεκτονικής Microservices - Decomposition Patterns By subdomain - Το domain model ολόκληρης της εφαρμογής διασπάται και χωρίζονται σε subdomains δηλαδή, σε μικρότερους επιμέρους τομείς με ξεχωριστές και σχετικές μεταξύ τους αρμοδιότητες. Τα subdomains κατηγοριοποιούνται ιεραρχικά ως βασικά, υποστηρικτικά ή γενικά. ● Βασικοί τομείς είναι όσοι τομείς αφορούν αντικείμενα μή σχετικά μεταξύ τους, των οποίων οι λειτουργίες ανήκουν στους βασικούς πυλώνες μίας e-commerce εφαρμογής. ● Υποστηρικτικοί τομείς είναι όσοι επιμέρους τομείς σχετίζονται με την επιχείρηση, αλλά περιέχουν υποστηρικτές και όχι βασικές λειτουργίες. ● Τέλος, οι γενικοί τομείς, που αφορούν διάφορες άλλες λειτουργίες πέραν της επιχείρησης.
  • 13. Μοτίβα αρχιτεκτονικής Microservices - Decomposition Patterns By transactions - Η ομαδοποίηση των microservices με βάση τις συναλλαγές που εκτελούν, χρησιμοποιείται για να αποφεύγεται η καθυστέρηση κατά την κλήση του συστήματος προς τα microservices. Η εφαρμογή της συγκεκριμένης αρχιτεκτονικής βελτιστοποιεί την διαθεσιμότητα των δεδομένων καθώς και το χρόνο απαντήσεων προς τα requests του συστήματος, ενώ διατηρεί και την ακρίβεια των δεδομένων.
  • 14. Τρόποι εφαρμογής των Microfrontends ́Οπως τα microservices χρησιμοποιούνται για την ευκολότερη διαχείριση του back-end τμήματος μίας εφαρμογής, προσφέροντας μία πληθώρα τρόπων κατανομής και διαχωρισμού των δεδομένων και των τομέων ενδιαφέροντος, έτσι και τα micro front-ends χρησιμοποιούνται για την πιο οργανωμένη διαχείριση του front-end τμήματος του κώδικα και του UI της εφαρμογής. ● Ελαστικότητα Σχεδιασμού και Ανάπτυξης ● ∆ιαχωρισμός των codebases ● Προτίμηση του Native Browser ● Απομόνωση κατα το σφάλμα ● Επεκτασιμότητα ● Λιγότερος Χρόνος Κατασκευής ● Επαναχρησιμοποίηση του κώδικα
  • 15. Τρόποι εφαρμογής των Microfrontends Build time integration με τη χρήση πακέτων - Τα micro front-ends χρησιμοποιούνται μέσα στην εφαρμογή ως πακέτα, τα οποία μπορούν να προέρχονται από διαφορετικά repositories και να εισάγονται ως modules, ενώ η εφαρμογή τα περιλαμβάνει σαν library dependencies. ● Γρήγορη ανάπτυξη κώδικα ● Καλύτερη κατανόηση της εφαρμογής ● Ανεξαρτησία της εφαρμογής
  • 16. Τρόποι εφαρμογής των Microfrontends Build time integration με τη χρήση HTML iframes - πλαίσια που χρησιμοποιούνται για την ενσωμάτωση ενός νέου document μέσα στο υπάρχον HTML document. Με την χρήση των iframes δίνεται η δυνατότητα σύνθεσης μίας σελίδας η οποία θα απαρτίζεται από πολλές μικρότερες. Η κάθε ξεχωριστή σελίδα λειτουργεί απομονωμένα και αυτόνομα από τις υπόλοιπες με αποτέλεσμα η σχεδίαση της να γίνεται με βάση τις ανάγκες της ίδιας και οι global μεταβλητές όλων των σελίδων να μην συγχέονται. <!DOCTYPE html> <html> <head> <title>HTML iframe Tag</title> </head> <body style="text-align: center"> <h1>NameOfTheApp</h1> <h2>HTML iframe Tag</h2> <iframe src= "https://ide.app.com/index.php" height="200" width="400"> </iframe> </body> </html>
  • 17. Τρόποι εφαρμογής των Microfrontends Build time integration με τη χρήση Web Components - Σουίτα διαφορετικών εργαλείων και τεχνολογιών που επιτρέπουν τη δημιουργία προσαρμοσμένων και επαναχρησιμοποιήσιμων στοιχείων. Η εργαλειοθήκη περιλαμβάνει προσαρμοσμένα στοιχεία τα οποία επιτρέπουν τη δημιουργία προσαρμοσμένων ετικετών HTML και είναι συμβατά με τη χρήση JavaScript. Μέρος της εργαλειοθήκης αποτελούν και τα HTML templates τα οποία αποτελούν ένα μηχανισμό για την αγνόηση συγκεκριμένων HTML στοιχείων από τον browser. Τέλος, το Shadow DOM χρησιμοποιείται για την ενσωμάτωση δομών (με δικό τους σχεδιασμό και συμπεριφορά) στο κεντρικό DOM, οι οποίες μένουν κρυφές και ανέπαφες από τον υπόλοιπο κώδικα
  • 18. Πείραμα - Δημιουργία εφαρμογής με τη χρήση microfrontends
  • 19. Πείραμα - Δημιουργία εφαρμογής με τη χρήση microfrontends
  • 20. Κενά και μειονεκτήματα microfrontends ● Έλλειψη επικοινωνίας των ομάδων και ελέγχου των modules. ● Αυξημένα payloads. ● Πολύπλοκη διαδικασία ανάπτυξης της υπηρεσίας. ● Ασυνέπεια στο UX Συμπερασματικά, η αρχιτεκτονική αυτή, μπορεί να εξυπηρετήσει τόσο μικρές εφαρμογές που έχουν από πίσω τους μικρές ομάδες ανάπτυξης, όσο και αρκετά μεγάλες, με την προϋπόθεση πως τα ξεχωριστά micro front-end codebases είναι πλήρως οργανωμένα και η συνεχής ενημέρωση και επικοινωνία διέπουν τις επιμέρους ομάδες των διαφόρων microfrontends,
  • 21. Ενδεικτική Βιβλιογραφία 1. Alshuqayran, Nuha, Nour Ali, and Roger Evans. "A systematic mapping study in microservice architecture." 2016 IEEE 9th International Conference on Service- Oriented Computing and Applications (SOCA). 2. Pavlenko, A., Askarbekuly, N., Megha, S., Mazzara, M. (2020). Microfrontends: application of microservices to web front-ends. J. Internet Serv. 3. Mezzalira, L. (2021). Building Micro-Frontends, Pbl: O’Reilly Media 4. Waseem, M., Liang, P., Márquez, G., Shahin, M., Khan, A. A., Ahmad, A. (2021). A decision model for selecting patterns and strategies to decompose applications into microservices. In Service-Oriented Computing: 19th International Conference, ICSOC 2021, Virtual Event, November 22–25, 2021, Proceedings 19 (pp. Springer International Publishing. 5. Wang, B., Cai, H., Jiang, L. (2011, November). The research and application of business-driven internet component integration. In IET International Communication Conference on Wireless Mobile and Computing (CCWMC 2011) IET.