Sobes.tech
Junior

Povězte nám o dvouúrovňové klient-serverové architektuře (2-Tier).

sobes.tech AI

Odpověď od AI

V architektuře se dvěma vrstvami jsou dva hlavní komponenty: klient a server.

  • Klient (Prezentační vrstva): Odpovídá za interakci s uživatelem a prezentaci dat. Může to být desktopová aplikace, webový prohlížeč atd. Celá logika uživatelského rozhraní a část podnikové logiky může být na straně klienta.
  • Server (Datová vrstva): Odpovídá za ukládání a správu dat, obvykle pomocí databáze. Klient posílá požadavky přímo na server pro získání, přidání, změnu nebo odstranění dat.

Výhody:

  • Snadný vývoj a nasazení pro malé aplikace.
  • Vysoký výkon při malém počtu uživatelů, protože chybí mezivrstva.

Nevýhody:

  • Omezená škálovatelnost: při zvyšování počtu klientů může výkon klesat kvůli zátěži na databázovém serveru.
  • Duplikace podnikové logiky: některá podniková logika může být implementována jak na klientovi, tak na serveru, což ztěžuje údržbu.
  • Složitost podpory: změny v podnikové logice nebo databázi často vyžadují aktualizaci všech klientů.
  • Bezpečnostní problémy: přímé požadavky od klienta na databázi mohou představovat hrozbu.

Scénáře použití:

  • Jednoduché desktopové aplikace s omezeným počtem uživatelů.
  • Intranetové aplikace v malých firmách.

Příklad:

Jednoduchá desktopová aplikace evidence, která přímo přistupuje k souborové databázi (například Access).

-- Příklad SQL dotazu z klienta na server
SELECT * FROM Customers WHERE City = 'Moscow';