Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογών Ιστού

ISSEL
ISSELISSEL
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.
1 of 21

Recommended

Μαϊτης Αντώνιος by
Μαϊτης ΑντώνιοςΜαϊτης Αντώνιος
Μαϊτης ΑντώνιοςAntonis Maitis
335 views18 slides
κατηγορίες ως πρός την αρχιτεκτονική τους by
κατηγορίες ως πρός την αρχιτεκτονική τουςκατηγορίες ως πρός την αρχιτεκτονική τους
κατηγορίες ως πρός την αρχιτεκτονική τουςbasflor
297 views4 slides
Παρουσίαση Smart by
Παρουσίαση SmartΠαρουσίαση Smart
Παρουσίαση SmartDimitris Fatsiletos
114 views20 slides
Μαρία Κουιρουκίδου by
Μαρία ΚουιρουκίδουΜαρία Κουιρουκίδου
Μαρία ΚουιρουκίδουISSEL
146 views28 slides
Ναταλία Μιχαηλίδου by
Ναταλία ΜιχαηλίδουΝαταλία Μιχαηλίδου
Ναταλία ΜιχαηλίδουISSEL
293 views21 slides
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ... by
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...ISSEL
84 views26 slides

More Related Content

Similar to Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογών Ιστού

Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf by
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdfJoSk9
10 views12 slides
Εφαρμογές νέφους Παρουσίαση 01 by
Εφαρμογές νέφους Παρουσίαση 01Εφαρμογές νέφους Παρουσίαση 01
Εφαρμογές νέφους Παρουσίαση 01apbitso
633 views17 slides
Client server computing by
Client server computing Client server computing
Client server computing Πασχος Κωνσταντινος
279 views62 slides
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ by
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ 1lykspartis
133 views29 slides
12 Multimedia Design Iii by
12 Multimedia Design Iii12 Multimedia Design Iii
12 Multimedia Design Iiieretrianews
832 views68 slides
Business – Oriented Management of Web Services by
Business – Oriented Management of Web ServicesBusiness – Oriented Management of Web Services
Business – Oriented Management of Web Servicesakargas
177 views14 slides

Similar to Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογών Ιστού(20)

Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf by JoSk9
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων Β.pdf
JoSk910 views
Εφαρμογές νέφους Παρουσίαση 01 by apbitso
Εφαρμογές νέφους Παρουσίαση 01Εφαρμογές νέφους Παρουσίαση 01
Εφαρμογές νέφους Παρουσίαση 01
apbitso633 views
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ by 1lykspartis
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ
ΤΑΞΙΔΙ ΣΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ
1lykspartis133 views
12 Multimedia Design Iii by eretrianews
12 Multimedia Design Iii12 Multimedia Design Iii
12 Multimedia Design Iii
eretrianews 832 views
Business – Oriented Management of Web Services by akargas
Business – Oriented Management of Web ServicesBusiness – Oriented Management of Web Services
Business – Oriented Management of Web Services
akargas177 views
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms) by Theodoros Douvlis
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
Design and development of qualified special purpose CRM system by John Makridis
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
John Makridis114 views
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf by JoSk9
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
JoSk919 views
Thesis.Net Framework Training by pdalianis
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Training
pdalianis197 views
Συλλογικοί Κατάλογοι & Διαδίκτυο by Levadia Library
Συλλογικοί Κατάλογοι & ΔιαδίκτυοΣυλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & Διαδίκτυο
Levadia Library99.5K views
Dontsios Dimitris by ISSEL
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
ISSEL280 views
Π. Κρανιδιώτης ΕΛΛΑΚ by OTS SA
Π. Κρανιδιώτης ΕΛΛΑΚΠ. Κρανιδιώτης ΕΛΛΑΚ
Π. Κρανιδιώτης ΕΛΛΑΚ
OTS SA359 views
Προγραμματισμός σε Clipper - 1 by Stathis Gourzis
Προγραμματισμός σε Clipper - 1Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1
Stathis Gourzis459 views
Εφαρμογές Πληροφορικής - Κεφάλαιο 2: Λογισμικό by Anna Dimitrakopoulou
Εφαρμογές Πληροφορικής - Κεφάλαιο 2: ΛογισμικόΕφαρμογές Πληροφορικής - Κεφάλαιο 2: Λογισμικό
Εφαρμογές Πληροφορικής - Κεφάλαιο 2: Λογισμικό

More from ISSEL

Camera-based localization of annotated objects in indoor environments by
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
12 views38 slides
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ... by
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
6 views38 slides
Design and implementation of an automation mechanism to automatically develop... by
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
4 views17 slides
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ... by
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
6 views17 slides
Static Analysis of Python code and Identification of Potential Security Vulne... by
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
8 views16 slides
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ... by
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...ISSEL
26 views27 slides

More from ISSEL(20)

Camera-based localization of annotated objects in indoor environments by ISSEL
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
ISSEL12 views
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ... by ISSEL
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
ISSEL6 views
Design and implementation of an automation mechanism to automatically develop... by 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...
ISSEL4 views
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ... by ISSEL
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ISSEL6 views
Static Analysis of Python code and Identification of Potential Security Vulne... by 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...
ISSEL8 views
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ... by ISSEL
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
ISSEL26 views
Design and Development of an Authorization and Access Control Mechanism for C... by ISSEL
Design and Development of an Authorization and Access Control Mechanism for C...Design and Development of an Authorization and Access Control Mechanism for C...
Design and Development of an Authorization and Access Control Mechanism for C...
ISSEL13 views
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο... by ISSEL
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
ISSEL19 views
Analysis and profiling of developer profiles using data mining techniques fro... by ISSEL
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...
ISSEL3 views
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση... by ISSEL
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
ISSEL8 views
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM by ISSEL
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMTOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
ISSEL3 views
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ... by ISSEL
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ISSEL11 views
System Development for Prediction of Static Analysis Metrics of Source Code by ISSEL
System Development for Prediction of Static Analysis Metrics of Source CodeSystem Development for Prediction of Static Analysis Metrics of Source Code
System Development for Prediction of Static Analysis Metrics of Source Code
ISSEL6 views
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ... by ISSEL
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
ISSEL11 views
Micro Front-ends and Microservices Architecture in Web Application Development by ISSEL
Micro Front-ends and Microservices Architecture in Web Application DevelopmentMicro Front-ends and Microservices Architecture in Web Application Development
Micro Front-ends and Microservices Architecture in Web Application Development
ISSEL8 views
Indoor localization using wireless networks by ISSEL
Indoor localization using wireless networksIndoor localization using wireless networks
Indoor localization using wireless networks
ISSEL5 views
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων by ISSEL
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύωνΕντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων
ISSEL10 views
Design and implementation of a big data architecture for storage, real-time p... by ISSEL
Design and implementation of a big data architecture for storage, real-time p...Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...
ISSEL9 views
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ... by ISSEL
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
ISSEL16 views
Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ... by ISSEL
Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...
Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...
ISSEL16 views

Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογών Ιστού

  • 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.