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
interpretovaný kód skriptovací jazyky (PHP, VBS (ASP), JSP), runtime prostředí jazyky Java (JRE), C# (.NET), nativní aplikace C, C++, Delphi, Roste: rychlost vývoje přenositelnost Roste: náklady na vývoj výkon možnosti interakce s uživatelem množství dostupných funkcí OS
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.