N-laag (meerdere lagen), 3-lagen, 2-lagen Archimet VOORBEELD
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.
Met dit architectuurmodel kunnen softwareontwikkelaars herbruikbare applicaties/systemen creëren met maximale flexibiliteit.
In N-laag, “N” verwijst naar een aantal lagen of lagen die worden gebruikt, zoals – 2-tier, 3-tier of 4-tier, enz. Het wordt ook wel “Meerlagig Archistructuur”.
De n-tier-architectuur is een door de industrie bewezen softwarearchitectuurmodel. Het is geschikt om client-servertoepassingen op ondernemingsniveau te ondersteunen door oplossingen te bieden voor schaalbaarheid, beveiliging, fouttolerantie, herbruikbaarheid en onderhoudbaarheid. Het helpt ontwikkelaars om flexibele en herbruikbare toepassingen te creëren.
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 van de populaire sites die deze architectuur hebben toegepast zijn:
- MakeMyTrip.com
- Sales Force-bedrijfsapplicatie
- Indiase Spoorwegen – IRCTC
- Amazon.com, enz.
Enkele veelgebruikte termen om te onthouden, zodat u het concept beter kunt begrijpen.
- Gedistribueerd netwerk: Het is een netwerkarchitectuur, waarbij de componenten die zich op netwerkcomputers bevinden, hun acties coördineren en communiceren door alleen berichten door te geven. 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 binnen de LAN-architectuur verbonden en aan de andere kant zijn ze verbonden met snelle switches en een rek met servers die serviceknooppunten bevatten.
- Client server Archistructuur: Het is een architectuurmodel waarbij de client (één programma) een service aanvraagt van een server (een ander programma) dat wil zeggen Het is een verzoek-antwoorddienst die via internet of via 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 dienst of een hulpbron aan te vragen bij een server, en aan de andere kant verwerkt de server vervolgens het verzoek en geeft het resultaat weer aan de eindgebruiker.
- Een voorbeeld van een client-servermodel: een geldautomaat. Een bank is de server voor het verwerken van de applicatie binnen de grote klantendatabases en de ATM-machine is de klant met een gebruikersinterface met een aantal eenvoudige applicatieverwerking.
- Platform: In de computerwetenschap of software-industrie is een platform een systeem waarop applicatieprogramma's kunnen draaien. Het bestaat uit een combinatie van hardware en software met een ingebouwde instructie voor een processor/microprocessor om specifieke bewerkingen uit te voeren.
- In eenvoudiger woorden: het platform is een systeem of een basis waarop alle applicaties kunnen worden uitgevoerd en uitgevoerd om een specifieke taak te verkrijgen.
- 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 zijn enkele veel voorkomende Db's.
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
Hier hebben we een eenvoudig voorbeeld van een studentenformulier genomen om al deze drie lagen te begrijpen. Het bevat informatie over een student, zoals – Naam, Adres, E-mail 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 frontend-aanzicht van applicaties en het aanroepen van de functies van andere lagen, zodat ze 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.
- Bedrijfslogica fungeert als interface tussen de clientlaag en de gegevenstoegangslaag
- Alle bedrijfslogica – zoals validatie van gegevens, berekeningen en het invoegen/wijzigen van gegevens – wordt geschreven onder de bedrijfslogicalaag.
- Het maakt de communicatie tussen de klant en de datalaag sneller en eenvoudiger
- 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 gebruikt de functie van een bedrijfslaag, die de gegevens voor de applicatielaag accepteert en doorgeeft aan de gegevenslaag. De bedrijfslaagcodes fungeren als bemiddelaar tussen de functies die zijn gedefinieerd in de presentatielaag en de gegevenslaag en roepen 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 datasetlaag hierboven is gedefinieerd, accepteert de volledige aanvraag: deze wordt door het systeem aangevraagd en voert de vereiste bewerkingen uit in de database.
2-Tier Architectuur
Het lijkt op de client-serverarchitectuur, waarbij de communicatie plaatsvindt tussen client en server.
Bij dit type softwarearchitectuur wordt de presentatielaag of gebruikersinterfacelaag aan de clientzijde uitgevoerd, terwijl de datasetlaag aan de serverzijde wordt uitgevoerd en opgeslagen.
Er is geen bedrijfslogicalaag of directe laag tussen client en server.
Enkellaags of 1-laags Architectuur
Het is de eenvoudigste omdat het gelijk staat aan het uitvoeren van de applicatie op de pc. Alle benodigde componenten voor het uitvoeren 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
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, worden hieronder tips gegeven over n-tier architectuur
- Probeer lagen zoveel mogelijk los te koppelen van een andere laag door gebruik te maken van een techniek als soap XML.
- Gebruik enkele geautomatiseerde tools om een mapping te genereren tussen een bedrijfslogische laag en een relationele databaselaag (gegevenslaag). Tools die kunnen helpen bij het modelleren van deze mappingtechnieken zijn – Entity Framework en Hibernate voor .Net enz.
- Plaats in de clientpresentatielaag zoveel mogelijk een 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.
Samenvatting
Dankzij de N-tier-architectuur kunt u alle componenten (bedrijfslaag, presentatielaag en databaselaag) van een applicatie onder één dak beheren.
Toepassingen die gebruik maken van kleine aantallen gebruikers op een lokaal netwerk, kunnen profiteren van n-tier-architectuur.
Een dergelijk architectuurontwerp zorgt ervoor dat een applicatie efficiënt op internet kan worden onderhouden, opgeschaald en geïmplementeerd.