SlideShare ist ein Scribd-Unternehmen logo
1 von 23
TNPW2 2010/2011 04 – Webové aplikace Mgr. Lukáš Vacek lukas.vacek@uhk.cz
Agenda4 ,[object Object]
Výhody a nevýhody webových aplikací
Vývoj webových aplikací
Vývojové technologie
Internet, doporučená literatura2
Co jsou webové aplikace? Wikipedia – „Webová aplikace je poskytovaná uživatelům z webového serveru přes počítačovou síť Internet, nebo její vnitropodnikovou obdobu (Intranet).“ Nejčastěji jde o společné označení pro webové stránky (statické i dynamicky generované) s nějakou aplikační logikou.  Pojem webová aplikace není striktně (normativně) vymezen!  Mezi webové aplikace jsou často zařazovány i tzv. webové služby.  Zjednodušení Webové stránky jsou určeny pro běžného uživatele (BFU) Webové služby jsou určeny pro aplikace (i webové) Existuje celá řada technologií pro vývoj a provoz webových aplikací, které jsou nebo budou využívány v prostředí Internetu/Intranetu. Bližší info na přednášce věnované aktuálním trendům! 3
Historie webových aplikací? Do poloviny 90. let Statické webové stránky Text, obrázky Akademická sféra, odborná veřejnost Uživatelé mohou obsah webových stránek ovlivnit jen minimálně Druhá polovina 90. let Dynamické webové stránky, webové služby (na přelomu století) Multimediální obsah Přístupné pro nejširší veřejnost Interaktivita s uživatelem 4
Dynamicky generované webové stránky Nejčastěji používají (X)HTML kód (+ CSS a JavaScript) jako rozhraní pro komunikaci s uživatelem. Jsou postaveny na modelu klient/server.  Na straně uživatele (klienta) je webový prohlížeč, na opačné straně je WWW server. Na rozdíl od „běžných“ statických WWW stránek je na straně serveru navíc přítomna aplikační logika, která je schopná přesněji reagovat na specifické požadavky klientů, což výrazně zvyšuje úroveň interaktivity s uživatelem. Příklady Virtuální obchody (e-shopy) Katalogy a vyhledávací služby  Redakční systémy (CMS) Komunitní weby (Facebook, Twitter a spol.) ASP (Application Service Provider), SaaS (Software as a Service) – hostování, pronájem aplikací a služeb – Cloudcomputingu obecně budu věnovat pozornost na přednášce o aktuálních trendech. 5
Webové služby Jsou postaveny na modelu klient/server. Na straně klienta je většinou aplikace, která odpověď serveru dále zpracovává. Webové služby používají formát XML, ve kterém spolu klient a server komunikují (vlastní komunikace zpravidla probíhá přes protokol HTTP/HTTPS). Prostřednictvím webových služeb je možné řešit komunikaci aplikací v heterogenním prostředí, protože používaný formát (XML) a protokoly (SOAP, HTTP/HTTPS) jsou dostatečně univerzální. Popis každé webové služby (dostupné metody a parametry) je k dispozici v XML formátu (*.wsdl soubor). Webové služby je možné vytvářet na všech běžně používaných vývojových platformách (Java, .NET, PHP). S čím dál výraznějším trendem vzájemného propojování existujících aplikací roste význam technologií, které umožňují jejich integraci – tedy i webových služeb! 6
Agenda4 ,[object Object]
Výhody a nevýhody webových aplikací
Vývoj webových aplikací
Vývojové technologie
Internet, doporučená literatura7
Výhody webových aplikací Na straně klienta stačí webový prohlížeč, někdy s příslušným plug-inem (Flash, Silverlight) Jednoduchá údržba – změny pouze na straně serveru Aktuálnost – každá úprava se okamžitě projeví (aplikační logika, data) Nižší nároky na HW klientů – stačí PC s webovým prohlížečem Nižší provozní náklady Nezávislost na platformě (OS) na straně klienta Výborná dostupnost, možnost využití v lokální síti (Intranetu) i v Internetu 8
Nevýhody webových aplikací Nehodí se pro některé typy aplikací Vysoká závislost na poskytovateli aplikace Nemožnost práce v offline režimu (začíná se řešit – HTML5, Adobe Air) Omezené možnosti uživatelského rozhraní Omezené možnosti validace dat na straně klienta (webový prohlížeč) Nedokonalá podpora standardů (HTML, CSS, JavaScript) v prohlížečích Bez-stavová komunikace při použití protokolu HTTP/HTTPS (lze obejít) Množství přenášených dat (značkovací jazyk) Problémy s bezpečností (webový prohlížeč, dostupnost v Internetu) 9
Agenda4 ,[object Object]
Výhody a nevýhody webových aplikací
Vývoj webových aplikací
Vývojové technologie
Internet, doporučená literatura10
Vývoj webových aplikací I pro webové aplikace platí tradiční vývojový cyklus... Analýza * –> Implementace –> Testování * –> Nasazení * –> Provoz * Jednotlivé fáze vývojového cyklu (*) může ovlivnit zákazník (zadavatel)!  Při návrhu GUI aplikace je vhodné přesně specifikovat použité technologie a standardy (např. XHTML 1.0 Strict, JEN pro Internet Explorer, Flash ANO). Webové aplikace mají, v porovnání s klasickými desktopovými a klient/server aplikacemi, určité specifické požadavky Souběžný přístup velkého množství klientů –>  rychlost odezvy, Protokol HTTP je bez-stavový –> nutnost použití session a cookies. Je třeba klást maximální důraz na testování a brát v úvahu rozdíly mezi testovacím a skutečným provozem (HW, SW, konfigurace)! 11

Weitere ähnliche Inhalte

Was ist angesagt? (18)

TNPW2-2014-03
TNPW2-2014-03TNPW2-2014-03
TNPW2-2014-03
 
TNPW2-2016-01
TNPW2-2016-01TNPW2-2016-01
TNPW2-2016-01
 
TNPW2-2016-05
TNPW2-2016-05TNPW2-2016-05
TNPW2-2016-05
 
TNPW2-2016-04
TNPW2-2016-04TNPW2-2016-04
TNPW2-2016-04
 
TNPW2-2013-05
TNPW2-2013-05TNPW2-2013-05
TNPW2-2013-05
 
TNPW2-2014-06
TNPW2-2014-06TNPW2-2014-06
TNPW2-2014-06
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
TNPW2-2014-05
TNPW2-2014-05TNPW2-2014-05
TNPW2-2014-05
 
TNPW2-2012-05
TNPW2-2012-05TNPW2-2012-05
TNPW2-2012-05
 
TNPW2-2016-07
TNPW2-2016-07TNPW2-2016-07
TNPW2-2016-07
 
TNPW2-2013-04
TNPW2-2013-04TNPW2-2013-04
TNPW2-2013-04
 
Moderni trendy ve_vyvoji_aplikaci
Moderni trendy ve_vyvoji_aplikaciModerni trendy ve_vyvoji_aplikaci
Moderni trendy ve_vyvoji_aplikaci
 
TNPW2-2012-06
TNPW2-2012-06TNPW2-2012-06
TNPW2-2012-06
 
TNPW2-2013-01
TNPW2-2013-01TNPW2-2013-01
TNPW2-2013-01
 
JAWS - web očima nevidomých
JAWS - web očima nevidomýchJAWS - web očima nevidomých
JAWS - web očima nevidomých
 
TNPW2-2016-06
TNPW2-2016-06TNPW2-2016-06
TNPW2-2016-06
 
TNPW2-2014-04
TNPW2-2014-04TNPW2-2014-04
TNPW2-2014-04
 
TNPW2-2012-08
TNPW2-2012-08TNPW2-2012-08
TNPW2-2012-08
 

Ähnlich wie TNPW2-2011-04

2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEEMartin Ptáček
 
5was 100524062135-phpapp02
5was 100524062135-phpapp025was 100524062135-phpapp02
5was 100524062135-phpapp02simon680
 
Co sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuCo sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuAkce Dobrého webu
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitněJiří Mareš
 
Efektivní online prezentace
Efektivní online prezentaceEfektivní online prezentace
Efektivní online prezentaceIvo Kylián
 
Bar camp brno 2010
Bar camp brno 2010Bar camp brno 2010
Bar camp brno 2010Jarek Mikeš
 
Cloudové řešení HRIS
Cloudové řešení HRISCloudové řešení HRIS
Cloudové řešení HRISJaroslav Smarda
 
Semináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datSemináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datJaroslav Prodelal
 
Jak na BYOD chytře?
Jak na BYOD chytře?Jak na BYOD chytře?
Jak na BYOD chytře?www.embt.cz
 
Multiplatformni vyvoj
Multiplatformni vyvojMultiplatformni vyvoj
Multiplatformni vyvojKompilátor
 
Ivan Kutil: Google Apps pro firmy
Ivan Kutil: Google Apps pro firmyIvan Kutil: Google Apps pro firmy
Ivan Kutil: Google Apps pro firmyIvan K
 

Ähnlich wie TNPW2-2011-04 (20)

TNPW2-2012-01
TNPW2-2012-01TNPW2-2012-01
TNPW2-2012-01
 
TNPW2-2011-01
TNPW2-2011-01TNPW2-2011-01
TNPW2-2011-01
 
TNPW2-2011-06
TNPW2-2011-06TNPW2-2011-06
TNPW2-2011-06
 
Zaverecny ukol
Zaverecny ukolZaverecny ukol
Zaverecny ukol
 
WAS 2.0 (2011)
WAS 2.0 (2011)WAS 2.0 (2011)
WAS 2.0 (2011)
 
2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE
 
5was 100524062135-phpapp02
5was 100524062135-phpapp025was 100524062135-phpapp02
5was 100524062135-phpapp02
 
Web Application Scanning (WAS)
Web Application Scanning (WAS)Web Application Scanning (WAS)
Web Application Scanning (WAS)
 
Co sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuCo sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webu
 
Joomla!
Joomla!Joomla!
Joomla!
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
 
Smact a průmysl 4.0
Smact a průmysl 4.0Smact a průmysl 4.0
Smact a průmysl 4.0
 
Efektivní online prezentace
Efektivní online prezentaceEfektivní online prezentace
Efektivní online prezentace
 
Mashup webová aplikace
Mashup webová aplikaceMashup webová aplikace
Mashup webová aplikace
 
Bar camp brno 2010
Bar camp brno 2010Bar camp brno 2010
Bar camp brno 2010
 
Cloudové řešení HRIS
Cloudové řešení HRISCloudové řešení HRIS
Cloudové řešení HRIS
 
Semináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datSemináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních dat
 
Jak na BYOD chytře?
Jak na BYOD chytře?Jak na BYOD chytře?
Jak na BYOD chytře?
 
Multiplatformni vyvoj
Multiplatformni vyvojMultiplatformni vyvoj
Multiplatformni vyvoj
 
Ivan Kutil: Google Apps pro firmy
Ivan Kutil: Google Apps pro firmyIvan Kutil: Google Apps pro firmy
Ivan Kutil: Google Apps pro firmy
 

Mehr von Lukáš Vacek

Mehr von Lukáš Vacek (9)

TNPW2-2014-01
TNPW2-2014-01TNPW2-2014-01
TNPW2-2014-01
 
TNPW2-2013-10
TNPW2-2013-10TNPW2-2013-10
TNPW2-2013-10
 
TNPW2-2013-09
TNPW2-2013-09TNPW2-2013-09
TNPW2-2013-09
 
TNPW2-2013-08
TNPW2-2013-08TNPW2-2013-08
TNPW2-2013-08
 
TNPW2-2013-06
TNPW2-2013-06TNPW2-2013-06
TNPW2-2013-06
 
TNPW2-2013-03
TNPW2-2013-03TNPW2-2013-03
TNPW2-2013-03
 
TNPW2-2012-10
TNPW2-2012-10TNPW2-2012-10
TNPW2-2012-10
 
TNPW2-2012-09
TNPW2-2012-09TNPW2-2012-09
TNPW2-2012-09
 
TNPW2-2012-04
TNPW2-2012-04TNPW2-2012-04
TNPW2-2012-04
 

