Logika aplikacji podzielona jest na komponenty. Każdy komponent pełni inne funkcje. Wyróżniamy następujące warstwy aplikacji:
-kliencka Client Tier
-webowa Web Tier
-biznesowa Business Tier
-informacyjna Eis Tier
Klient web jest to przeglądarka WWW, która wyświetla strony otrzymane z serwera. Strony WWW są dynamicznie generowane w postaci dokumentów (HTML/XHTML,XML). Za generowanie odpowiadają komponenty webowe, które uruchamiane są w warstwie web.
Komponenty webowe są to:
-serwlety
-strony JSP i JSF
Warstwa kliencka i webowa zazwyczaj traktowane są jako warstwa prezentacji.Podział taki pozwala skupić się na samym aspekcie wizualizacji bez wgłębiania się w szczegóły logiki biznesowej.
Warstwa biznesowa jej zadaniem są głównie np:obliczenia, operacje na danych,itp. Korzysta głównie z komponentów warstwy webowej i biznesowej (EJB - Enterprise JavaBeans).
Warstwa danych(informacyjna) inaczej warstwa EIS (Enterprise Information Systems) obejmuje wszelkie źródła danych dla warstwy logiki biznesowej. Takimi źródłami są między innymi: bazy danych, systemy informatyczne już istniejące w danym przedsiębiorstwie.