logo

Tredelad klientserverarkitektur i distribuerat system

I den här artikeln kommer vi att gå in i detalj om klient-serverarkitekturen i tre nivåer. Den vanligaste typen av flerskiktsarkitektur i distribuerade system är en klient-serverarkitektur i tre nivåer. I den här arkitekturen är hela applikationen organiserad i tre datornivåer

  • Presentationsnivå
  • Ansökningsnivå
  • Data-tier

Den största fördelen med de tre nivåerna i klient-serverarkitektur är att dessa nivåer utvecklas och underhålls oberoende och detta skulle inte påverka de andra nivåerna i händelse av någon modifiering. Det möjliggör bättre prestanda och ännu mer skalbarhet i arkitekturen kan göras eftersom med den ökande efterfrågan kan fler servrar läggas till.



Vad är treskiktsarkitektur?

Three-Tier Architecture är ett väletablerat designmönster för mjukvaruapplikationer som kommer att organisera applikationen i de tre logiska och fysiska datornivåerna enligt följande:

  • Presentationsnivå
  • Ansökningsnivå
  • Datanivå

De tre nivåerna i detalj

Presentationsnivå

Det är användargränssnittet och den översta nivån i arkitekturen. Dess syfte är att ta emot begäran från klienten och visa information till klienten. Den kommunicerar med andra nivåer med hjälp av en webbläsare eftersom den ger utdata i webbläsaren. Om vi ​​pratar om webbaserade nivåer så är dessa utvecklade med hjälp av språk som- HTML , CSS , JavaScript.

Ansökningsnivå

Det är mellanskiktet i arkitekturen, även känt som logikskiktet, eftersom informationen/förfrågan som samlas in genom presentationsskiktet behandlas i detalj här. Den interagerar också med servern som lagrar data. Den behandlar kundens begäran, formaterar den och skickar tillbaka den till kunden. Det är utvecklat med hjälp av språk som- Pytonorm , Java , PHP, etc.



Datanivå

Det är den sista nivån i arkitekturen, även känd som Databas Tier. Den används för att lagra den bearbetade informationen så att den kan hämtas senare vid behov. Den består av databasservrar som- Orakel , MySQL, DB2, etc. Kommunikationen mellan Presentation Tier och Data-Tier görs med hjälp av middle-tier, dvs Application Tier.

Tredelad arkitektur

Nivå kontra lager

Tier



Lager

Tier refererar till den fysiska separationen av komponenter.

Lager hänvisar till den logiska separationen av en applikation.

Nivåerna är fysiskt åtskilda och körs på de olika maskinerna är servrar.

Lager är logiskt åtskilda men körs på samma servrar eller datorer.

format sträng java

Skalbarheten för en applikation är mycket hög.

Skalbarheten för en applikation är medelhög.

Vanliga nivåer i en flerskiktsarkitektur inkluderar presentationsnivån (användargränssnitt), applikationsnivån (affärslogik) och datanivån (databas).

Varje lager fokuserar på specifika ansvarsområden, såsom presentation, affärslogik och dataåtkomst, inom en enda nivå.

Tredelad applikation i webbutveckling

Webbapplikationen kommer att ha samma nivåer som de tre arkitekturerna men den enda skillnaden är att de har olika namn.

applet applet
  1. Webbserver: Webbserver är en presentationsnivå av en arkitektur med tre nivåer som fungerar som en presentationsnivå eller UI (User Interface) nivå. Detta innehåll kan vara statiskt eller dynamiskt baserat på kraven som en e-handelssida där användare kan lägga till produkter i sin kundvagn, ange betalningsinformation eller skapa ett konto.
  2. Applikationsserver: Application tier är ett mellanskikt som består av hela logiken som krävs för verksamheten som kommer att bearbeta användarindata och så vidare. Det kommer att utföra logikens liknande frågor i lagerdatabasen för att returnera produkttillgänglighet eller lägga till detaljer till en kunds profil.
  3. Databasserver: Detta är back-end tier av en webbapplikation den består av all data så denna tier kommer oftast att finnas en databas som t.ex. MySQL, Oracle, DB2 eller PostgreSQL.

Andra flerskiktsarkitekturer

