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

Distribuované aplikace

Architektura klient/server, i její třívrstvá podoba, předpokládají rozdělení aplikace na dvě (resp. tři) různé části se specializovanými funkcemi. Stejně tak je ale možné i úplně jiné rozdělení aplikací na více částí a jejich provázání prostřednictvím vhodné formy vzájemné komunikace. Výsledkem pak jsou aplikace, které je možné označit jako distribuované - v tom smyslu, že mají více "roztroušených" částí, které společně pracují na určitém konkrétním úkolu (poskytování určité služby svému uživateli).

Pomyslnou "dělící čárou" pro rozklad aplikace na dílčí části přitom nemusí být jen různá funkčnost. Distribuovaná aplikace může zahrnovat i identické části, vhodně rozmístěné v určitém prostředí, které vzájemně spolupracují. Takovýto model se již delší dobu používá v oblasti správy sítí, kde distribuovány jsou "monitorovací části" které sledují dění v síti a hlásí jiné své nadřízené části (manažerovi) jakékoli nestandardní situace a jevy.

Inteligentní agenti

Zajímavou variantou distribuovaných aplikací jsou taková řešení, která předpokládají že jednotlivé části aplikací mají značnou míru autonomie a vlastních schopností. Jejich cílem již není "zůstávat na místě" a vykonávat určitou stále stejnou činnost (typu monitorování aktuálního stavu sítě). Místo toho budou mít tyto části povahu samostatných modulů (agentů), které mají určitý úkol, a při jeho plnění se mohou samy autonomně rozhodovat o svých dalších krocích, a mj. se třeba i přemisťovat v síti. Obvykle se takovéto řešení označuje jako řešení na bázi tzv. inteligentních agentů (protože zmíněné moduly se skutečně chovají jako inteligentní agenti kteří plní určité poslání).

Princip fungování může být takový, že uživatel zadá agentům určitý úkol, načež je "vypustí" do sítě a oni již dále fungují autonomně. Samozřejmě přitom zasílají zpět výsledky své práce. Příkladem může být inteligentní vyhledávání, kdy agenti hledají v síti určitý zdroj, objekt, informaci apod.

Webové služby

Základním charakteristickým rysem všech dosud popisovaných forem a podob aplikací bylo to, že jejich uživatelem je člověk. Je ale toto skutečně nezbytné? Měly by smysl takové aplikace, které by poskytovaly své služby někomu jinému než lidem? Odpověď je kladná: proč by nemohly existovat a být užitečné i takové aplikace, které poskytují své služby například zase dalším aplikacím?

Motivací pro vznik "aplikací pro aplikace" může být snaha vytvářet nové aplikace na stavebnicovém principu a z existujících modulů skládat dohromady větší celky, lépe šité na míru konkrétním potřebám konkrétních uživatelů. V takovémto případě mohou být "aplikace sloužící aplikacím" vhodnými stavebními bloky, ze kterých se výsledek dá snadno a rychle sestavit. Jen je kromě nich zapotřebí ještě vhodné "zastřešení", neboli něco co umožní zakomponovat do sebe tyto komponenty a zprostředkuje komunikaci s uživatelem.

Samozřejmě musí být vhodně vyřešeno i to, jak budou spolu jednotlivé komponenty (stavební bloky) komunikovat. Možností je celá řada, od proprietárních až po řešení založená na veřejných standardech. Dnes se například dosti intenzivně rozvíjí aplikační komponenty používající ke komunikaci se svým okolím protokoly používané v rámci služby WWW. Ne nadarmo se jim pak říká "webové služby".

V další části tohoto textu si o takto koncipovaných aplikačních komponentách i o jejich "zastřešení" ve formě informačního portálu budeme povídat podrobněji.