N-laag (meerdere lagen), 3-lagen, 2-lagen Archimet VOORBEELD
โก Slimme samenvatting
N-Tier-architectuur, ook wel multi-tier-architectuur genoemd, verdeelt een applicatie over drie of meer afzonderlijke lagen, zoals presentatie, bedrijfslogica en data. Dit model verbetert de schaalbaarheid, beveiliging en herbruikbaarheid voor client-serverapplicaties op bedrijfsniveau.

Wat is N-Tier?
An N-Tier-applicatie programma is een programma dat wordt gedistribueerd over drie of meer afzonderlijke computers in een gedistribueerd netwerk.
De meest voorkomende vorm van n-tier is de 3-tier-applicatie en deze is onderverdeeld in drie categorieรซn.
- Programmering van de gebruikersinterface op de computer van de gebruiker
- Bedrijfslogica in een meer gecentraliseerde computer, en
- Vereiste gegevens op een computer die een database beheert.
Dit architectuurmodel biedt softwareontwikkelaars een manier om herbruikbare applicaties/systemen te creรซren met maximale flexibiliteit.
In N-laag, โNโ verwijst naar een aantal niveaus of lagen die worden gebruikt, zoals โ 2-tier, 3-tier of 4-tier, enz. Het wordt ook wel โMeerlagig Architectuur'.
De n-tier-architectuur Het is een in de industrie bewezen softwarearchitectuurmodel. Het is geschikt voor het ondersteunen van client-serverapplicaties op bedrijfsniveau door oplossingen te bieden voor schaalbaarheid, beveiliging, fouttolerantie, herbruikbaarheid en onderhoudbaarheid. Het helpt ontwikkelaars bij het creรซren van flexibele en herbruikbare applicaties.
N-laag Architectuur
Een schematische weergave van een systeem met n lagen toont hier presentatie-, applicatie- en databaselagen.

Deze drie lagen kunnen afhankelijk van de vereisten verder worden onderverdeeld in verschillende sublagen.
Enkele bekende locaties waar deze architectuur is toegepast zijn:
- MakeMyTrip.com
- Sales Force-bedrijfsapplicatie
- Indiase Spoorwegen โ IRCTC
- Amazon.com, enz.
Enkele veelgebruikte termen om te onthouden, zodat u het concept beter begrijpt:
- Gedistribueerd netwerk: Het is een netwerkarchitectuur waarbij de componenten op de netwerkcomputers hun acties coรถrdineren en communiceren door middel van berichten. Het is een verzameling van meerdere systemen die zich op verschillende knooppunten bevinden, maar voor de gebruiker als รฉรฉn systeem verschijnen.
- Het biedt รฉรฉn enkel datacommunicatienetwerk dat afzonderlijk door verschillende netwerken kan worden beheerd.
- Een voorbeeld van een gedistribueerd netwerk: verschillende clients zijn aan de ene kant verbonden binnen een LAN-architectuur en aan de andere kant zijn ze verbonden met snelle switches en een serverrack met servicenodes.
- Client server Archistructuur: Het is een architectuurmodel waarbij de client (een programma) een dienst aanvraagt โโbij een server (een ander programma). dat wil zeggen Het is een verzoek-antwoordservice die via internet of een intranet wordt aangeboden. In dit model, Bedrijf zal dienen als รฉรฉn set programma's/code die een reeks acties via het netwerk uitvoert. Terwijl Server, aan de andere kant, is een set van een ander programma, dat de resultatensets zoals gevraagd naar het clientsysteem verzendt.
- Hierbij biedt de clientcomputer een interface aan een eindgebruiker om een โโservice of bron van een server aan te vragen. De server verwerkt vervolgens het verzoek en toont het resultaat aan de eindgebruiker.
- Een voorbeeld van het client-servermodel: een geldautomaat. Een bank is de server die de aanvragen verwerkt binnen de grote klantendatabases, en de geldautomaat is de client met een gebruikersinterface die eenvoudige applicatieverwerking uitvoert.
- Platform: In de informatica of de software-industrie is een platform een โโsysteem waarop een applicatieprogramma kan draaien. Het bestaat uit een combinatie van hardware en software met ingebouwde instructies voor een processor/microprocessor om specifieke bewerkingen uit te voeren.
- Eenvoudiger gezegd is een platform een โโsysteem of basis waarop elke applicatie kan draaien en een specifieke taak kan uitvoeren.
- Een voorbeeld van Platform โ Een persoonlijke machine geladen met Windows 2000 of Mac OS X als voorbeelden van 2 verschillende platforms.
- Database: Het is een verzameling informatie op een georganiseerde manier, zodat deze gemakkelijk toegankelijk, beheerd en bijgewerkt kan worden.
- Voorbeelden van databases โ MySQL, SQL Serveerster, en Oracle Database Dit zijn enkele veelvoorkomende databases.
Soorten N-tier Architexturen
Er zijn verschillende soorten N-Tier Architecturen, zoals 3-tier Archistructuur, 2-laags Archistructuur en 1-laags Archistructuur.
Eerst zullen we 3 niveaus zien Archistructuur, wat erg belangrijk is.
3-Tier Architectuur
Door naar het onderstaande diagram te kijken, kunt u dat gemakkelijk identificeren 3-tier architectuur bestaat uit drie verschillende lagen.
- Presentatie laag
- Bedrijfslogica-laag
- Databaselaag

