Technologia trójwarstwowa

client-serverWraz ze wzrostem złożoności systemów informatycznych pojawiło się zapotrzebowanie na separację komponentów, odpowiedzialnych za poszczególne zadania. Architektura trójwarstwowa aplikacji to architektura typu klient-serwer, w której interfejs użytkownika, przetwarzanie danych i składowanie danych są rozwijane w postaci osobnych programów – modułów.

System zbudowany w technologii trójwarstwowej ma oddzielone warstwy prezentacji, logiki biznesowej i bazodanowej.
Trójwarstwowa aplikacja webowa po stronie użytkownika uruchamiana jest z poziomu przeglądarki internetowej. Do uruchomienia aplikacji nie jest wymagane, oprócz przeglądarki internetowej, inne oprogramowanie. Dzisiejsze aplikacje dostępna są w wersjach współpracujących z bazą danych Oracle, MS SQL lub MySQL.

W architekturze tej wyróżnia się następujące warstwy:

  • Warstwa prezentacji (ang. presentation tier) – odpowiedzialna za interakcję z użytkownikiem końcowym – wyświetlanie i wprowadzanie danych.
  • Warstwa biznesowa (ang. business tier) – odpowiedzialna za przetwarzanie danych – żądań od użytkownika.
  • Warstwa danych (ang. persistance tier) – odpowiedzialna za przechowywane danych. W tej warstwie mamy silnik bazy danych.

Aplikacja trójwarstwowa jest skalowalnym systemem, który może być wykorzystywany przez średnie, duże firmy oraz wielo-oddziałowe korporacje. Dla większych instalacji wskazane jest oddzielenie serwerów bazodanowych, serwerów aplikacji i serwerów sesji. Każda z grup serwerów może być odpowiednio skalowana do potrzeb firmy i rozwijana wraz z rozszerzeniem zakresu wdrożenie, co daje duża elastyczność przy wdrażaniu systemu.

Korzystając w aplikacji webowych najczęściej nieświadomie używamy aplikacji w architekturze trójwarstwowej.
W przypadku skomplikowanych aplikacji, w których współdziałają z sobą setki lub tysiące obiektów i komponentów, nie ma lepszych rozwiązań niż wielowarstwowa architektura oparta na standardach przemysłowych (CORBA, EJB, DCOM).
Aplikacje w architekturze trójwarstwowej to np. Comarch czy MacroSoft.