Αρχιτεκτονική N Tier (Multi-Tier), 3-Tier, 2-Tier με ΠΑΡΑΔΕΙΓΜΑ

Πίνακας περιεχομένων:

Anonim

Τι είναι το N-Tier;

Ένα πρόγραμμα εφαρμογής N-Tier είναι ένα πρόγραμμα που κατανέμεται σε τρεις ή περισσότερους ξεχωριστούς υπολογιστές σε ένα κατανεμημένο δίκτυο.

Η πιο κοινή μορφή του n-tier είναι η εφαρμογή 3-tier και ταξινομείται σε τρεις κατηγορίες.

  • Προγραμματισμός διεπαφής χρήστη στον υπολογιστή του χρήστη
  • Επιχειρηματική λογική σε έναν πιο κεντρικό υπολογιστή και
  • Απαιτούμενα δεδομένα σε έναν υπολογιστή που διαχειρίζεται μια βάση δεδομένων.

Αυτό το μοντέλο αρχιτεκτονικής παρέχει στους προγραμματιστές λογισμικού τη δημιουργία επαναχρησιμοποιήσιμων εφαρμογών / συστημάτων με μέγιστη ευελιξία.

Στο N-tier, το "N" αναφέρεται σε έναν αριθμό επιπέδων ή στρώσεων που χρησιμοποιούνται όπως - 2-tier, 3-tier ή 4-tier, κλπ . Ονομάζεται επίσης « Αρχιτεκτονική πολλαπλών επιπέδων» .

Η αρχιτεκτονική n-tier είναι ένα αποδεδειγμένο από τη βιομηχανία μοντέλο αρχιτεκτονικής λογισμικού. Είναι κατάλληλο να υποστηρίζει εφαρμογές σε επίπεδο πελάτη-διακομιστή παρέχοντας λύσεις για επεκτασιμότητα, ασφάλεια, ανοχή σφαλμάτων, επαναχρησιμοποίηση και συντήρηση. Βοηθά τους προγραμματιστές να δημιουργήσουν ευέλικτες και επαναχρησιμοποιήσιμες εφαρμογές.

Σε αυτό το σεμινάριο, θα μάθετε-

  • Τι είναι το N-Tier;
  • Αρχιτεκτονική N-Tier
  • Τύποι αρχιτεκτονικών N-Tier
    • Αρχιτεκτονική 3 επιπέδων
    • Αρχιτεκτονική 2 επιπέδων
    • Αρχιτεκτονική μονής βαθμίδας ή 1 βαθμίδας
  • Πλεονεκτήματα και μειονεκτήματα των πολυεπίπεδων αρχιτεκτονικών
  • Συμβουλές και ανάπτυξη αρχιτεκτονικής N-Tier

Αρχιτεκτονική N-Tier

Μια διαγραμματική αναπαράσταση ενός συστήματος n-tier απεικονίζεται εδώ - παρουσίαση, εφαρμογή και επίπεδα βάσης δεδομένων.

Διάγραμμα αρχιτεκτονικής N Tier

Αυτά τα τρία στρώματα μπορούν να υποδιαιρεθούν περαιτέρω σε διαφορετικά υποστρώματα ανάλογα με τις απαιτήσεις.

Μερικοί από τους δημοφιλείς ιστότοπους που έχουν εφαρμόσει αυτήν την αρχιτεκτονική είναι

  • MakeMyTrip.com
  • Εφαρμογή εταιρικής δύναμης πωλήσεων
  • Ινδικοί σιδηρόδρομοι - IRCTC
  • Amazon.com κ.λπ.

