logo

Třívrstvá architektura klientského serveru v distribuovaném systému

V tomto článku se podrobně podíváme na třívrstvou architekturu klient-server. Nejběžnější typ vícevrstvé architektury v distribuované systémy je třívrstvá architektura klient-server. V této architektuře je celá aplikace organizována do tří výpočetních vrstev

  • Prezentační vrstva
  • Aplikační vrstva
  • Datová vrstva

Hlavní výhodou tří vrstev v architektuře klient-server je to, že tyto vrstvy jsou vyvíjeny a udržovány nezávisle a v případě jakékoli úpravy by to nemělo vliv na ostatní vrstvy. Umožňuje lepší výkon a lze dosáhnout ještě větší škálovatelnosti architektury, protože s rostoucí poptávkou lze přidat více serverů.



Co je třívrstvá architektura?

Třívrstvá architektura je dobře zavedený vzor návrhu softwarových aplikací, který organizuje aplikaci ve třech logických a fyzických počítačových vrstvách takto:

  • Prezentační vrstva
  • Aplikační vrstva
  • Datová vrstva

Tři úrovně v detailu

Prezentační vrstva

Je to uživatelské rozhraní a nejvyšší vrstva v architektuře. Jeho účelem je převzít požadavek od klienta a zobrazit informace klientovi. Komunikuje s ostatními vrstvami pomocí webového prohlížeče, protože poskytuje výstup v prohlížeči. Pokud mluvíme o webových vrstvách, pak jsou vyvíjeny pomocí jazyků, jako je HTML , CSS , JavaScript.

Aplikační vrstva

Je to střední vrstva architektury známá také jako logická vrstva, protože zde jsou podrobně zpracovány informace/požadavky shromážděné prostřednictvím prezentační vrstvy. Také spolupracuje se serverem, který ukládá data. Zpracuje požadavek klienta, naformátuje jej a odešle zpět klientovi. Vyvíjí se pomocí jazyků jako např. Krajta , Jáva , PHP atd.



Datová vrstva

Je to poslední vrstva architektury známá také jako vrstva databáze. Slouží k ukládání zpracovaných informací, aby je bylo možné v případě potřeby později načíst. Skládá se z databázových serverů, např. Věštec , MySQL, DB2 atd. Komunikace mezi Presentation Tier a Data-Tier se provádí pomocí střední vrstvy, tj. aplikační vrstvy.

java string.format

Třívrstvá architektura

Úroveň vs. vrstva

Tier



Vrstva

Úroveň označuje fyzické oddělení komponent.

Vrstva odkazuje na logické oddělení aplikace.

Vrstvy jsou fyzicky oddělené a na různých počítačích běží servery.

Vrstvy jsou logicky oddělené, ale běží na stejných serverech nebo počítačích.

Škálovatelnost aplikace je velmi vysoká.

Škálovatelnost aplikace je střední.

Mezi běžné vrstvy ve vícevrstvé architektuře patří prezentační vrstva (uživatelské rozhraní), aplikační vrstva (obchodní logika) a datová vrstva (databáze).

Každá vrstva se zaměřuje na specifické odpovědnosti, jako je prezentace, obchodní logika a přístup k datům, v rámci jedné vrstvy.

Třívrstvá aplikace ve vývoji webu

Webová aplikace bude mít stejné vrstvy jako tři architektury, ale rozdíl je pouze v tom, že mají různé názvy.

linuxové chybové kódy
  1. Webový server: Webový server je prezentační vrstva třívrstvé architektury, která funguje jako prezentační vrstva nebo vrstva UI (User Interface). Tento obsah může být statický nebo dynamický na základě požadavků, jako je web elektronického obchodu, kde mohou uživatelé přidávat produkty do nákupního košíku, zadávat platební údaje nebo si vytvořit účet.
  2. Aplikační server: Aplikační vrstva je střední vrstva, která obsahuje úplnou logiku, která je vyžadována pro podnik, který bude zpracovávat uživatelské vstupy a tak dále. Bude provádět logické dotazy v databázi inventáře, aby vrátil dostupnost produktu nebo přidal podrobnosti do profilu zákazníka.
  3. Databázový server: Toto je back-end vrstva webové aplikace, která se skládá ze všech dat, takže tato vrstva většinou bude databází, jako je např. MySQL, Oracle, DB2 nebo PostgreSQL.

Další vícevrstvé architektury

Třívrstvá architektura je široce používaná pro vývoj aplikací, existují některé další architektury, jak je uvedeno níže.

Dvouvrstvá architektura

Jedná se o základní softwarovou architekturu, která se skládá ze dvou vrstev nebo vrstev, jedna je klient a druhá je server, každá vrstva má vlastní odpovědnost a jsou vzájemně propojené nebo na sobě závislé.

Klientská úroveň

Klientská vrstva je nejvyšší vrstva, která je jako uživatelské rozhraní a interakční část aplikace. funguje jako webový prohlížeč, desktopová aplikace nebo mobilní aplikace, prostřednictvím které uživatel komunikuje s aplikací. Je odpovědný za prezentaci dat a zpracování vstupu aplikace.

Úroveň serveru

Serverová vrstva je spodní vrstva, která obsahuje logiku, kterou potřebujeme ke zpracování a správě dat.

Architektura N-Tier

N-Tier Architecture, známá také jako Multi-Tier Architecture, rozděluje aplikaci do různého počtu vrstev na základě složitosti a požadavků. níže jsou uvedeny některé úrovně zahrnuté v architektuře.

  • Prezentační úroveň (klientská úroveň)
  • Úroveň aplikací (střední úroveň nebo úroveň obchodní logiky)
  • Datová vrstva (úroveň úložiště dat nebo vrstva databáze)
  • Úroveň služeb (obchodní služby nebo aplikační služby)
  • Úroveň integrace (integrační služby).

Výhody třívrstvé architektury

  • Mezi prezentační vrstvou, aplikační vrstvou a vrstvou databáze je zachováno logické oddělení.
  • Vylepšení výkonu, protože úloha je rozdělena na více strojů v distribuovaných strojích a navíc každá vrstva je nezávislá na ostatních vrstvách.
  • Zvyšující se poptávka po přidání dalších serverů může být také řešena v architektuře, protože vrstvy lze škálovat nezávisle.
  • Vývojáři jsou nezávislí na aktualizaci technologie jedné vrstvy, protože by to neovlivnilo ostatní úrovně.
  • Spolehlivost je zlepšena nezávislostí úrovní, protože problémy jedné úrovně by neovlivnily ostatní.
  • Programátoři mohou snadno spravovat databázi, prezentační kód a obchodní/aplikační logiku samostatně. Pokud je vyžadována jakákoliv změna v obchodní/aplikační logice, nemá to vliv na prezentační kód a kódovou základnu.
  • Zatížení je vyvážené, protože úloha prezentační vrstvy je oddělena od serveru datové vrstvy.
  • Zabezpečení je vylepšeno, protože klient nemůže komunikovat přímo s databázovou vrstvou. Kromě toho jsou data před předáním do databázové vrstvy ověřována na aplikační vrstvě.
  • Integrita dat je zachována.
  • Poskytování nasazení do různých databází spíše než se omezovat na jednu konkrétní technologii.

Nevýhody třívrstvé architektury

  • Prezentační vrstva nemůže komunikovat přímo s databázovou vrstvou.
  • Složitost se také zvyšuje s nárůstem úrovní v architektuře.
  • Dochází k nárůstu počtu zdrojů, protože kódovou základnu, prezentační kód a kód aplikace je třeba udržovat samostatně.

Často kladené otázky o třívrstvé architektuře

1. Třívrstvá architektura v DBMS

The systém pro správu databází (DBMS) je rozdělena do tří logických a fyzických vrstev: prezentační vrstva, aplikační vrstva a databázová vrstva. Toto je známé jako třívrstvá architektura v DBMS.

2. Třívrstvá architektura v C#

A C# aplikace je rozdělena do tří logických a fyzických vrstev: prezentační vrstva, aplikační vrstva a datová vrstva. Toto je známé jako třívrstvá architektura.

3. Třívrstvá architektura v AWS (Amazon Web Services)

Třívrstvá architektura v Amazon Web Services (AWS) odkazuje na návrh webových aplikací nebo služeb, které využívají cloudové zdroje a služby AWS k rozdělení aplikace do tří logických vrstev. Každá vrstva má specifické odpovědnosti a AWS poskytuje řadu služeb na podporu implementace této architektury.

4. Třívrstvá architektura mobilní výpočetní techniky

Třívrstvá architektura v kontextu mobilní výpočetní techniky odkazuje na organizaci mobilní aplikace nebo systému do tří logických vrstev nebo vrstev, z nichž každá má specifické odpovědnosti.