Three Tier Architecture är den allmänt använda för applikationsutveckling, det finns några andra arkitekturer som nämns nedan.

Tvåskiktsarkitektur

Detta är en grundläggande mjukvaruarkitektur som består av två lager eller nivå en är klient och en annan är server varje nivå har sitt eget ansvar och de är sammanlänkade med varandra eller beroende av varandra

Klientnivå

Klientnivån är det översta lagret som är som ett användargränssnitt och en interaktionsdel av applikationen. den fungerar som en webbläsare, skrivbordsapplikation eller mobilapp, genom vilken användaren interagerar med applikationen. Den ansvarar för att presentera uppgifterna och bearbeta inmatningen av ansökan.

Servernivå

Server tier är ett bottenskikt som innehåller den logik som vi krävde för att hantera databehandling och datahantering.

N-nivå arkitektur

N-Tier Architecture, även känd som Multi-Tier Architecture, den delar upp applikationen i olika antal nivåer baserat på dess komplexitet och krav. följande är några av nivåerna som ingår i arkitekturen.

  • Presentationsnivå (klientnivå)
  • Applikationsnivå (mellannivå eller affärslogiknivå)
  • Datanivå (datalagringsnivå eller databasnivå)
  • Tjänstenivå (affärstjänster eller applikationstjänster)
  • Integrationsnivå (Integrationstjänster).

Fördelar med treskiktsarkitektur

  • Logisk separation upprätthålls mellan presentationsnivå, applikationsnivå och databasnivå.
  • Förbättring av prestanda eftersom uppgiften är uppdelad på flera maskiner i distribuerade maskiner och dessutom är varje nivå oberoende av andra nivåer.
  • Ökande efterfrågan på att lägga till fler servrar kan också hanteras i arkitekturen eftersom nivåerna kan skalas oberoende.
  • Utvecklare är oberoende för att uppdatera tekniken för en nivå eftersom det inte skulle påverka de andra nivåerna.
  • Tillförlitligheten förbättras med nivåernas oberoende eftersom problem med en nivå inte skulle påverka de andra.
  • Programmerare kan enkelt underhålla databasen, presentationskoden och affärs-/applikationslogiken separat. Om någon ändring krävs i affärs-/applikationslogik påverkar det inte presentationskoden och kodbasen.
  • Belastningen är balanserad när presentationsnivåuppgiften separeras från datanivåns server.
  • Säkerheten förbättras eftersom klienten inte kan kommunicera direkt med Databas Tier. Dessutom valideras data på Application Tier innan de överförs till Databas Tier.
  • Dataintegriteten bibehålls.
  • Tillhandahållande av distribution till en mängd olika databaser snarare än att begränsa dig till en viss teknik.

Nackdelar med treskiktsarkitektur

  • Presentationsnivån kan inte kommunicera direkt med databasnivån.
  • Komplexiteten ökar också med ökningen av nivåer i arkitekturen.
  • Det finns en ökning av antalet resurser eftersom kodbas, presentationskod och applikationskod måste underhållas separat.

Vanliga frågor om treskiktsarkitektur

1. Treskiktsarkitektur i DBMS

De databashanteringssystem (DBMS) är uppdelad i tre logiska och fysiska nivåer: presentationsnivån, applikationsnivån och databasnivån. Detta är känt som treskiktsarkitektur i DBMS.

2. Treskiktsarkitektur i C#

A C# applikationen är uppdelad i tre logiska och fysiska nivåer: presentationsnivån, applikationsnivån och datanivån. Detta är känt som treskiktsarkitektur.

3. Treskiktsarkitektur i AWS (Amazon Web Services)

En treskiktsarkitektur i Amazon Web Services (AWS) hänvisar till designen av webbapplikationer eller tjänster som använder AWS molnresurser och tjänster för att dela upp applikationen i tre logiska nivåer. Varje nivå har specifika ansvarsområden och AWS tillhandahåller en rad tjänster för att stödja implementeringen av denna arkitektur.

4. Trenivåarkitektur för mobil datoranvändning

En treskiktsarkitektur i samband med mobil datoranvändning hänvisar till organisationen av en mobilapplikation eller ett mobilsystem i tre logiska nivåer eller lager, var och en med specifika ansvarsområden.