Μερικοί συνηθισμένοι όροι που πρέπει να θυμάστε, ώστε να κατανοήσετε καλύτερα την έννοια.

  • Κατανεμημένο δίκτυο: Πρόκειται για μια αρχιτεκτονική δικτύου, όπου τα στοιχεία που βρίσκονται στους υπολογιστές δικτύου συντονίζουν και επικοινωνούν τις ενέργειές τους μόνο μέσω της μετάδοσης μηνυμάτων. Είναι μια συλλογή πολλαπλών συστημάτων που βρίσκονται σε διαφορετικούς κόμβους, αλλά εμφανίζεται στον χρήστη ως ένα ενιαίο σύστημα.
    • Παρέχει ένα ενιαίο δίκτυο επικοινωνίας δεδομένων το οποίο μπορεί να διαχειρίζεται χωριστά από διαφορετικά δίκτυα.
    • Ένα παράδειγμα Διανεμημένου Δικτύου- όπου διαφορετικοί πελάτες είναι συνδεδεμένοι στην αρχιτεκτονική LAN από τη μία πλευρά και από την άλλη πλευρά συνδέονται με διακόπτες υψηλής ταχύτητας μαζί με ένα ράφι διακομιστών που περιέχουν κόμβους υπηρεσίας.
  • Client-Server Architecture: Πρόκειται για ένα μοντέλο αρχιτεκτονικής όπου ο πελάτης (ένα πρόγραμμα) ζητά μια υπηρεσία από έναν διακομιστή (άλλο πρόγραμμα), δηλαδή είναι μια υπηρεσία απόκρισης αιτήσεων που παρέχεται μέσω του Διαδικτύου ή μέσω ενός intranet.

    Σε αυτό το μοντέλο, ο Πελάτης θα χρησιμεύσει ως ένα σύνολο προγράμματος / κώδικα που εκτελεί ένα σύνολο ενεργειών μέσω του δικτύου. Ενώ ο διακομιστής , από την άλλη πλευρά, είναι ένα σύνολο άλλου προγράμματος, το οποίο στέλνει τα σύνολα αποτελεσμάτων στο σύστημα πελάτη όπως ζητήθηκε.

    • Σε αυτό, ο υπολογιστής-πελάτης παρέχει μια διεπαφή σε έναν τελικό χρήστη για να ζητήσει μια υπηρεσία ή έναν πόρο από έναν διακομιστή και από την άλλη ο διακομιστής επεξεργάζεται το αίτημα και εμφανίζει το αποτέλεσμα στον τελικό χρήστη.
    • Ένα παράδειγμα μοντέλου διακομιστή-πελάτη - μηχανή ATM. Μια τράπεζα είναι ο διακομιστής για την επεξεργασία της εφαρμογής εντός των μεγάλων βάσεων δεδομένων πελατών και το μηχάνημα ATM είναι ο πελάτης που έχει μια διεπαφή χρήστη με κάποια απλή επεξεργασία εφαρμογών.
  • Πλατφόρμα: Στην επιστήμη των υπολογιστών ή στη βιομηχανία λογισμικού, μια πλατφόρμα είναι ένα σύστημα στο οποίο μπορεί να εκτελεστεί το πρόγραμμα εφαρμογών. Αποτελείται από έναν συνδυασμό υλικού και λογισμικού που έχουν ενσωματωμένη οδηγία για τους επεξεργαστές / μικροεπεξεργαστές να εκτελούν συγκεκριμένες λειτουργίες.
    • Με πιο απλά λόγια, η πλατφόρμα είναι ένα σύστημα ή μια βάση όπου οποιαδήποτε εφαρμογή μπορεί να εκτελεστεί και να εκτελεστεί για να επιτευχθεί μια συγκεκριμένη εργασία.
    • Ένα παράδειγμα πλατφόρμας - Ένα προσωπικό μηχάνημα φορτωμένο με Windows 2000 ή Mac OS X ως παραδείγματα 2 διαφορετικών πλατφορμών.
  • Βάση δεδομένων: Είναι μια συλλογή πληροφοριών με οργανωμένο τρόπο, ώστε να είναι εύκολα προσβάσιμη, να διαχειρίζεται και να ενημερώνεται.
    • Παραδείγματα βάσης δεδομένων - MySQL, SQL Server και Oracle Database είναι μερικά κοινά Db.

Τύποι αρχιτεκτονικών N-Tier

Υπάρχουν διάφοροι τύποι αρχιτεκτονικών N-Tier, όπως η αρχιτεκτονική 3 επιπέδων, η αρχιτεκτονική 2 επιπέδων και η αρχιτεκτονική 1 επιπέδου.

Πρώτον, θα δούμε την αρχιτεκτονική 3 επιπέδων, η οποία είναι πολύ σημαντική.

Αρχιτεκτονική 3 επιπέδων

Κοιτάζοντας το παρακάτω διάγραμμα, μπορείτε εύκολα να αναγνωρίσετε ότι η αρχιτεκτονική 3 επιπέδων έχει τρία διαφορετικά επίπεδα.

  • Επίπεδο παρουσίασης
  • Επίπεδο επιχειρησιακής λογικής
  • Επίπεδο βάσης δεδομένων

