Popište členění softwarových aplikací do tří vrstev, popište účel a odpovědnost jednotlivých vrstev. Zmiňte, jakými technologiemi mohou být tyto vrstvy realizovány.: Porovnání verzí

Řádek 2: Řádek 2:
 
==Členění softwarových aplikací==
 
==Členění softwarových aplikací==
  
Třívrstvá architektura:
+
'''Třívrstvá architektura:'''
Jeden z typů architektury informačních systémů, odděluje jednotlivé vrstvy tak, aby na sobě nebyly závislé. Využívá se především pro tvorbu robustnějších softwarů. Výhody: pružnější rozdělení výkonu mezi zařízení uživatele a server, prezentační vrstva může běžet i na velmi levných zařízeních.
+
Jeden z typů architektury informačních systémů (resp. aplikací), odděluje jednotlivé vrstvy tak, aby na sobě nebyly závislé. Jejím předchůdcem byla dvouvrstvá architektura. Využívá se především pro tvorbu robustnějších softwarů. Třívrstvá architektura se využívá především pro tvorbu robustnějších softwarů.  
  
 
'''K čemu je třívrstvá architektura v praxi?'''
 
'''K čemu je třívrstvá architektura v praxi?'''
Řádek 23: Řádek 23:
  
 
===Datová (databázová) vrstva===
 
===Datová (databázová) vrstva===
Jedná se o nejnižší vrstva modelu, zajišťuje práci s daty. Základní operace: ukládání dat do souboru, nebo databáze. Ty mohou být opět desktopové nebo serverové. Dále pak agregace, předzpracování, integrita a audit dat. Žádný systém neběží bez databáze.  
+
Jedná se o nejnižší vrstva modelu, která zajišťuje práci s daty. Žádný systém bez této databáze nemůže fungovat.
 +
'''Základní operace:''' ukládání dat do souboru, nebo databáze, výběr dat, agregace dat, předzpracování dat, integrita dat či audit dat.  
 +
 
 +
Ty mohou být opět desktopové nebo serverové. Dále pak agregace, předzpracování, integrita a audit dat. Žádný systém neběží bez databáze.  
  
 
===Aplikační vrstva===
 
===Aplikační vrstva===

Verze z 3. 3. 2020, 13:55

Stránka ve výstavbě
Inkwell icon - Noun Project 2512.svg Na této stránce se právě pracuje. Prosím needitujte tuto stránku, dokud na ní zůstává tato šablona. Předejdete tak editačnímu konfliktu. Jestliže uběhla od poslední editace doba alespoň dvou dnů, neváhejte tuto šablonu odstranit. Inkwell icon - Noun Project 2512.svg

Členění softwarových aplikací

Třívrstvá architektura: Jeden z typů architektury informačních systémů (resp. aplikací), odděluje jednotlivé vrstvy tak, aby na sobě nebyly závislé. Jejím předchůdcem byla dvouvrstvá architektura. Využívá se především pro tvorbu robustnějších softwarů. Třívrstvá architektura se využívá především pro tvorbu robustnějších softwarů.

K čemu je třívrstvá architektura v praxi?

Třívrstvou architekturu využívá velké množství aplikací, které pracují s daty. Takto je postavena většina moderních podnikových aplikací, některá portálová řešení a webové stránky. Tří a více vrstvá architektura je v dnešní době trendem a využívá se pro tvorbu robustnějších řešení. Její výhodou je pružnější rozdělení výkonu mezi zařízení uživatele a server, prezentační vrstva může běžet i na velmi levných zařízeních.[1]

Výhody

  • zatížení systému je úměrně rozděleno mezi servery, konkrétně mezi databázový server, několik aplikačních serverů a velké množství klientů;
  • rychlá komunikace mezi databázovými a aplikačními servery. Většinou je propojení aplikačních a databázových serverů řešeno prostřednictvím rychlépáteřní sítě;
  • u větších systémů je většinou implementovaná funkcionalita pro dynamicképřesměrování zátěže, tím se docílí optimální využití strojového času aplikačních11 serverů a usnadní se zálohování;
  • v případě havárie aplikačního serveru, je zastoupen ostatními servery;
  • snadná implementace různých klientů v rámci jednoho aplikačního serveru. Tímto krokem získávám možnost přizpůsobení klienta různým cílovým skupinám;
  • klient může běžet na nezávislém prostředí a stroji, což v praxi znamená,že aplikační server dokáže obsloužit různé typy počítačů s různými operačními systémy
  • architekturu lze uplatnit jak na jednom počítači tak ve velkých multiplatformních systémech.

