Vyšlo v příloze Softwarových novin, v květnu 2002
Vytištěno z adresy: http://www.earchiv.cz/b02/b0500004.php3

Třívrstvá architektura klient/server

Architektura klient/server pomohla snížit náklady na provoz a správu aplikací a zpřístupnila tyto aplikace pro větší počet platforem a typů zařízení. Ani ona však není dokonalá. Vyžaduje například, aby pro každou konkrétní aplikaci fungující v tomto režimu existoval specifický klient, který musí mít uživatel nainstalovaný na svém počítači. Z pohledu uživatele to pak znamená, že na svém počítači musí mít nainstalováno tolik různých klientů, kolik aplikací používá, a o každého takového klienta se musí sám starat (z hlediska jeho systémové správy). Stejně tak se uživatel musí učit pracovat s každým klientem samostatně, jeho specifickým "stylem práce".

Vhodnějším řešením je použití jediného univerzálního klienta, který by uživateli umožnil pracovat s různými aplikacemi. Takovouto možnost zavedla až tzv. třívrstvá architektura klient/server, která předpokládá rozdělení aplikace na 3 části:

  • Databázovou část, která zajišťuje "uskladnění" dat zpracovávaných aplikací
  • Aplikační logiku, neboli část zajišťující všechny funkce specifické pro danou aplikaci
  • Prezentační část, která zajišťuje styk s uživatelem - vytváří uživatelské rozhraní, předává výstupy uživateli a získává od něj jeho vstupy.

Hlavní výhodou tohoto řešení je možnost provozovat první dvě části v jednom exempláři, společně pro všechny uživatele. Těm navíc stačí mít klienta (realizujícího prezentační část), který již nemusí být závislý na konkrétní aplikaci, a tudíž může být univerzální a opakovaně využitelný i pro práci s jinými aplikacemi. V současné době je nejrozšířenější prezentační platformou ve výše uvedeném smyslu služba World Wide Web a klientem WWW browser.

Network Computing, tlustý a tenký klient

Neustálý růst nákladů na provoz osobních počítačů, zejména v organizacích a firmách s více uživateli, způsobovaný hlavně rostoucími náklady na systémovou správu, dal časem vzniknout i dalším změnám a pokusům o inovativní řešení. Jedním z nich byla i myšlenka, označovaná dodnes buď jako "Network Computing", či jako řešení na bázi tzv. "tenkých klientů".

Podstata je následující: klasický osobní počítač je dimenzován a "osazen" aplikacemi či alespoň jejich klientskými částmi takovým způsobem, aby byl připraven na jakékoli použití které jeho uživatel může potřebovat. Jinými slovy: aplikace se na tento počítač instalují dopředu, v očekávání že je uživatel bude chtít použít, a nikoli až v okamžiku, kdy se tak skutečně stane (kdy uživatel skutečně projeví zájem o jejich použití). V důsledku toho je klasické PC vybaveno mnoha aplikacemi, z nichž některé se nepoužívají vůbec nebo jen zřídka, ale přesto zabírají své místo na disku či dokonce v paměti, spotřebovávají čas procesoru atd. Počítač na to samozřejmě musí být dimenzován - což způsobuje, že požadavky na dimenzování počítačů (rozsahu paměti, velikost disků, rychlost procesoru atd.) neustále stoupají. S určitou nadsázkou to lze popsat také tak, že klasické PC neustále tloustne. Tím se stává i dražší a hlavně komplikovanější, což způsobuje již zmiňovaný nárůst nákladů na jeho systémovou správu, na podporu uživatelů atd. (celkově tzv. TCO, Total Cost of Ownership).

Jedno možné řešení je ponechat uživatelův počítač pouze minimálně vybavený (tedy "hubený", či "tenký"), ale umožnit mu, aby si vše potřebné odněkud stáhnul, jakmile to bude potřebovat. Tedy například v okamžiku, kdy uživatel projeví přání editovat nějaký dokument, si jeho počítač stáhne vhodný editor, spustí jej a nechá s ním uživatele pracovat. Až uživatel svou práci skončí, příslušný program je jednoduše zahozen (vymazán z paměti počítače).

Důležitou otázkou je jistě to, odkud si takovýto počítač bude potřebné aplikace stahovat. V zásadě je to jedno, vše potřebné si může stahovat odkudkoli zvnějšku - ze kteréhokoli serveru v síti, ke které je připojen. Výběr příslušného serveru, ze kterého si "tenký klient" stahuje vše potřebné, může být dokonce ponechán na síti jako takové a její vlastní inteligenci.

Z hlediska minimalizace nákladů na systémovou správu je ale nejdůležitější efekt, který to přináší: potřebné administrátorské zásahy se dělají centrálně, na jednom místě v síti (na příslušném serveru, ze kterého si pak počítače v roli tenkých klientů stahují vše potřebné). Naopak jednoduché počítače v roli tenkých klientů mají velmi nízké provozní náklady TCO (Total Cost of Ownership).

Hostované aplikace

Dalším řešením, které se začíná prosazovat v souvislosti s potřebou minimalizovat provozní náklady, jsou tzv. hostované aplikace (hosted applications). Jejich podstatu si lze představit jako určitý návrat k hostitelským počítačům a jejich terminálům, a k provozování aplikací v režimu host/terminál. I zde totiž jsou aplikace provozovány na centrálním místě (na tzv. aplikačním serveru), a uživatelé s nimi komunikují na dálku ze svých terminálů.

Rozdíl oproti modelu host/terminál je především ve způsobu komunikace aplikačního serveru s terminálem, který dnes umožňuje i práci v grafickém režimu (dříve, u hostitelských počítačů a klasických terminálů, bylo možné pracovat jen v uživatelsky mnohem méně přítulném znakovém režimu).

Výhody "hostovaných aplikací" (provozovaných na aplikačním serveru) jsou v zásadě stejné jaké byly již u původního modelu host/terminál: vše je na jednom místě, a tudíž i snáze a efektivněji spravovatelné. Na straně uživatelů je přitom možné použít poměrně jednoduchého klienta s minimálními nároky na správu.

Další specifickou výhodou je i podpora přístupu z různých platforem a různých typů zařízení - nezbytný klient může být zabudován například i do zařízení charakteru PDA nebo do mobilních telefonů.