Διάγραμμα αρχιτεκτονικής 3 επιπέδων

Εδώ έχουμε πάρει ένα απλό παράδειγμα μαθητικής φόρμας για να κατανοήσουμε και τα τρία αυτά επίπεδα. Έχει πληροφορίες για έναν μαθητή όπως - Όνομα, Διεύθυνση, Email και Εικόνα.

Επίπεδο διεπαφής χρήστη ή επίπεδο παρουσίασης

Επίπεδο παρουσίασης

private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){// Object of the Property layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString());// In this following code we are calling a function from the business layer and// passing the object of the property layer which will carry the ID till the database.ds=objbs.GetAllStudentBsIDWise(objproperty);// What ever the data has been returned by the above function into the dataset//is being populate through the presentation laye.txtId.Text=ds.Tables[0].Rows[0][0].ToString();txtFname.Text=ds.Tables[0].Rows[0][1].ToString();txtAddress.Text=ds.Tables[0].Rows[0][2].ToString();txtemail.Text=ds.Tables[0].Rows[0][3].ToString();

Επεξήγηση κώδικα

  • Ο παραπάνω κώδικας καθορίζει τον βασικό σχεδιασμό μιας μπροστινής όψης εφαρμογών καθώς και την κλήση των λειτουργιών άλλων επιπέδων έτσι ώστε να μπορούν να ενσωματωθούν μεταξύ τους.

Επίπεδο πρόσβασης επιχείρησης -

Αυτή είναι η συνάρτηση του επιχειρησιακού επιπέδου που δέχεται τα δεδομένα από το επίπεδο εφαρμογής και τα μεταφέρει στο επίπεδο δεδομένων.

  • Η επιχειρησιακή λογική λειτουργεί ως διεπαφή μεταξύ του επιπέδου πελάτη και του επιπέδου πρόσβασης δεδομένων
  • Όλη η επιχειρησιακή λογική - όπως η επικύρωση δεδομένων, υπολογισμοί, εισαγωγή / τροποποίηση δεδομένων γράφονται κάτω από το επίπεδο επιχειρησιακής λογικής.
  • Κάνει την επικοινωνία πιο γρήγορη και ευκολότερη μεταξύ του πελάτη και του επιπέδου δεδομένων
  • Ορίζει μια σωστή δραστηριότητα ροής εργασίας που είναι απαραίτητη για την ολοκλήρωση μιας εργασίας.
// this is the function of the business layer which accepts the data from the//application layer and passes it to the data layer.public class clsStudentInfo{public DataSet GetAllStudentBsIDWise(clsStudent obj){DataSet ds=new DataSet();ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer functionreturn ds;}}

Επεξήγηση του κωδικού

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

Επίπεδο πρόσβασης δεδομένων

Αυτή είναι η λειτουργία επιπέδου δεδομένων, η οποία λαμβάνει τα δεδομένα από το επιχειρησιακό επίπεδο και εκτελεί την απαραίτητη λειτουργία στη βάση δεδομένων.

// this is the datalayer function which is receiving the data from the business//layer and performing the required operation into the databasepublic class clsStudentData // Data layer class{// object of property layer classpublic DataSet getdata_dtIDUise(clsStudent obj){DataSet ds;string sql;sql="select * from student where Studentld=" +obj.id+ "order by Studentld;ds=new DataSet();//this is the datalayer function which accepts the sql query and performs the//corresponding operationds=objdt.ExecuteSql(sql);return ds;}}

Επεξήγηση του κωδικού

Ο κωδικός που ορίζεται στο επίπεδο συνόλου δεδομένων δέχεται ολόκληρο το αίτημα: ζητήθηκε από το σύστημα και εκτελεί τις απαιτούμενες λειτουργίες στη βάση δεδομένων.

Αρχιτεκτονική 2 επιπέδων:

Είναι σαν την αρχιτεκτονική Client-Server, όπου η επικοινωνία πραγματοποιείται μεταξύ πελάτη και διακομιστή.

Σε αυτόν τον τύπο αρχιτεκτονικής λογισμικού, το επίπεδο παρουσίασης ή το επίπεδο διεπαφής χρήστη εκτελείται από την πλευρά του πελάτη ενώ το επίπεδο συνόλου δεδομένων εκτελείται και αποθηκεύεται από την πλευρά του διακομιστή.

Δεν υπάρχει επίπεδο λογικής επιχείρησης ή άμεσο επίπεδο μεταξύ πελάτη και διακομιστή.

Αρχιτεκτονική μονής βαθμίδας ή 1 επιπέδου:

Είναι το απλούστερο, καθώς ισοδυναμεί με την εκτέλεση της εφαρμογής στον προσωπικό υπολογιστή. Όλα τα απαιτούμενα στοιχεία για την εκτέλεση μιας εφαρμογής βρίσκονται σε μία εφαρμογή ή διακομιστή.

Το επίπεδο παρουσίασης, το επίπεδο επιχειρησιακής λογικής και το επίπεδο δεδομένων βρίσκονται σε ένα μόνο μηχάνημα.

Πλεονεκτήματα και μειονεκτήματα των πολυεπίπεδων αρχιτεκτονικών

Πλεονεκτήματα

Μειονεκτήματα

  • Επεκτασιμότητα
  • Αύξηση της προσπάθειας
  • Ακεραιότητα δεδομένων
  • Αύξηση της πολυπλοκότητας
  • Επαναχρησιμοποίηση
  • Μειωμένη διανομή
  • Βελτιωμένη ασφάλεια
  • Βελτιωμένη διαθεσιμότητα

Ως εκ τούτου, είναι ένα μέρος ενός προγράμματος που κρυπτογραφεί επιχειρηματικά προβλήματα στον πραγματικό κόσμο και καθορίζει τον τρόπο με τον οποίο τα δεδομένα μπορούν να ενημερωθούν, να δημιουργηθούν, να αποθηκευτούν ή να αλλάξουν για να ολοκληρωθεί η ολοκλήρωση της εργασίας.

Συμβουλές και ανάπτυξη αρχιτεκτονικής N-Tier

Λαμβάνοντας υπόψη ότι οι επαγγελματίες του λογισμικού πρέπει να έχουν πλήρη έλεγχο σε όλα τα επίπεδα της αρχιτεκτονικής, παρέχονται συμβουλές για την αρχιτεκτονική n-tier όπως παρακάτω

  1. Προσπαθήστε να αποσυνδέσετε τα στρώματα από ένα άλλο στρώμα όσο το δυνατόν περισσότερο χρησιμοποιώντας μια τεχνική όπως το σαπούνι XML.
  2. Χρησιμοποιήστε ορισμένα αυτοματοποιημένα εργαλεία για να δημιουργήσετε μια αντιστοίχιση μεταξύ ενός επιπέδου επιχειρησιακής λογικής και ενός σχεσιακού επιπέδου βάσης δεδομένων (επίπεδο δεδομένων). Τα εργαλεία που μπορούν να βοηθήσουν στη μοντελοποίηση αυτών των τεχνικών χαρτογράφησης είναι - Entity Framework και Hibernate για .Net κ.λπ.
  3. Στο επίπεδο του προγράμματος παρουσίασης πελατών, τοποθετήστε έναν κοινό κώδικα για όλους τους πελάτες σε μια ξεχωριστή βιβλιοθήκη όσο το δυνατόν περισσότερο. Αυτό θα μεγιστοποιήσει την επαναχρησιμοποίηση του κώδικα για όλους τους τύπους πελατών.
  4. Ένα επίπεδο cache μπορεί να προστεθεί σε ένα υπάρχον επίπεδο για να επιταχύνει την απόδοση.

Περίληψη:

Η αρχιτεκτονική N-tier βοηθά στη διαχείριση όλων των στοιχείων (επίπεδο επιχείρησης, επίπεδο παρουσίασης και επίπεδο βάσης δεδομένων) μιας εφαρμογής κάτω από μια στέγη.

Οι εφαρμογές που χρησιμοποιούν μικρό αριθμό χρηστών σε ένα τοπικό δίκτυο μπορούν να επωφεληθούν από την αρχιτεκτονική n-tier.

Ένας τέτοιος αρχιτεκτονικός σχεδιασμός διασφαλίζει τη διατήρηση, την αναβάθμιση και την ανάπτυξη μιας εφαρμογής στο Διαδίκτυο αποτελεσματικά.