Webová aplikace

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Metody přenosu dat od klienta na server)
(Webový server a jeho funkce ve webové aplikaci)
Řádka 38: Řádka 38:
  
 
== Webový server a jeho funkce ve webové aplikaci ==
 
== Webový server a jeho funkce ve webové aplikaci ==
 +
Samotná aplikace je umístěna na webovém serveru (řekněme centrálně), kam se k ní můžou připojit ostatní uživatelé. Webový server zpřístupňuje aplikaci uživatelům (klientům - skrz webový prohlížeč) a je na něm spouštěna samotná aplikace, která reaguje na uživatelovi podněty - vypiš XYZ, vlož ABC, smaž DGX, apod.
  
 +
Nejpoužívanějším webovým serverem je '''Apache'''. Jedná se open-source projekt, který tak lze zdarma šířit, upravovat a měnit. Apache je velice komplexní a robustní server. Z toho důvodu je mu někdy vyčítána komplikovanost (např. komplikovaná změna nastavení - existují desítky různých konfiguračních voleb - direktiv).
  
 +
Často nasazovaným je také webserver '''nginx''' (čti engine-x). Ten je zaměřen především na vysoký výkon. Základním cílem je rychlá distribuce statického obsahu a možnost rozložení zátěže na další servery dle nastavené priority. Často bývá nasazován tam, kde je nutné poskytnout uživateli přístup k velkému množství statických souborů (např. obrázků, statických HTML souborů). V těchto případech bývá rychlejší než např. Apache. Bývá používán i jako proxy server. Často ho nasazují velké firmy (např. Seznam.cz, Nokia, GitHub (služba pro sdílení zdrojového kódu), WordPress, Dropbox, apod.).
 +
 +
Na platformě Windows (především v rámci '''Windows Serveru''') se používá webový server od Microsoftu - IIS. Jedná se o softwarový webový server s kolekcí rozšiřujících modulů, vytvořený společností Microsoft pro operační systém Windows. IIS 7.5 podporuje protokoly HTTP, HTTPS, FTP, FTPS, SMTP a NNTP. Je součástí produktové řady Windows Server a také některých vydání Windows XP, Windows Vista a Windows 7. IIS není ve výchozím nastavení Windows zapnut.
  
 
== Metody přenosu dat od klienta na server ==
 
== Metody přenosu dat od klienta na server ==

Verze z 23. 4. 2012, 10:21

  • princip webové aplikace, důvody zavedení této platformy
  • struktura webové aplikace, vrstvy
  • Aplication Service Provider
  • webový server a jeho funkce ve webové aplikaci
  • metody přenosu dat od klienta na server
  • uživatelské rozhraní webové aplikace
  • technologie tvorby aplikační loginy webové aplikace
  • datová vrstva


Obsah

Princip webové aplikace, důvody zavedení této platformy

Webová aplikace je v softwarovém inženýrství aplikace poskytovaná uživatelům z webového serveru přes počítačovou síť Internet, nebo její vnitropodnikovou obdobu (intranet). Webové aplikace jsou populární především pro všudypřítomnost webového prohlížeče jako klienta. Prohlížeč se pak nazývá tzv. tenkým klientem, neboť sám o sobě nezná logiku aplikace.

Schopnost aktualizovat a spravovat webové aplikace bez nutnosti šířit a instalovat software na potenciálně tisíce uživatelských počítačů je hlavním důvodem jejich oblíbenosti. Webové aplikace jsou používány pro implementaci mnoha podnikových i jiných informačních systémů, ale i freemailů, internetových obchodů, online aukcí, diskusních fór, weblogů.

Struktura webové aplikace, vrstvy

Ačkoliv je mnoho možností, webové aplikace jsou obvykle strukturovány jako třívrstvé. V té nejběžnější formě je:

  • prezentační vrstva (první vrstva) - webový prohlížeč
  • vrstva aplikační logiky (střední vrstva) - nástroje pro dynamické generování stránek (např. CGI, PHP, javové servlety nebo ASP)
  • datová vrstva (třetí vrstva) - např. databáze

Webový prohlížeč posílá požadavky střední vrstvě, která je obsluhuje prostřednictvím dotazů do databáze a generováním uživatelského rozhraní.

Aplication Service Provider (ASP)

Jednou ze strategií pro softwarové firmy je poskytnout přístup přes web k aplikacím, které byly dříve nabízeny a šířeny jako aplikace lokální. V závislosti na typu aplikace může takový přechod vyžadovat vývoj zcela odlišného uživatelského rozhraní určeného webovému prohlížeči nebo jen přizpůsobit stávající aplikaci pro použití jiné prezentační technologie. Tyto programy umožňují uživatelům platit měsíční či roční poplatek za používání aplikace, aniž by si jej museli nainstalovat na svůj pevný disk. Firmy podnikající s touto strategií jsou známé jako poskytovatelé aplikačních služeb (Application Service Provider - ASP).