TNPW2-2011-04

  • 1. TNPW2 2010/2011 04 – Webové aplikace Mgr. Lukáš Vacek lukas.vacek@uhk.cz
  • 2.
  • 3. Výhody a nevýhody webových aplikací
  • 7. Co jsou webové aplikace? Wikipedia – „Webová aplikace je poskytovaná uživatelům z webového serveru přes počítačovou síť Internet, nebo její vnitropodnikovou obdobu (Intranet).“ Nejčastěji jde o společné označení pro webové stránky (statické i dynamicky generované) s nějakou aplikační logikou. Pojem webová aplikace není striktně (normativně) vymezen! Mezi webové aplikace jsou často zařazovány i tzv. webové služby. Zjednodušení Webové stránky jsou určeny pro běžného uživatele (BFU) Webové služby jsou určeny pro aplikace (i webové) Existuje celá řada technologií pro vývoj a provoz webových aplikací, které jsou nebo budou využívány v prostředí Internetu/Intranetu. Bližší info na přednášce věnované aktuálním trendům! 3
  • 8. Historie webových aplikací? Do poloviny 90. let Statické webové stránky Text, obrázky Akademická sféra, odborná veřejnost Uživatelé mohou obsah webových stránek ovlivnit jen minimálně Druhá polovina 90. let Dynamické webové stránky, webové služby (na přelomu století) Multimediální obsah Přístupné pro nejširší veřejnost Interaktivita s uživatelem 4
  • 9. Dynamicky generované webové stránky Nejčastěji používají (X)HTML kód (+ CSS a JavaScript) jako rozhraní pro komunikaci s uživatelem. Jsou postaveny na modelu klient/server. Na straně uživatele (klienta) je webový prohlížeč, na opačné straně je WWW server. Na rozdíl od „běžných“ statických WWW stránek je na straně serveru navíc přítomna aplikační logika, která je schopná přesněji reagovat na specifické požadavky klientů, což výrazně zvyšuje úroveň interaktivity s uživatelem. Příklady Virtuální obchody (e-shopy) Katalogy a vyhledávací služby Redakční systémy (CMS) Komunitní weby (Facebook, Twitter a spol.) ASP (Application Service Provider), SaaS (Software as a Service) – hostování, pronájem aplikací a služeb – Cloudcomputingu obecně budu věnovat pozornost na přednášce o aktuálních trendech. 5
  • 10. Webové služby Jsou postaveny na modelu klient/server. Na straně klienta je většinou aplikace, která odpověď serveru dále zpracovává. Webové služby používají formát XML, ve kterém spolu klient a server komunikují (vlastní komunikace zpravidla probíhá přes protokol HTTP/HTTPS). Prostřednictvím webových služeb je možné řešit komunikaci aplikací v heterogenním prostředí, protože používaný formát (XML) a protokoly (SOAP, HTTP/HTTPS) jsou dostatečně univerzální. Popis každé webové služby (dostupné metody a parametry) je k dispozici v XML formátu (*.wsdl soubor). Webové služby je možné vytvářet na všech běžně používaných vývojových platformách (Java, .NET, PHP). S čím dál výraznějším trendem vzájemného propojování existujících aplikací roste význam technologií, které umožňují jejich integraci – tedy i webových služeb! 6
  • 11.
  • 12. Výhody a nevýhody webových aplikací
  • 16. Výhody webových aplikací Na straně klienta stačí webový prohlížeč, někdy s příslušným plug-inem (Flash, Silverlight) Jednoduchá údržba – změny pouze na straně serveru Aktuálnost – každá úprava se okamžitě projeví (aplikační logika, data) Nižší nároky na HW klientů – stačí PC s webovým prohlížečem Nižší provozní náklady Nezávislost na platformě (OS) na straně klienta Výborná dostupnost, možnost využití v lokální síti (Intranetu) i v Internetu 8
  • 17. Nevýhody webových aplikací Nehodí se pro některé typy aplikací Vysoká závislost na poskytovateli aplikace Nemožnost práce v offline režimu (začíná se řešit – HTML5, Adobe Air) Omezené možnosti uživatelského rozhraní Omezené možnosti validace dat na straně klienta (webový prohlížeč) Nedokonalá podpora standardů (HTML, CSS, JavaScript) v prohlížečích Bez-stavová komunikace při použití protokolu HTTP/HTTPS (lze obejít) Množství přenášených dat (značkovací jazyk) Problémy s bezpečností (webový prohlížeč, dostupnost v Internetu) 9
  • 18.
  • 19. Výhody a nevýhody webových aplikací
  • 23. Vývoj webových aplikací I pro webové aplikace platí tradiční vývojový cyklus... Analýza * –> Implementace –> Testování * –> Nasazení * –> Provoz * Jednotlivé fáze vývojového cyklu (*) může ovlivnit zákazník (zadavatel)! Při návrhu GUI aplikace je vhodné přesně specifikovat použité technologie a standardy (např. XHTML 1.0 Strict, JEN pro Internet Explorer, Flash ANO). Webové aplikace mají, v porovnání s klasickými desktopovými a klient/server aplikacemi, určité specifické požadavky Souběžný přístup velkého množství klientů –> rychlost odezvy, Protokol HTTP je bez-stavový –> nutnost použití session a cookies. Je třeba klást maximální důraz na testování a brát v úvahu rozdíly mezi testovacím a skutečným provozem (HW, SW, konfigurace)! 11
  • 24. Možné přístupy k vývoji webových aplikací Podle podmínek a okolností vzniku Vývoj na zelené louce (celý vývojový cyklus běží od začátku), „Překlopení“ již existující aplikace (s použitím reverzní analýzy). Podle způsobu implementace Programováním, Generováním (z databáze, z modelu (MDA) atd.). Oba způsoby implementace mají své výhody a nevýhody. 12
  • 25. Aplikační vrstvy, knihovny, frameworky Při vývoji webových aplikací je vhodné rozdělení do tzv. aplikačních vrstev:Přístup k datům (persistence) – Aplikační (business) logika – Prezentační vrstva (UI) Toto rozdělení do vrstev umožňuje (kromě dalších výhod) při vývoji využít nejrůznější podpůrné knihovny a frameworky, které mohou výrazně zjednodušit a zefektivnit vývoj, např. Přístup k datům v databázi, ORM (Object RelationalMapping), Automatizované testování, Autentizaci uživatelů. Příklad některých používaných knihoven a frameworků Java – JDO, Spring, JUnit, Hibernate (ORM) .NET – ADO.NET, NUnit, NHibernate (ORM), Spring.NET, ASP.NET MVC PHP – PEAR, Smarty, FastTemplates, Nette, Zend. 13
  • 26. Chyby při vývoji webových aplikací – I. Je závažnou (a bohužel obvyklou) chybou programovat webové aplikace jako jednouživatelské Při návrhu aplikace se nepočítá s jejím budoucím rozvojem/rozšířením, integrací s dalšími aplikacemi nebo rostoucím zatížením (více uživatelů) Živelný vývoj – často se začne programovat bez dostatečné analýzy nebo bez komunikace se zákazníkem (chybí prototyp UI apod.) Uživatelům se nabízí zbytečně složité a nepřehledné ovládání Vývojové, testovací a provozní prostředí aplikace mají často rozdílnou konfiguraci (liší se verze použitého SW, nastavení parametrů apod.) Podceňuje se fáze testování (funkční, integrační, zátěžové), nepoužívá se TDD (unit testy) Neoddělují se jednotlivé aplikační vrstvy (data – business – user inteface) Objevují se zbytečné duplicity v programovém kódu Znovu se vynalézá kolo –> nepoužívají se vzory (design patterns), bestpractice Ignorují se základní bezpečnostní pravidla pro přístup k aplikacím a k datům 14
  • 27. Chyby při vývoji webových aplikací – II. Programují se funkce, která uživatel nepotřebuje nebo nevyužívá (řada z nich není v UI vůbec vidět) UI je složitý, nepřehledný, často s nestandardním ovládáním Netestují se vstupní data od uživatelů (uživatel = neřízená střela) Zůstávají neukončená připojení k databázi Je špatně navržená struktura databáze, indexy apod. Používají se neoptimalizované SQL dotazy, často bez parametrů Není ošetřena souběžná modifikace dat Není ošetřen opakovaný zápis dat (F5, obnovení stránky) Nejsou správně nebo vůbec ošetřeny výjimky (chyby)! Nevyužívá se vyrovnávací buffer při generování odpovědi Nevyužívá se kešování (cache) stránek při opakovaných požadavcích Při objektovém programování se chybně pracuje s kolekcemi Programátor po sobě „neuklízí“ v paměti, spoléhá na GC nebo na zázrak  15
  • 28.
  • 29. Výhody a nevýhody webových aplikací
  • 33. Volba technologie Volbu technologie ovlivňuje řada faktorů, např. Použitá platforma (OS, aplikační server, databáze) Požadavky na bezpečnost Zvyk (zadavatel, dodavatel), obchodně-politické vlivy Dostupnost know–how na straně dodavatele Cena řešení Použitá technologie může výrazně ovlivnit rychlost (odezvu) webové aplikace směrem ke klientovi (ASP/ASP.NET –> až 3x větší rychlost ASP.NET). Volba vhodné technologie ještě nezaručuje dobrý výsledek! 17
  • 34. Technologie používané u webových aplikací Na straně klienta HTML formuláře, CSS, DHTML, XSLT, Klientské skripty (JavaScript, VB.Script), Java aplety, ActiveX, Flash/Flex, Silverlight, AJAX a další technologie ze skupiny RIA. Na straně serveru Interpretované (např. Perl, ASP, PHP, Python, Ruby), Částečně kompilované (JEE, ASP.NET), Kompilované (CGI skripty). 18
  • 35. Používané technologie z hlediska historie Časová osa Pravěk – HTML formuláře a CGI skripty, Středověk – Perl, ASP, JSP, PHP, Java Aplety, ActiveX, Dnes – JEE (J2EE), ASP.NET, Ruby (on Rails), Python (Django), AJAX, Silverlight, Flex atd. Rozšířenost vybrané technologie ještě automaticky neznamená její kvalitu! Technologie, které používají aktuálně největší světové weby…http://royal.pingdom.com/?p=173http://natishalom.typepad.com/nati_shaloms_blog/2007/10/why-most-scalab.html 19
  • 36.
  • 37. Výhody a nevýhody webových aplikací
  • 41. Odkazy na Internetu http://www.kosek.cz/php/index.html (PHP) http://www.asp.net/ (ASP.NET) http://java.sun.com/javaee/index.jsp (Java/JEE) http://java.sun.com/javaee/javaserverfaces/ (Java/JSF) http://www.hibernate.org/ (ORM) http://nhibernate.sourceforge.net/ (ORM) http://www.smarty.net/ (PHP framework) http://www.ruby-lang.org/en/ (Ruby) http://tomas-net.blogspot.com/2006/04/souboj-tlust-tenk-aplikace.html http://zdrojak.root.cz/clanky/prezentacni-vzory-zrodiny-mvc/ http://www.root.cz/zpravicky/jak-zrychlit-web/ 21
  • 42. Doporučená literatura Martin, C. Robert – Čistý kód – Návrhové vzory, refaktorování, testování a další techniky agilního programování , ComputerPress 2009 Pecinovský, Rudolf – Návrhové vzory – 33 vzorových postupů pro objektové programování, ComputerPress 2007 Pecinovský Rudolf – OOP – Naučte se myslet a programovat objektově, ComputerPress 2010 Earl Thomas – SOA Servisně orientovaná architektura, ComputerPress 2009 MacDonald, Matthew; Szpuszta, Mario – ASP.NET 3.5 a C# 2008, ZonerPress 2008 Watson, Ben – C# 4.0 – řešení praktických programátorských úloh, ZonerPress 2010 Macháček, Jan; Vukotic, Alexa; Chakraborty, Anirvan; DittJessica – Pro Spring 3, Apress 2009 Microsoft – Vytváříme zabezpečené aplikace v Microsoft ASP.NET, CP Books (ComputerPress) 2004 Taylor, Art; BuegeBrian; Layman Randy – Hacking bez tajemství: Java a J2EE, ComputerPress 2003 Huseby, Sverre H. – Zranitelný kód, Computer Press 2006 22
  • 43.
  • 44. Výhody a nevýhody webových aplikací