Aplikace
• Aplikace je program určený pro uživatele. • Aplikaci je možné rozdělit na části: •
prezentační vrstva •
•
vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní
aplikační vrstva •
•
zpracování dat, výpočty, logika práce s daty, business logic
datová vrstva •
ukládání a čtení dat, logika skladování dat
• Postup vytvoření aplikace zahrnuje: • • • • •
rozbor zadání návrh architektury volba technologie programování testování
• Volba technologie a návrh architektury probíhají souběžně a prolínají se • Počítač je nutný pouze na závěr programování a testování
• • • •
záleží na okolnostech nejzásadnější proces celého vývoje aplikace vyžaduje analýzu prostředí zákazníka nejosvědčenější metody: • • • • •
kvalifikovaný odhad nekvalifikovaný odhad psychologie věštění z křišťálové koule věštění z čajových lístků
• http://www.projectcartoon.com/ProjectCartoo n.pdf
http://stuffthathappens.com
• struktura a způsob rozložení služeb aplikace • • • • •
prezentační služby (zobrazování) prezentační logika (rozložení UI) logika aplikace (aplikační algoritmy) logika dat (algoritmy pro práci s daty) ovládání dat (řízení přístupu k úložišti)
• Obecně je nejvýhodnější třívrstvá (3-tier) architektura. • Přesto se používá i dvojvrstvá (2-tier) architektura •
několik variant
prezentační vrstva aplikační vrstva datová vrstva
• • • • •
klient-server se vzdálenými daty (file server) velká zátěž klienta velká zátěž přenosového kanálu malá zátěž serveru subversion, DFS, NFS
• • • •
klient-server se vzdálenou prezentací malé zatížení klienta a přenosového kanálu velká zátěž serveru z pohledu klienta není rozlišitelné od třívrstvé architektury • případ mnoha webových aplikací
• • • •
klient-server s rozdělenou logikou (hybridní) dobré rozložení zátěže horší rozšiřitelnost a přenositelnost z pohledu klienta není rozlišitelné od třívrstvé architektury • případ některých webových aplikací
• Data jsou uložena ve formátu daném potřebami aplikace – jsou nepřenositelná. • Změna datového skladu vyžaduje změnu všech klientů. • Důvody používání byly: • •
snadnější první implementace a návrh nerozvinuté nebo nedostupné univerzální technologie • • •
databázové servery aplikační servery komponenty
• dobré rozložení zátěže • malá zátěž komunikačních kanálů • dobrá rozšiřitelnost (s využitím standardizovaných rozhraní) • flexibilní architektura • webové aplikace
• Prezentační a datová vrstva jsou oddělené aplikační vrstvou. •
prezentační klienta nemůže ovlivnit datový sklad •
• •
zvýšení bezpečnosti, spolehlivosti a flexibility
při použití vhodných rozhraní je možné měnit prezentační klienty při použití vhodných rozhraní je možné měnit datový sklad
• Rozhraní (interface) je něco, co je mezi něčím a něčím jiným.
• Webový prohlížeč je zcela nezávislý na databázovém serveru. • • •
Webovému prohlížeči je lhostejné, jaký databázový server poskytl data. Můžeme změnit datový sklad a prohlížeč „si toho nevšimne“. Můžeme změnit prohlížeč a databázový server „si toho nevšimne“.
• Aplikační úroveň tvoří rozhraní mezi datovou a prezentační vrstvou.
• podpora distribuovaných systémů
• výběr technologie podle požadovaných vlastností aplikace: • • • •
síťová / lokální klient-server / samostatná (standalone) kompilovaná / interpretovaná nativní (native) / runtime
• databázová aplikace • webová aplikace • výběr jazyka a vývojového prostředí •
IDE – integrated development environment
Roste:
• interpretovaný kód •
náklady na vývoj
skriptovací jazyky (PHP, VBS (ASP), JSP), …
výkon
možnosti interakce s uživatelem množství dostupných funkcí OS
• runtime prostředí •
jazyky Java (JRE), C# (.NET), …
Roste: rychlost vývoje
• nativní aplikace •
C, C++, Delphi, …
přenositelnost
• WA je aplikace přístupná přes webový server. • Webová stránka slouží jen k poskytování obsahu (jen čtení dat). • Webová aplikace umožňuje interakci s uživatelem (čtení i vkládání dat). • Webová aplikace je soubor více či méně propojených programů. •
každý skript je téměř samostatný
• Výhody: rychlý vývoj (RAD), vysoká přenositelnost, nízké náklady na provoz
• O některé věci se programátor nemusí starat • O některé věci se programátor nemůže starat
1.Vložit mezeru mezi slovy „Přenosová rychlost:“ a veličinou přenosové rychlosti: 2.Opravit chybu ve větě: „Před otevřením souboru thoto typu vždy zobrazit tento dotaz“.