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.

  • ???? ๏ธ Definitie: Een N-Tier-applicatie is verdeeld over drie of meer afzonderlijke computers in een gedistribueerd netwerk.
  • ๐Ÿงฑ Drie kernlagen: De presentatielaag (gebruikersinterface), de bedrijfslogica en de databaselaag zijn duidelijk van elkaar gescheiden.
  • ๐Ÿ”ข Niveauvariaties: De meest voorkomende modellen zijn 1-Tier, 2-Tier en 3-Tier, waarbij 3-Tier het meest gebruikt wordt.
  • ๐ŸŒ Gebruik in de praktijk: Websites zoals IRCTC, MakeMyTrip en Amazon vertrouw op deze architectuur.
  • โœ… Belangrijkste voordelen: Schaalbaarheid, gegevensintegriteit, herbruikbaarheid, verbeterde beveiliging en beschikbaarheid.
  • โš ๏ธ Afweging: Meer lagen verhogen de ontwikkelingsinspanning en de algehele complexiteit van het systeem.

N-laag Architectuur

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.

N-laag Architectuur
N-laag Archistructuurdiagram

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
3 niveau Archistructuurdiagram
3 niveau Archistructuurdiagram

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

3-Tier Architectuur

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:

  1. Probeer de verschillende lagen zoveel mogelijk van elkaar te scheiden door een techniek zoals SOAP XML te gebruiken.
  2. 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.
  3. 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.
  4. Een cachelaag kan aan een bestaande laag worden toegevoegd om de prestaties te versnellen.

Veelgestelde vragen

Een laag is een logische scheiding van code, zoals presentatie- of bedrijfslogica. Een tier is de fysieke scheiding van die lagen op verschillende machines. Meerdere lagen kunnen op รฉรฉn tier draaien, of elke laag kan zijn eigen tier hebben.

Nee. MVC is een ontwerppatroon voor het organiseren van code binnen รฉรฉn applicatie, terwijl een drielaags architectuur de presentatie, logica en data fysiek scheidt over de verschillende lagen. MVC-componenten communiceren vrij met elkaar, terwijl drielaags architecturen in een strikte hiรซrarchische structuur communiceren.

Veelvoorkomende keuzes zijn onder andere .NET, Java (Spring), en Node.js voor de bedrijfslogica, HTML/JavaScriptframeworks voor presentaties en databases zoals MySQL, SQL Server, of Oracle voor de datalaag. ORM's zoals Entity Framework en Hibernate verbinden de lagen.

AI wordt meestal toegevoegd in de bedrijfslogica of als een aparte servicelaag. Het stuurt functies aan zoals aanbevelingen, fraudedetectie en zoeken, terwijl de presentatie- en datalagen ongewijzigd blijven.ping De architectuur is modulair en onderhoudbaar.

Ja. AI-gestuurde monitoring kan verkeerspieken voorspellen en elke laag onafhankelijk van elkaar automatisch schalen. Het kan ook de belasting balanceren, knelpunten detecteren en databasequery's optimaliseren.ping Grote client-serverapplicaties blijven responsief onder veranderende vraag.

Vat dit bericht samen met: