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';