Webový server a jeho funkce ve webové aplikaci

Samotná aplikace je umístěna na webovém serveru (řekněme centrálně), kam se k ní můžou připojit ostatní uživatelé. Webový server zpřístupňuje aplikaci uživatelům (klientům - skrz webový prohlížeč) a je na něm spouštěna samotná aplikace, která reaguje na uživatelovi podněty - vypiš XYZ, vlož ABC, smaž DGX, apod.

Nejpoužívanějším webovým serverem je Apache. Jedná se open-source projekt, který tak lze zdarma šířit, upravovat a měnit. Apache je velice komplexní a robustní server. Z toho důvodu je mu někdy vyčítána komplikovanost (např. komplikovaná změna nastavení - existují desítky různých konfiguračních voleb - direktiv).

Často nasazovaným je také webserver nginx (čti engine-x). Ten je zaměřen především na vysoký výkon. Základním cílem je rychlá distribuce statického obsahu a možnost rozložení zátěže na další servery dle nastavené priority. Často bývá nasazován tam, kde je nutné poskytnout uživateli přístup k velkému množství statických souborů (např. obrázků, statických HTML souborů). V těchto případech bývá rychlejší než např. Apache. Bývá používán i jako proxy server. Často ho nasazují velké firmy (např. Seznam.cz, Nokia, GitHub (služba pro sdílení zdrojového kódu), WordPress, Dropbox, apod.).

Na platformě Windows (především v rámci Windows Serveru) se používá webový server od Microsoftu - IIS. Jedná se o softwarový webový server s kolekcí rozšiřujících modulů, vytvořený společností Microsoft pro operační systém Windows. IIS 7.5 podporuje protokoly HTTP, HTTPS, FTP, FTPS, SMTP a NNTP. Je součástí produktové řady Windows Server a také některých vydání Windows XP, Windows Vista a Windows 7. IIS není ve výchozím nastavení Windows zapnut.

Metody přenosu dat od klienta na server

Pro přenos dat od uživatele na server (např. data z formuláře) se používají dvě metody - metoda POST a metoda GET.

Data odeslaná metodou GET se stanou součástí URL, doplní se za otazník a jsou tedy vidět v adresním řádku prohlížeče. Naopak metoda POST data odesílá odděleně od URL.

Pokud se předaná data dají chápat jako parametry stránky (tedy např. předání ID článku nebo vyhledávaného řetězce), je vhodné je poslat metodou GET, v ostatních případech je lepší použít metodu POST (obzvláště pokud je dat hodně – např. Internet Explorer dokáže zpracovat URL jen do délky 2083 znaků).

Jakékoliv stažení objektu ze serveru je provedením příkazu GET. Vyvolá jej každé kliknutí na odkaz <a href=...>, transparentně jej provede např. stažení obrázku (<img src=...>).

POST je ryze formulářová záležitost. Data se odesílají mimo URL – to se ovšem týká jen položek formuláře. Zároveň je totiž možné odesílat ještě další data v URL, které je uvedeno v action formuláře. Zjednodušeně řečeno, POST umí totéž co GET a ještě o dost víc.

Použití metody POST by také mělo být samozřejmé v případě, kdy předaná data obsahují citlivé údaje (jako např. heslo), protože jinak se tato data dají získat řadou způsobů (např. z historie prohlížeče, na proxy serveru, z logů webového serveru nebo z HTTP hlavičky Referer).

Metoda POST se používá hlavně v případě, když:

  • odeslání formuláře způsobí vnitřní změnu serveru (zápis do databáze, odeslání e-mailu, …)
  • odesílaná data nejsou zcela veřejná
  • velikost dat může překročit 1000 bajtů (např. odeslání souboru na server - v tom případě je potřeba ve formuláři uvést atribut enctype="multipart/form-data")

Uživatelské rozhraní webové aplikace

Technologie tvorby aplikační loginy webové aplikace

Datová vrstva

  • zajišťuje práci s vlastními daty aplikace
  • uchovává tato data a skrz dané rozhraní je zpřístupňuje vlastní aplikační logice (samotné aplikaci)
  • často se jedná o databázi, kterou pohání některý z databázových serverů (MySQL, MSSQL, Oracle, ...)
  • v databázi jsou data uchovávána v databázových tabulkách
  • nic však nebrání tomu napsat si datovou vrstvu založenou na ukládání a čtení dat do/ze souborů

Použití databáze má tu výhodu, že poskytuje dostatečnou abstrakci pro operace s daty. Tyto operace bývají často dobře navržené a optimalizované pro maximální možný výkon při práci s daty. Umožňují tak velice rychle vybírat data z tabulek, provádět s daty výpočty, spojovat data z více tabulek do jedné datové sady, rychle nalezená data řadit (vzestupně/sestupně) apod. V případě databází se pro manipulaci s daty nejčastěji používá jazyk SQL.

Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje