V tomto článku sa budeme podrobne venovať trojvrstvovej architektúre klient-server. Najbežnejší typ viacvrstvovej architektúry v distribuované systémy je trojvrstvová architektúra klient-server. V tejto architektúre je celá aplikácia organizovaná do troch výpočtových vrstiev
- Prezentačná vrstva
- Aplikačná vrstva
- Dátová vrstva
Hlavnou výhodou troch vrstiev v architektúre klient-server je, že tieto vrstvy sa vyvíjajú a udržiavajú nezávisle, čo by nemalo vplyv na ostatné vrstvy v prípade akejkoľvek úpravy. Umožňuje lepší výkon a je možné dosiahnuť ešte väčšiu škálovateľnosť v architektúre, keďže so zvyšujúcim sa dopytom je možné pridať viac serverov.
Čo je trojvrstvová architektúra?
Trojvrstvová architektúra je dobre zavedený vzor návrhu softvérovej aplikácie, ktorý organizuje aplikáciu v troch logických a fyzických výpočtových vrstvách takto:
- Prezentačná vrstva
- Aplikačná vrstva
- Dátová vrstva
Tri úrovne v detaile
Prezentačná vrstva
Je to používateľské rozhranie a najvyššia vrstva v architektúre. Jeho účelom je prevziať požiadavku od klienta a zobraziť informácie klientovi. Komunikuje s inými vrstvami pomocou webového prehliadača, pretože poskytuje výstup v prehliadači. Ak hovoríme o webových vrstvách, potom sú vyvinuté pomocou jazykov ako HTML , CSS , JavaScript.
c boolovská hodnota
Aplikačná vrstva
Je to stredná vrstva architektúry, ktorá je známa aj ako logická vrstva, pretože tu sú podrobne spracované informácie/požiadavka zhromaždená prostredníctvom prezentačnej vrstvy. Tiež spolupracuje so serverom, ktorý ukladá údaje. Spracuje požiadavku klienta, naformátuje ju a odošle späť klientovi. Vyvíja sa pomocou jazykov, ako napr. Python , Java , PHP atď.
Dátová vrstva
Je to posledná vrstva architektúry, ktorá je známa aj ako databázová vrstva. Používa sa na ukladanie spracovaných informácií, aby ich bolo možné v prípade potreby neskôr získať. Pozostáva z databázových serverov, napr. Oracle , MySQL, DB2 atď. Komunikácia medzi prezentačnou vrstvou a dátovou vrstvou sa uskutočňuje pomocou strednej vrstvy, t. j. aplikačnej vrstvy.

Úroveň vs. vrstva
| Stupeň | Vrstva podreťazec metódy java |
|---|---|
| Úroveň sa týka fyzického oddelenia komponentov. | Vrstva sa týka logického oddelenia aplikácie. |
| Vrstvy sú fyzicky oddelené a na rôznych počítačoch bežia servery. | Vrstvy sú logicky oddelené, ale bežia na rovnakých serveroch alebo strojoch. |
| Škálovateľnosť aplikácie je veľmi vysoká. nový riadok v pythone | Škálovateľnosť aplikácie je stredná. |
| Bežné vrstvy vo viacvrstvovej architektúre zahŕňajú prezentačnú vrstvu (používateľské rozhranie), aplikačnú vrstvu (obchodná logika) a dátovú vrstvu (databázu). | Každá vrstva sa zameriava na špecifické zodpovednosti, ako je prezentácia, obchodná logika a prístup k údajom, v rámci jednej vrstvy. |
Trojvrstvová aplikácia vo vývoji webu
Webová aplikácia bude mať rovnaké vrstvy ako tri architektúry, ale rozdiel je len v tom, že majú rôzne názvy.
- Webový server: Webový server je prezentačná vrstva trojvrstvovej architektúry, ktorá slúži ako prezentačná vrstva alebo vrstva UI (User Interface). Tento obsah môže byť statický alebo dynamický na základe požiadaviek, ako je napríklad stránka elektronického obchodu, kde môžu používatelia pridávať produkty do nákupného košíka, zadávať platobné údaje alebo si vytvoriť účet.
- Aplikačný server: Aplikačná vrstva je stredná vrstva, ktorá pozostáva z úplnej logiky, ktorá sa vyžaduje pre podnik, ktorý bude spracovávať vstupy používateľov atď. Vykoná logické dotazy v databáze inventára, aby vrátil dostupnosť produktu alebo pridal podrobnosti do profilu zákazníka.
- Databázový server: Toto je back-end vrstva webovej aplikácie, ktorá pozostáva zo všetkých dát, takže na tejto vrstve bude väčšinou databáza ako napr. MySQL, Oracle, DB2 alebo PostgreSQL.
Ďalšie viacvrstvové architektúry
Trojvrstvová architektúra je široko používaná na vývoj aplikácií, existuje niekoľko ďalších architektúr, ako je uvedené nižšie.
Dvojvrstvová architektúra
Ide o základnú softvérovú architektúru, ktorá pozostáva z dvoch vrstiev alebo vrstiev, jedna je klient a druhá je server, každá vrstva má vlastnú zodpovednosť a sú navzájom prepojené alebo na sebe závislé.
Úroveň klienta
Klientska vrstva je najvyššia vrstva, ktorá je ako používateľské rozhranie a interakčná časť aplikácie. funguje ako webový prehliadač, desktopová aplikácia alebo mobilná aplikácia, prostredníctvom ktorej používateľ komunikuje s aplikáciou. Je zodpovedný za prezentáciu údajov a spracovanie vstupu aplikácie.
slf4j vs log4j
Úroveň servera
Serverová vrstva je spodná vrstva, ktorá obsahuje logiku, ktorú potrebujeme na spracovanie a správu údajov.
Architektúra N-Tier
N-Tier Architecture, tiež známa ako Multi-Tier Architecture, rozdeľuje aplikáciu do rôzneho počtu úrovní na základe ich zložitosti a požiadaviek. Nasledujú niektoré úrovne zahrnuté v architektúre.
- Prezentačná úroveň (klientska úroveň)
- Úroveň aplikácie (stredná úroveň alebo úroveň obchodnej logiky)
- Úroveň údajov (úroveň ukladania údajov alebo úroveň databázy)
- Úroveň služieb (obchodné služby alebo aplikačné služby)
- Úroveň integrácie (integračné služby).
Výhody trojvrstvovej architektúry
- Medzi prezentačnou vrstvou, aplikačnou vrstvou a databázovou vrstvou sa zachováva logické oddelenie.
- Vylepšenie výkonu, keďže úloha je rozdelená na viacero strojov v distribuovaných strojoch a navyše každá vrstva je nezávislá od ostatných vrstiev.
- Rastúci dopyt po pridávaní ďalších serverov sa dá zvládnuť aj v architektúre, pretože vrstvy možno škálovať nezávisle.
- Vývojári sú pri aktualizácii technológie jednej vrstvy nezávislí, pretože by to nemalo vplyv na ostatné úrovne.
- Spoľahlivosť sa zvyšuje vďaka nezávislosti úrovní, pretože problémy jednej úrovne by nemali vplyv na ostatné úrovne.
- Programátori môžu jednoducho udržiavať databázu, prezentačný kód a obchodnú/aplikačnú logiku oddelene. Ak je potrebná akákoľvek zmena v obchodnej/aplikačnej logike, neovplyvní prezentačný kód a kódovú základňu.
- Zaťaženie je vyvážené, pretože úloha prezentačnej vrstvy je oddelená od servera dátovej vrstvy.
- Zabezpečenie je vylepšené, pretože klient nemôže komunikovať priamo s databázovou vrstvou. Okrem toho sa údaje pred prechodom na úroveň databázy overia na aplikačnej vrstve.
- Integrita údajov je zachovaná.
- Poskytovanie nasadenia do rôznych databáz namiesto toho, aby ste sa obmedzovali na jednu konkrétnu technológiu.
Nevýhody trojvrstvovej architektúry
- Prezentačná vrstva nemôže komunikovať priamo s databázovou vrstvou.
- Zložitosť sa tiež zvyšuje s nárastom úrovní v architektúre.
- Počet zdrojov sa zvyšuje, pretože kódovú základňu, prezentačný kód a kód aplikácie je potrebné udržiavať oddelene.
Časté otázky o trojvrstvovej architektúre
1. Trojvrstvová architektúra v DBMS
The systém správy databáz (DBMS) je rozdelená do troch logických a fyzických vrstiev: prezentačná vrstva, aplikačná vrstva a databázová vrstva. Toto je známe ako trojvrstvová architektúra v DBMS.
2. Trojvrstvová architektúra v C#
A C# Aplikácia je rozdelená do troch logických a fyzických vrstiev: prezentačná vrstva, aplikačná vrstva a dátová vrstva. Toto je známe ako trojvrstvová architektúra.
3. Trojvrstvová architektúra v AWS (Amazon Web Services)
Trojvrstvová architektúra v Amazon Web Services (AWS) sa vzťahuje na návrh webových aplikácií alebo služieb, ktoré využívajú cloudové zdroje a služby AWS na rozdelenie aplikácie do troch logických vrstiev. Každá vrstva má špecifické zodpovednosti a AWS poskytuje celý rad služieb na podporu implementácie tejto architektúry.
4. Trojvrstvová architektúra mobilných počítačov
Trojvrstvová architektúra v kontexte mobilnej výpočtovej techniky odkazuje na organizáciu mobilnej aplikácie alebo systému do troch logických vrstiev alebo vrstiev, z ktorých každá má špecifické zodpovednosti.