Άλλο tier και άλλο layer. Τα άρθρα που παραθέτεις αναφέρονται σε layers και όχι σε tiers. Θα πρέπει να το προσέξεις αυτό διαφορετικά μπορεί να μπερδευτείς.
Όταν λέμε ότι μία εφαρμογή είναι n-tier σημαίνει ότι αποτελείται από πολλά κομμάτια (components) τα οποία μπορεί να τρέχουν στο ίδιο ή διαφορετικά μηχανήματα. Οι τεχνολογίες που παίζουν εκεί είναι WCF, Web Services, COM+, Enterprise Services και το συχωρεμένο το Remoting.
Οι n-tier αρχιτεκτονικές χρησιμοποιούνται για καλύτερο scalability και availability: Φτιάχνω τις εφαρμογές μου έτσι ώστε να μπορώ χρησιμοποιήσω ένα ή περισσότερα μηχανήματα για να την τρέξω, και να μήν φοβάμαι τί θα γίνει αν πέσει ένα από αυτά.
Όταν λέμε ότι μία εφαρμογή είναι n-layer σημαίνει ότι εσωτερικά οι κλάσεις της είναι χωρισμένες σε επίπεδα. Εκεί εφαρμόζονται patterns όπως το Model View Controller ή Model View Presenter, χρησιμοποιείς Data Layers και business logic layers κλπ. Κατά κανόνα οι κλάσεις τρέχουν στο ίδιο process αν και μπορείς να βρεις εφαρμογές όπου κάποιο layer μπορεί να τρέχει σε διαφορετικό process στο ίδιο μηχάνημα.
Οι n-layer αρχιτεκτονικές χρησιμοποιούνται για να γίνει πιο εύκολη η ανάπτυξη και τροποποίηση του κώδικα, καθώς διαφορετικές κλάσεις ή assemblies αναλαμβάνουν διαφορετικούς ρόλους. Έτσι οι αλλαγές σε μία κλάση δεν επηρεάζουν τις κλάσεις σε άλλα layers.
Δες το και ως εξής: Ένα component σε ένα tier μπορεί να αποτελείται από πολλά layers. Μπορεί να έχει το δικό του data layer για να επικοινωνήσει με βάση ή με κάποιο web service, business layer όπου υλοποιεί κάποιους κανόνες και presentation layer το οποίο μπορεί να είναι το API που εμφανίζει σε άλλα components.
Ένα layer ποτέ δεν σπάει σε διαφορετικά tiers.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos