
Aplikační vrstva
Bylo by jistě nošením dříví do lesa tvrdit, že počítače jsou zde proto, aby dělaly něco užitečného, a vyjmenovávat, co všechno to může být. Přesto neuškodí přesněji vymezit pojem aplikace (aplikačního programu, aplikačního procesu, aplikační úlohy) jako té části programového vybavení, která zajišťuje ony "užitečné funkce", kvůli kterým se počítače vůbec používají. Protipólem je pak zbývající část programového vybavení, která zajišťuje fungování počítače jako takového, a jednotlivým aplikacím vytváří takové prostředí, ve kterém mohou úspěšně pracovat.Jde-li o samostatný počítač, jsou aplikacemi jednotlivé uživatelské programy, a "zbývající" částí programového vybavení je operační systém, který uživatelským programům zprostředkovává využití nejrůznějších zdrojů a prostředků daného počítače - disků, operační paměti, klávesnice, displeje, dalších V/V zařízení apod. V případě uzlů počítačové sítě je pak odlišnost pouze v tom, že síťový operační systém, který v sobě implementuje jednotlivé vrstvy vrstvového síťového modelu, zprostředkovává aplikacím navíc ještě všechno to, co vlastní síť nabízí - tedy především možnost komunikace s aplikacemi, běžícími na jiných uzlových počítačích, případně i přístup k technickým prostředkům jiných uzlových počítačů atd.
Nyní již si můžeme přesněji vymezit funkci aplikační vrstvy (application layer) v rámci referenčního modelu ISO/OSI. V prvním přiblížení lze říci, že je určena k tomu, aby aplikacím poskytovala přístup do prostředí sítě na bázi ISO/OSI modelu, tedy aby fungovala jako jakési okno (či brána) mezi aplikacemi na různých uzlových počítačích, které si chtějí vzájemně vyměňovat nějaké informace.
![]() |
Tato představa znamenala, že jednotlivé aplikace (resp. ty jejich části, které tvořily aplikační entity) si musely samy zajišťovat všechny služby, potřebné na úrovni aplikační vrstvy (a to pomocí služeb, poskytovaných resp. zprostředkovaných prezentační vrstvou). Referenční model ISO/OSI tyto služby na úrovni aplikační vrstvy nijak podrobněji nespecifikoval, pouze je vymezil jako "takové, které jsou potřeba pro vzájemnou komunikaci mezi otevřenými systémy, a nejsou zajišťovány na nižších úrovních". Nespecifikoval samozřejmě ani žádné protokoly, prostřednictvím kterých by služby aplikační vrstvy měly být realizovány.
Jednotlivé protokoly pro aplikační vrstvu vznikaly až dodatečně, v průběhu práce na implementaci síťových aplikací různého typu. Přitom se ale ukázalo, že většina těchto aplikací má mnoho společného, a tudíž se nevyplatí, aby si každá z nich vždy znovu implementovala to, co na úrovni aplikační vrstvy potřebuje. Proto se původní představa referenčního modelu změnila: zajištění služeb na úrovni aplikační vrstvy bylo svěřeno aplikačním entitám, které ale již nejsou součástí jednotlivých aplikací, ale jsou naopak součástí síťového programového vybavení.
![]() |
![]() |
Nespojovaná komunikace na úrovni aplikační vrstvy, realizovaná jako výměna krátkých zpráv, má vesměs charakter vzdáleného volání procedur (remote procedure call, v terminologii ISO: vzdálených operací, remote operation), při kterém přenášené zprávy žádají o provedení určité akce (provedení resp. volání procedury), resp. vrací její výsledky. Pro zajištění takovéhoto způsobu komunikace je pak určen jiný druh podpůrného prvku (prvku CASE), a to ROSE (Remote Operations Service Element).
Dalším příkladem podpůrného prvku je prvek CCR (Commitment, Concurrency and Recovery), který je určen především pro koordinaci vzájemné součinnosti více uzlů a pro implementaci transakčního zpracování v sítích. Umožňuje dosáhnout toho, aby posloupnost operací, vyžádaná jedním uzlem a prováděná na jiném uzlu, se vždy provedla buďto celá, nebo se neprovedla vůbec, bez ohledu na případné výpadky, poruchy apod.
Mezi specifické aplikační služby, které mají na starosti prvky CASE, patří například přenos souborů, elektronická pošta, vzdálené terminálové relace apod. Referenční model ISO/OSI přitom předpokládá, že tyto služby budou implementovány tak, aby se vůči vlastním aplikačním procesům "tvářily" vždy stejně, jako jediné virtuální zařízení (virtual device). Nejmarkantnější je tento přístup na způsobu, jakým se model ISO/OSI vyrovnává se značnou různorodostí používaných terminálů, lišících se svými parametry, způsobem ovládání apod. Mechanismus, umožňující terminálu jednoho uzlového počítače vystupovat v roli (lokálního) terminálu jiného počítače, počítá s existencí tzv. virtuálního terminálu. Jde vlastně o abstrakci, o hypotetický terminál, který nemusí ve skutečnosti vůbec existovat, ale který se vždy chová stejně. Uzlový počítač pak může předpokládat, že pracuje vždy jen s tímto jediným typem (virtuálního) terminálu, zatímco ve skutečnosti pracuje s terminálem jiným. Potřebné přizpůsobení mezi virtuálním terminálem a skutečně používaným terminálem pak zajišťuje až konkrétní aplikační proces, který "svůj" terminál dobře zná a dokáže ovládat.
Podobně je tomu i v případě přenosu souborů mezi odlišnými a vzájemně neslučitelnými souborovými systémy (které se mohou lišit například ve vnitřní organizaci souborů a adresářů, v konvencích pro jejich jména apod.). Zda se opět zavádí společný "mezitvar" v podobě virtuálního systému souborů, se kterým aplikační entity dokáží pracovat.
Pokud síťová aplikace potřebuje jiné služby, než jaké jsou jí nabízeny v souvislosti s představou virtuálního zařízení, musí si je sama podle svých konkrétních potřeb upravit. V rámci většiny aplikací lze proto ještě vymezit vrstvu, která zajišťuje potřebné přizpůsobení resp. zamapování virtuálního zařízení z/do skutečného - tedy např. "mapování" virtuálního terminálu do konkrétního reálného terminálu, "mapování" reálného systému souborů do virtuálního apod. V terminologii ISO/OSI modelu se tato vrstva označuje jako (uživatelský) prvek UE (User Element) - viz obrázek 38.2.
Pro specifické služby na úrovni aplikační vrstvy (poskytované prvky SASE, viz výše), byly a jsou postupně vytvářeny potřebné protokoly. Většina z nich dnes již má formu mezinárodních standardů resp. norem (IS, International Standards), jiné jsou zatím ještě ve stádiu návrhů norem (DIS, Draft International Standard). Jejich stručný přehled obsahuje tabulka 38.4., která uvádí také obdobně zaměřené aplikační protokoly v "konkurenční" soustavě protokolů TCP/IP.
zkratka | název | protokol je určen pro: | obdobně zaměřený protokol TCP/IP |
VT | Virtual Terminal | virtuální terminály | Telnet |
FTAM | File Transfer, Access and Management | přenos a sdílení souborů | FTP |
MOTIS | Message Oriented Text Interchange Standard ISO verze standardu CCITT X.400 pro elektronickou poštu | elektronickou poštu | SMTP, RFC822 |
CMIP | Common Management Information Protocol | správu sítí | SNMP |
JTM | Job Transfer and Manipulation | zadávání úloh na dálku | |
MMS | Manufacturing Messaging Service | přenos zpráv v prostředí výroby | |
RDA | Remote Database Access | přístup do vzdálených databází |