2.3. Vícevrstvá architektura

Při použití vícevrstvé architektury jsou komponenty rozděleny podle svého typu do oblastí zvané vrstvy. Tyto vrstvy bývají instalovány na různých počítačích. Java EE používá tzv. čtyřvrstvou architekturu, jejíž jednotlivé vrstvy jsou vidět na obrázku 2.2.

Vrstvy v Java EE (zdroj: )

Obrázek 2.2. Vrstvy v Java EE (zdroj: [8])


Java EE platforma se zaměřuje na vývoj ve webové a business vrstvě, které běží na aplikačním serveru. Jelikož tyto dvě vrstvy obvykle běží na stejném stroji, jsou někdy dohromady označovány jako střední vrstva.[4] Pokud porovnáte obrázky 2.1 a 2.2, zjistíte, že v klientské, webové a business vrstvě běží také příslušné kontejnery (o kontejnerech jsme mluvili v sekci 2.2.1 – „Kontejnery“).

2.3.1. Klientská vrstva

Klientskou vrstvu představuje aplikace, která ani nemusí být napsána v Javě. Dva základní typy klientů jsou webový prohlížeč a klientská aplikace. Hlavní úlohou klienta je zasílat požadavky střední vrstvě, přijímat od ní odpovědi a prezentovat je uživateli.

Každý z těchto dvou typů klientů to však dělá trošku jiným způsobem. Webový prohlížeč komunikuje s webovou vrstvou pomocí HTTP protokolu. Webová vrstva následně interpretuje klientské požadavky business vrstvě, která je obsluhuje. Odpověď pak putuje zpět po stejném řetězci.

Klientská aplikace může rovněž komunikovat s webovou vrstvou. Na rozdíl od webového prohlížeče ji však může také přeskočit a komunikovat přímo s EJB komponentami v business vrstvě.

2.3.2. Webová vrstva

Webová vrstva je tvořena servlety, JSP a JSF soubory a případně také JavaBeans[5] komponentami. Tyto komponenty zpracovávají klientské požadavky a generují odpověď, která je následně zaslána do webového prohlížeče klienta.[6] Při zpracovávání odpovědi může webová vrstva komunikovat s business vrstvou a získávat od ní určité informace.

2.3.3. Business vrstva

Zde leží jádro celé aplikace. Veškerá logika a funkcionalita by měla být uložena v business vrstvě, konkrétně v EJB komponentách. Ty přijímají požadavky od klientské a webové vrstvy a na jejich základě pracují se zdroji z EIS vrstvy. Následně zasílají odpověď zpět klientské respektive webové vrstvě.

2.3.4. Enterprise Information System (EIS) vrstva

Tato vrstva představuje veškeré externí systémy, jejichž funkcionalitu či data enterprise aplikace využívá. Může se jednat například o ERP systém, databázový systém atp. [7]. Komunikaci s EIS zpravidla zajišťuje business vrstva.



[4] Proto se někdy můžete setkat také s označením třívrstvá architektura.

[5] Pro více informací o JavaBeans komponentách viz http://java.sun.com/docs/books/tutorial/javabeans.

[6] V naprosté většině případů se jedná o HTTP komunikaci. Java servlety jsou však schopny komunikovat pomocí jakéhokoliv protokolu, který je založen na principu request-response. Stejně tak JSF soubory umí generovat i jiný výstup než jen HTML kód.

Creative Commons License
Uvedená práce (dílo), jejímž autorem je Bc. David Hanel, podléhá licenci Creative Commons Uveďte autora-Neužívejte dílo komerčně-Zachovejte licenci 3.0 Česko.