Καλησπέρα σας! Για την εξαμηνιαία έχουμε επιλέξει να υλοποιήσουμε SOA και MVC αλλά, παρότι έχουμε παρακολουθήσει τις διαλέξεις και τα εργαστήρια δεν μας είναι αρκετά ξεκάθαρες οι διαφορές που θα πρέπει να υπάρχουν στον κώδικα μεταξύ των δύο αρχιτεκτονικών. Για τη SOA υλοποιήσαμε ένα authenticator service που υλοποιεί τα sign up και sign in, με express όπως το δείξατε στο εργαστήριο για node.js και express (1/4). Για τα υπόλοιπα services που αφορούν ερωτήσεις απαντήσεις κτλ ξεκινήσαμε με nestjs όπως δείξατε στο εργαστήριο της 8/4 και τα επόμενα, όμως στην πορεία μας φαίνεται ότι αυτή η υλοποίηση θυμίζει περισσότερο MVC γιατί έχει entities, controllers κτλ. Ψάχνοντας και στο internet οι περισσότερες πηγές αναφέρουν ότι το SOA και το MVC μπορούν να υλοποιηθούν μαζί και ότι δεν είναι δύο αμοιβαίως αποκλειόμενα πράγματα. Εμείς, τί ακριβώς διαφορές θέλετε να έχουμε ξεκάθαρα μεταξύ των δύο αρχιτεκτονικών, ώστε να φαίνονται σαν δύο διαφορετικές υλοποιήσεις και όχι σαν την ίδια; Πχ θα πρέπει όλο το SOA να υλοποιηθεί με express χωρίς controllers και entities; Ή μπορούμε να υλοποιήσουμε και το SOA και το MVC με nest και να έχουμε controllers και entities και στα δύο, απλά στο SOA όλη η δουλειά να γίνεται στα service αρχεία ενώ στο MVC να γίνεται όλη η δουλειά στα controller αρχεία; Σας ευχαριστούμε εκ των προτέρων!



Διαφορά μεταξύ αρχιτεκτονικών SOA και MVC στην υλοποίηση
Οπως έχει συζητηθεί στο μάθημα, οι αρχιτεκτονικές δεν είναι αμοιβαία αποκλειόμενες. Το SOA μπορεί να είναι ένα MVC με τα επιπλέον απαραίτητα συστατικά που το καθιστούν SOA, δηλαδή το ESB και το μηχανισμό registration και ανακοίνωσης υπηρεσιών. 


Δείτε τη συζήτηση στην τελευταία διάλεξη του μαθήματος.