We hebben hier een eenvoudig voorbeeld van een studentenformulier genomen om deze drie lagen te begrijpen. Het bevat informatie over een student, zoals naam, adres, e-mailadres en foto.
Gebruikersinterfacelaag of presentatielaag
Presentatie laag
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) { // Object of the Property layer clsStudent objproperty=new clsStudent(); // Object of the business layer clsStudentInfo objbs=new clsStudentInfo(); // Object of the dataset in which we receive the data sent by the business layer DataSet ds=new DataSet(); // here we are placing the value in the property using the object of the //property layer objproperty.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();
Code Uitleg
- De bovenstaande code definieert het basisontwerp van een front-endweergave van applicaties, evenals het aanroepen van functies van andere lagen, zodat deze met elkaar kunnen worden geรฏntegreerd.
Zakelijke toegangslaag โ
Dit is de functie van de bedrijfslaag die de gegevens uit de applicatielaag accepteert en doorgeeft aan de gegevenslaag.
- De bedrijfslogica fungeert als interface tussen de clientlaag en de data-toegangslaag.
- Alle bedrijfslogica โ zoals gegevensvalidatie, berekeningen, gegevensinvoer/wijziging โ is geschreven in de bedrijfslogica-laag.
- Het maakt de communicatie tussen de client en de datalaag sneller en gemakkelijker.
- Definieert een juiste werkstroomactiviteit die nodig is om een โโtaak te voltooien.
// 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 function return ds; } }
Uitleg van code
De code maakt gebruik van een functie in de bedrijfslaag, die de gegevens voor de applicatielaag ontvangt en doorgeeft aan de datalaag. De code in de bedrijfslaag fungeert als intermediair tussen de functies in de presentatielaag en de datalaag, en roept de functies omgekeerd aan.
Gegevenstoegangslaag
Dit is de functie van de gegevenslaag, die de gegevens van de bedrijfslaag ontvangt en de benodigde bewerkingen in de database uitvoert.
// this is the datalayer function which is receiving the data from the business //layer and performing the required operation into the database public class clsStudentData // Data layer class { // object of property layer class public 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 operation ds=objdt.ExecuteSql(sql); return ds; } }
Uitleg van code
De code die in de bovenstaande datasetlaag is gedefinieerd, accepteert het volledige verzoek van het systeem en voert de benodigde bewerkingen in de database uit.
2-Tier Architectuur
Het lijkt op de client-serverarchitectuur, waarbij de communicatie plaatsvindt tussen client en server.
Bij dit type softwarearchitectuur draait de presentatielaag of gebruikersinterface aan de clientzijde, terwijl de datasetlaag aan de serverzijde wordt uitgevoerd en opgeslagen.
Er is geen bedrijfslogica-laag of tussenlaag tussen client en server.
Enkellaags of 1-laags Architectuur
Dit is de eenvoudigste methode, omdat het gelijk staat aan het uitvoeren van de applicatie op een persoonlijke computer. Alle benodigde componenten voor het draaien van een applicatie bevinden zich op รฉรฉn applicatie of server.
De presentatielaag, de bedrijfslogicalaag en de gegevenslaag bevinden zich allemaal op รฉรฉn enkele machine.
Voor- en nadelen van multi-tier Architexturen
Zoals bij elke ontwerpkeuze, brengt de meerlaagse aanpak duidelijke voordelen met zich mee, maar ook een aantal nadelen, die hieronder worden samengevat.
| Voordelen | Nadelen |
|---|---|
| Schaalbaarheid | Toename van inspanning |
| Data Integrity | Toename van complexiteit |
| Herbruikbaarheid | |
| Verminderde distributie | |
| Verbeterde beveiliging | |
| Verbeterde beschikbaarheid |
Daarom maakt het deel uit van een programma dat zakelijke problemen in de echte wereld codeert en bepaalt hoe gegevens kunnen worden bijgewerkt, gemaakt, opgeslagen of gewijzigd om de volledige taak uit te voeren.
N-laag Architectuur Tips en ontwikkeling
Aangezien softwareprofessionals volledige controle moeten hebben over alle lagen van de architectuur, volgen hieronder enkele tips voor n-tier-architectuur:
- Probeer de verschillende lagen zoveel mogelijk van elkaar te scheiden door een techniek zoals SOAP XML te gebruiken.
- Gebruik geautomatiseerde tools om een โโkaart te genereren.ping tussen een bedrijfslogica-laag en een relationele database-laag (datalaag). Tools die kunnen helpen bij het modelleren van deze kaart.ping Voorbeelden van gebruikte technieken zijn Entity Framework en Hibernate voor .Net, enzovoort.
- Plaats in de client-presenterlaag zoveel mogelijk gemeenschappelijke code voor alle clients in een aparte bibliotheek. Dit maximaliseert de herbruikbaarheid van de code voor alle soorten clients.
- Een cachelaag kan aan een bestaande laag worden toegevoegd om de prestaties te versnellen.