Nevýhody

  • systém využívající třívrstvou architekturu je mnohem těžší správně navrhnoutnež systém dvojvrstvý. Je velice důležité oddělit jednotlivé vrstvy14i z pohledumožného budoucího využití;
  • implementace systému je většinou dost složitá, velmi často se kombinují různé platformy včetně různých operačních systémů. Tím se zvyšují nároky na znalosti administrátorů, čímž se úměrně navyšuje i cena.[2]

Datová (databázová) vrstva

Jedná se o nejnižší vrstva modelu, která zajišťuje práci s daty. Žádný systém bez této databáze nemůže fungovat. Základní operace: ukládání dat do souboru, nebo databáze, výběr dat, agregace dat, předzpracování dat, integrita dat či audit dat.

Ty mohou být opět desktopové nebo serverové. Dále pak agregace, předzpracování, integrita a audit dat. Žádný systém neběží bez databáze.

Aplikační vrstva

Prostřední vrstva modelu, prezentuje data uživateli a promítá požadavky uživatele do datové vrstvy.

Síťové a aplikační protokoly:

  • TCP/IP pro přenos informací
  • HTTP
  • HTTPS

Programovací jazyky:

  • C++
  • JavaScript
  • PHP
  • Perl

Zobrazovací jazyky:

  • HTML
  • CSS
  • JavaScript

Hardware:

  • server (operační systém, databáze)
  • sítové prostředí (kabely pro připojení, routery)

Dotazovací jazyky:

  • SQL
  • CQL

Prezenční vrstva

Jde o to, co jde vidět a s čím uživatel interaguje. Zajišťuje vstup požadavků a prezentaci výsledků, je závislá na platformě, může být tedy různá pro různá zařízení či platformy. Může mít podoby pro uživatele a služební.

Tenký a silný klient

  • Tenký klient: důsledně oddělená aplikační logika od uživatelského rozhraní, typicky HTML prohlížeč bez rozšíření. Realizace tenkého klienta je řešená trochu jinak. Nad prezentační vrstvou je vrstva webového prohlížeče realizovaná skrze HTML.
  • Silný klient: část aplikační logiky je na klientské straně. Většinou z důvodů rychlejších odezev systému, s tím související menší přenos dat po síti a rozložení potřebné výpočetní kapacity mezi více procesorů (mezi jednotlivé klienty). Př. Jump, ArcExplorer, HTML s podporou JavaScriptu atd. [3]

Odkazy

Reference

  1. Třívrstvá architektura (Three-tier architecture). Management Mania [online]. [cit. 2020-03-02]. Dostupné z: https://managementmania.com/cs/trivrstva-architektura-three-tier-architecture
  2. VÍT, Pavel. Databázový interface v prezentační mezivrstvě. [online]. Praha, 2009, 61 s., Bakalářská práce. Bankovní institut vysoká škole Praha, Katedra počítačů. [cit. 2020-03-02]. Dostupné z: https://is.ambis.cz/th/bgequ/_Pavel_Vit_DBInterfacevPrezentacniMezivrtve_BIVS.pdf
  3. KAREL, Jedlička. Architektura GIS KMA/AGI. Fakulta aplikovaných věd [online]. [cit. 2020-03-03]

Doporučená literatura

  • DVOŘÁK, Radek. Databáze v prostředí webu. In Sborník konference Tvorba software 2004. Ostrava: Tanger s.r.o., 2004, s.38.43.
  • BOLLINGER, David a Bharathi NATARAJAN. JSP - Java Server Pages: podrobný průvodce začínajícího tvůrce. Praha: Grada, 2003. Moderní programování. ISBN 80-247-0340-8

Související články

Software
Programovací jazyk
Počítačová síť - internet
Informační architektura

Klíčová slova

členění softwarových aplikací, technologie, software, třívrstvá architektura