Navrhněte a implementujte webový portál pro milovníky čokolády. Proveďte analýzu současných řešení a zdůvodněte návrh vlastního řešení.

Rozměr: px
Začít zobrazení ze stránky:

Download "Navrhněte a implementujte webový portál pro milovníky čokolády. Proveďte analýzu současných řešení a zdůvodněte návrh vlastního řešení."

Transkript

1 Navrhněte a implementujte webový portál pro milovníky čokolády. Proveďte analýzu současných řešení a zdůvodněte návrh vlastního řešení. Zaměřte se na návrh uživatelské sekce, vytvoření uživatelských profilů, komunikaci mezi uživateli, sdílení médií apod. Integrujte prvky třetích stran pro posílení sociálních aspektů webu a web optimalizujte pomocí metod SEO. Navrhněte uživatelské testy a otestujte funkčnost celé aplikace. Aplikaci vytvořte s použitím platformy Java EE.

2

3 České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Webový portál pro milovníky čokolády Šárka Hatašová Vedoucí práce: Ing. Jiří Balcárek 6. ledna 2014

4

5 Poděkování Děkuji Ing. Jiřímu Balcárkovi za vedení této práce. Další poděkování patří rodině, přátelům a všem těm, kteří mě ve snaze práci dokončit podpořili.

6

7 Prohlášení Prohlašuji, že jsem předloženou práci vypracovala samostatně a že jsem uvedla veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů, zejména skutečnost, že České vysoké učení technické v Praze má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle 60 odst. 1 autorského zákona. V Praze dne 6. ledna

8 České vysoké učení technické v Praze Fakulta informačních technologií c 2014 Šárka Hatašová. Všechna práva vyhrazena. Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora. Odkaz na tuto práci Hatašová, Šárka. Webový portál pro milovníky čokolády. Bakalářská práce. Praha: České vysoké učení technické v Praze, Fakulta informačních technologií, 2014.

9 Abstract This bachelor thesis deals with the design and implementation of web portal, which brings chocolate lovers together. The goal is to create a web application provides monitoring of chocolate consumption and offers to users a lot of advices on how to keep a healthy lifestyle. The thesis describes selected technology of platform Java EE, explains and illustrates application of methods of SEO and web portal connection to Facebook API. The entire application is based on Java EE platform using Prime Faces framework. Keywords Chocolate, Java EE, SEO, social networks. ix

10 Abstrakt Tato bakalářská práce se zabývá návrhem a implementací webového portálu, který sdružuje milovníky čokolády. Výstupem práce je webová aplikace, která umožňuje důkladné sledování vlastní konzumace čokolády a nabízí uživatelům rady týkající se zdravého životního stylu. Práce dále popisuje vybrané technologie platformy Java EE, vysvětluje a demonstruje aplikaci metod SEO a napojení webového portálu na API Facebooku. Vývoj proběhl na platformě Java EE za použití frameworku Prime Faces. Klíčová slova Čokoláda, Java EE, SEO, sociální sítě. x

11 Obsah Úvod 1 1 Analýza a návrh Současný stav problematiky Vlastní řešení Analýza požadavků Modelování případů užití Návrh databáze Realizace Použité technologie Implementace webové aplikace Provázání se sociální sítí Optimalizace webových stránek Testování Příprava testování Průběh testování Výsledky testování Závěr 35 Literatura 37 A Instalační a uživatelská příručka 39 A.1 Instalační příručka A.2 Uživatelská příručka xi

12 B Seznam použitých zkratek 43 C Obsah přiloženého CD 45 xii

13 Seznam obrázků 1.1 Diagram případů užití - operace s čokoládou Diagram případů užití - uživatelé Vztahy mezi entitami Java EE - čtyřvrstvá architektura[7] Životní cyklus JSF [5] Webové rozhraní přihlášení do aplikace Přidání přítele Rozesílání zpráv xiii

14

15 Seznam tabulek 1.1 Kontrola splnění požadavků xv

16

17 Úvod Skladba stravy, potažmo životní styl jako celek, je v dnešní době jedno z předních společenských témat. Webový portál pro milovníky čokolády je jednou z možných odpovědí na otázku, jak jednoduše a pohodlně skloubit zdravý životní styl s potřebou konzumovat nutričně ne zcela vhodné potraviny. Každému uživateli webová aplikace nabídne rady, jak by měla vypadat jeho další strava, aby nedošlo k nežádoucímu nárůstu váhy, popřípadě mu doporučí kompenzační cvičení, aby spálil takové množství kalorií, které je nadlimitní pro jeho doporučený denní energetický příjem. Systém sám vyhodnotí všechny uživatelem zadané údaje jako je věk, pohlaví, hmotnost aj. a na základě zkonzumovaného množství čokolády se rozhodne, co by měl uživatel zvolit za sportovní aktivitu, jak dlouho se jí věnovat a jak správně přizpůsobit svůj jídelníček. Cílem bakalářské práce je uvést do provozu webový portál pro milovníky čokolády, který by svým uživatelům umožňoval nejen komunikovat a sdílet nejrůznější informace v rámci komunity, ale který by jim také pomohl držet se zásad zdravého životního stylu. Přesný popis a shrnutí jednotlivých požadavků na webový portál se nachází v kapitole Analýza a návrh. Implementací se zabývá kapitola Realizace, která je členěna do čtyř hlavních částí. Podkapitola Použité technologie popisuje použité nástroje a technologie, které byly pro vývoj webové aplikace klíčové. Podkapitola Implementace webové aplikace demonstruje použití těchto technologií v praxi. V podkapitole Provázání se sociální sítí je řešeno propojení webového portálu s API 1 sociální sítě Facebook. Pod- 1 API (Application Programming Interface) je soubor metod a tříd, které může programátor využít při tvorbě vlastní aplikace. 1

18 Úvod kapitola Optimalizace webových stránek se věnuje popisu a zapracování metod, které optimalizují webové stránky pro vyhledávače. Příprava, provedení a vyhodnocení uživatelských testů je popsáno v kapitole Testování. 2

19 Kapitola 1 Analýza a návrh 1.1 Současný stav problematiky Na internetu se vyskytuje velké množství různorodých komunit. V rámci celosvětové sítě internet zatím neexistuje pro milovníky čokolády žádný jim vlastní prostor, kde by se mohli virtuálně scházet, komunikovat spolu a sdílet obsah. Existuje ovšem několik webových portálů, které se specializují na podobný druh uživatelů. Nejznámější z nich jsou webové portály se zaměřením na konzumenty piva, kde spolu uživatelé soutěží a vzájemně si porovnávají množství vypitých piv. Příkladem takového webu je Pivní deníček Pivní deníček Pivní deníček je volně dostupná webová aplikace, která nabízí registrovaným uživatelům možnost sledovat nejrůznější statistiky o vlastní spotřebě piva, recenzovat restaurace, hospody a jednotlivé druhy piva a soutěžit s ostatními uživateli, kdo tohoto nápoje vypije nejvíc. Pivní deníček existuje od roku 2010, kdy byl spuštěn v podobě Facebook aplikace. V roce 2012 vznikl samostatný web, na Facebooku již plně nezávislý. I přesto si Pivní deníček zachoval silné provázání s touto sociální sítí. Nový uživatel se může rozhodnout, zda se zaregistruje anebo využije svého Facebook účtu, přes který se může přihlásit. Webová aplikace je postavena na frameworku Ruby on Rails, který je založen na objektově orientovaném skriptovacím jazyku Ruby. Frontend, 2 Pivní deníček je dostupný na: 3

20 1. Analýza a návrh tedy část webu, která je viditelná pro návštěvníky, běží za pomoci moderního značkovacího jazyka HTML5, CSS3 a javascriptové knihovny JQuery. V dnešní době má web Pivní deníček kolem 1000 unikátních přístupů denně a téměř registrovaných uživatelů Vlastní řešení Hrubý koncept Pivního deníčku bude sloužit autorovi k částečné inspiraci při vývoji vlastního Webového portálu pro milovníky čokolády. Hlavní funkce, které webový portál nabídne, jsou: sledovat vlastní spotřebu čokolády a možnost porovnat se s přáteli, přidávat či odebírat přátele, rozesílat přátelům soukromé zprávy, sdílet jednotlivé grafy konzumace prostřednictvím sociálních sítí, nechat si systémem vypočítat, jak by bylo vhodné upravit svůj jídelníček, nechat si poradit, jakou zvolit pohybovou aktivitu, aby nedošlo k nárůstu hmotnosti, podílet se na hodnocení jednotlivých druhů čokolád. 1.3 Analýza požadavků V následujících dvou podkapitolách jsou rozepsány přesné požadavky na webový portál. Funkční požadavky popisují interakci uživatele s webovou aplikací. V nefukčních (obecných) požadavcích jsou shrnuty nároky na způsob implementace aplikace, její výkonnost, dostupnost a celkový design Funkční požadavky F1. Vytvoření a úprava uživatelského profilu Uživatelský profil je automaticky vytvořen po úspěšné registraci. Osobní údaje lze později změnit. 3 Zdroj informací je Lukáš Zeman, autor Pivního deníčku. 4

21 1.3. Analýza požadavků F2. Přidání/odebrání přítele Přihlášený uživatel si může přidat jiného uživatele do seznamu svých přátel. Přátelství je oboustranné, přidáním přítele vznikne vazba přátelství i na straně druhého uživatele. Přítele je také možné ze seznamu přátel odebrat. F3. Zasílání zpráv Uživatelé spolu mohou komunikovat prostřednictvím soukromých zpráv. Zprávu lze zaslat pouze takovému uživateli, který je na seznamu přátel. Zprávu lze zaslat více uživatelům najednou. F4. Vytvoření konzumace čokolády a generování grafů Do systému přihlášený uživatel zadává datum a množství snězené čokolády. Ta se následně zobrazí v přehledném grafu. Graf je škálovatelný, lze si vybrat, jaké časové období bude zobrazovat. Systém umožní porovnání dat dvou uživatelů, kteří jsou přátelé. Tyto data zobrazí v grafické podobě. Každý vygenerovaný graf lze sdílet prostřednictvím sociální sítě, tj. označit ho Líbí se mi. F5. Výpočet jídelníčku Systém uchovává všechna data o zkonzumovaném množství čokolády. Na základě těchto hodnot, pohlaví, věku a váhy uživatele je stanoven doporučený denní příjem kalorií a procentuální rozložení základních živin (tuky, cukry, bílkoviny). Systém sestaví jídelníček, kde budou zastoupeny jednotlivé živiny tak, aby byl pokryt jejich doporučený denní příjem a energetická hodnota se pohybovala kolem předem vypočtené hranice. Na žádost uživatele se provede výpočet jídelníčku a zobrazí se. F6. Výpočet pohybové aktivity Pokud uživatele tíží, kolik zkonzumoval čokolády, systém mu navrhne pohybové aktivity tak, aby přijaté množství kalorií spálil. Vypočítat, jakou pohybovou aktivitu zvolit, je možné pro konzumace uskutečněné za poslední týden, měsíc, rok a všechny celkem uskutečněné. F7. Hodnocení čokolády 5

22 1. Analýza a návrh Systém obsahuje databázi čokolád (od různých tyčinek přes bonboniéry až po klasické tabulky) a značek, pod které tyto výrobky spadají. Přihlášení uživatelé mohou hodnotit jak jednotlivé čokolády, tak i značky. Každý druh čokolády má svoji stránku, kde jsou o ní uvedené detailní údaje. Hodnocení oblíbenosti probíhá na úrovni přidání nula až pěti hvězdiček k výrobku nebo značce. Na stránku výrobku je možné také přidat komentář. F8. Vytvořit/upravit/odstranit údaje o čokoládě Administrátor má možnost přidat do systému nový čokoládový výrobek nebo značku čokolády. Údaje může kdykoli modifikovat anebo danou položku úplně odstranit. F9. Upravit údaje o uživateli, smazat uživatele Administrátor má právo upravovat údaje již existujících uživatelů a uživatele smazat Nefunkční požadavky 6 N1. Dostupnost přes webové rozhraní Systém bude dostupný jako webová aplikace, hlavní funkce webového portálu budou moci využívat pouze přihlášení uživatelé. V anonymním režimu bude možné se pouze zaregistrovat, přihlásit nebo si přečíst informace o projektu. N2. Rozšiřitelnost V budoucnu se počítá s rozšířením funkčnosti webového portálu, zejména se zdokonalením způsobu výpočtu optimálního množství přijatých živin a rozšíření portfolia hodnocení jednotlivých čokolád. Zdrojový kód by měl být napsán čistě a s komentáři, implementace by měla proběhnout takovým způsobem, aby později nečinilo jinému programátorovi problémy vyznat se v kódu aplikace a doprogramovat její novou část. N3. Spolehlivost Systém musí fungovat spolehlivě i při vyšší návštěvnosti, všechny požadavky musí být vyřizovány rychle bez časové prodlevy. Před nasazením webové aplikace je potřeba se zaměřit na výběr vhodného hardwaru.

23 1.4 Modelování případů užití Seznam uživatelů Administrátor systému 1.4. Modelování případů užití Přidává, odebírá či modifikuje jednotlivé čokolády. Upravuje údaje již existujících uživatelů. Má právo uživatele odstranit ze systému. Recenze od uživatelů, které jsou uvedené na stránce výrobku, může smazat. Může využívat systém stejným způsobem jako přihlášený uživatel. Přihlášený uživatel Upravuje své osobní údaje a spravuje svůj uživatelský profil. Profil je přístupný pouze pro přátele. Vytváří si seznam přátel, se kterými následně může komunikovat skrz zasílání soukromých zpráv. Vkládá do systému množství čokolády, kterou zkonzumoval a nechává si vygenerovat graf konzumace. Do tohoto grafu může zahrnout i data vybraného přítele. Nechává si systémem navrhnout vhodný jídelníček a nechává si poradit, jak by se měl správně hýbat, aby nepřibral na váze. Recenzuje a hodnotí čokolády. Anonymní uživatel Nemá přístup do webové aplikace. Pro získání přístupu se musí zaregistrovat nebo přihlásit. 7

24 1. Analýza a návrh Diagramy případů užití Obrázek 1.1: Diagram případů užití - operace s čokoládou 8

25 1.4. Modelování případů užití Diagramy případů užití Obrázek 1.2: Diagram případů užití - uživatelé 9

26 1. Analýza a návrh Popisy případů užití Operace s čokoládou Následující popisy užití (UC1 až UC12) jsou také schématicky znázorněny na obrázku 1.1. UC1 - Zobrazit seznam čokolád Umožňuje zobrazit seznam všech čokolád, které jsou zadané v systému. UC2 - Vložit nový druh čokolády Administrátor zobrazí seznam čokolád a pomocí formuláře vloží do systému nový druh čokolády. UC3 - Upravit údaje o čokoládě Administrátor zobrazí seznam čokolád a u vybrané položky upraví potřebné údaje. UC4 - Odstranit čokoládu Administrátor zobrazí seznam čokolád a vybranou položku odstraní ze systému. UC5 - Hodnotit čokoládu Uživatel zobrazí seznam čokolád, vybere si položku a ohodnotí ji. Hodnocení probíhá na úrovni přidání 0-5 hvězdiček a zanechání komentáře. UC6 - Odstranit recenzi Administrátor zobrazí seznam čokolád a u vybrané položky odstraní uživatelem zanechaný komentář. UC7 - Vložit novou konzumaci čokolády Uživatel může zobrazit seznam čokolád, vybrat si přesný druh, který právě zkonzumoval, zapsat množství a vložit do systému. Nebo může postupovat tak, že rovnou přejde k formuláři vkládání nové konzumace a název čokolády napíše sám ručně. UC8 - Zobrazit graf konzumace Graf konzumace si uživatel zobrazí po přidání nové konzumace. Dříve vygenerované grafy není možné prohlížet, ale je možné jejich vytvoření znovu vyvolat. 10

27 1.4. Modelování případů užití UC9 - Porovnat konzumaci s přáteli Uživateli je umožněno vizualizovat ve svém grafu jak vlastní konzumaci, tak i konzumaci přátel. Přátele, které do grafu zahrne, vybírá přes seznam přátel. UC10 - Sdílet graf konzumace prostřednictvím sociálních sítí Uživatel po zobrazení grafu konzumace může takový graf sdílet na sociální síti. UC11 - Vygenerovat úpravu jídelníčku Po vložení nové konzumace čokolády si uživatel nechá vygenerovat úpravu jídelníčku, která se váže k dané konzumaci. UC12 - Nechat si poradit pohybovou aktivitu Po vložení nové konzumace čokolády si uživatel nechá systémem poradit, jakou pohybovou aktivitu by měl zvolit Správa uživatelů, přátelství Popisy užití (UC13 až UC19) jsou také schématicky znázorněny na obrázku 1.2. UC13 - Zobrazit seznam uživatelů Umožňuje zobrazit seznam všech uživatelů, kteří jsou zaregistrovaní. UC14 - Upravit údaje o uživateli Administrátor zobrazí seznam uživatelů a vybere si uživatele, jehož údaje chce změnit. Uživateli je dovoleno upravovat jen své vlastní údaje, k údajům jiných uživatelů nemá přístup. UC15 - Smazat uživatele Administrátor zobrazí seznam uživatelů a vybere si uživatele, kterého chce ze systému odstranit. UC16 - Zobrazit seznam přátel Umožňuje uživateli zobrazit seznam všech jeho přátel. Nemá-li žádné, seznam je prázdný. UC17 - Přidat přítele Uživatel zobrazí seznam uživatelů a vybere si takového, se kterým chce navázat přátelství. Pokud daný uživatel žádost o přátelství akceptuje, stávají se přáteli. 11

28 1. Analýza a návrh UC18 - Odstranit přítele Uživatel zobrazí seznam přátel a přítele odstraní. Odstraněného přítele lze v budoucnu znovu přidat na seznam přátel. UC19 - Napsat příteli zprávu Uživatel zobrazí seznam přátel a pošle příteli zprávu nebo rovnou přejde ke psaní zprávy a jméno přítele doplní ručně Kontrola splnění všech požadavků Tabulka 1.1 demostruje pokrytí funkčních požadavků případy užití. Pokud by se stalo, že by některý z případů užití nepokrýval žádný z funkčních požadavků, musel by být takový případ užití neprodleně odstraněn pro svoji nadbytečnost. Na druhé straně, pokud by existoval funční požadavek, který by nebyl splněn ani jedním případem užití, bylo by potřeba takový případ užití přidat. Z tabulky níže je patrné, že všechny funční požadavky jsou pokryty a žádný případ užití není redundantní. Tabulka 1.1: Kontrola splnění požadavků F1 F2 F3 F4 F5 F6 F7 F8 F9 UC1 X X X UC2 X UC3 X UC4 X UC5 X UC6 X UC7 X UC8 X UC9 X UC10 X UC11 X UC12 X UC13 X X X X UC14 X X UC15 X UC16 X X UC17 X UC18 X UC19 X Splněno ano ano ano ano ano ano ano ano ano 12

29 1.5. Návrh databáze 1.5 Návrh databáze Návrh databáze vychází z analytické části, kde byly přesně definované nároky a požadavky na webovou aplikaci. Na obrázku 1.3 je znázorněn hrubý koncept databázového schématu a vztahy mezi jednotlivými entitami. Obrázek 1.3: Vztahy mezi entitami Entity Entita User představuje uživatele systému. Smyčka User-User naznačuje možné přátelství mezi uživateli. U každého uživatele je evidován seznam jeho přátel, který (pokud uživatel dosud nenavázal žádné přátelství) může být i prázdný. 13

30 1. Analýza a návrh Entita Consumption zastupuje jednu konkrétní konzumaci čokolády. Drží si u sebe seznam ingrediencí a informaci o tom, co za čokoládu uživatel zkonzumoval (entita Chocolate Item). Uživatel může mít neomezený počet konzumací, ale jedna určitá konzumace patří výhradně jednomu uživateli. Entita Chocolate Item zastupuje čokoládovou pochoutku, například Milka Alpine Milk 100 g. Její typ je uložen v entitě Chocolate Type (v tomto případě by byl typ tabulka čokolády) a značka je uložená (Milka), spolu dalšími informacemi o výrobci, v entitě Brand. Pokud k této čokoládě existují uživatelské recenze, je entita Chocolate Item provázaná s entitou Review. Entita Review odpovídá recenzi, kterou napsal konkrétní uživatel a váže se k dané čokoládové pochoutce. 14

31 Kapitola 2 Realizace Tato kapitola se věnuje jak popisu hlavních rysů a principů technologií, které byly pro vývoj webové aplikace klíčové, tak i implementaci samotného webového portálu, jeho provázání se sociální sítí a optimalizacím, které byly provedeny, aby byl obsah webového portálu vhodný pro zpracování vyhledávači. 2.1 Použité technologie Java Enterprise Edition Java Enterprise Edition[4] (dříve označována jako J2EE) je platforma poskytující širokou škálu nástrojů pro vývoj, provoz a správu podnikových aplikací v jazyce Java. Java EE je postavena na platformě Java SE 4 a je doplněna mimojiné o technologie, které jsou určeny pro vývoj webových aplikací (JavaServer Faces, Facelets, Java Persistence API aj.). Výhody platformy Java[6]: multiplatformní řešení, nezávislé na operačním systému klienta nebo serveru, standardizované technologie s detailní a dobře strukturovanou dokumentací, široká komunita vývojářů, 4 Java Standard Edition (Java SE nebo dříve označována také jako J2SE) je platforma, která poskytuje rozhraní základních Java knihoven a obsahuje běhové prostředí (JVM - Java Virtual Machine). 15

32 2. Realizace stabilní podpora, vysoká úroveň zabezpečení, robustnost Architektura Javy Enterprise Edition Aplikace postavené na platformě Java EE jsou vícevrstvé. Rozložení jednotlivých vrstev v rámci takové aplikace je zobrazeno na obrázku 2.1. Nezávisle na platformě mají vícevrstvé aplikace typicky tři hlavní, od sebe navzájem oddělené části: prezenční vrstva, aplikační vrstva a vrstva persistence dat. Obrázek 2.1: Java EE - čtyřvrstvá architektura[7] V terminologii Java EE se jedná o tyto čtyři vrstvy: klientská vrstva (client tier), webová vrstva (web tier), aplikační vrstva (business tier) a EIS vrstva (enterprise information system tier). Klientská vrstva Jako klient, nebo-li něco, co se snaží vzdáleně přistoupit k Java EE serveru, si lze představit libovolnou aplikaci (např. webový prohlížeč) 16

33 2.1. Použité technologie nebo systém (jiný server). Komunikace mezi klientem a serverem probíhá tak, že klient zašle serveru požadavek (např. o zobrazení stránky), server požadavek zpracuje a zašle klientovi odpověď. Webová vrstva Webová vrstva se skládá z komponent, které interagují s aplikační vrstvou. Jejich úkolem je především zprostředkovat klientovi dynamicky generovaný obsah a vstupům od uživatele (např. odeslání formuláře, přihlášení se do aplikace, kliknutí na tlačítko apod.) vracet odpovídající výstup. Mezi technologie používané ve webové vrstvě patří: Servlets, Java- Server Faces technology, JavaServer Faces Facelets technology, Java- Server Pages, JavaServer Pages Standard Tag Library a JavaBeans Components. Aplikační (business) vrstva Hlavní logika aplikace je umístěna v aplikační vrstvě. Aplikační vrstva komunikuje s databázovou a webovou vrstvou. Pokud je klientem jiná aplikace než webový prohlížeč (např. speciálně navržená mobilní aplikace), komunikuje přímo s aplikační vrstvou. Vystavět aplikační logiku lze pomocí následujících technologií: Enterprise JavaBeans components, JAX-RS RESTful web services, JAX- WS web service endpoints a Java Persistence API entities. EIS vrstva Součástí EIS vrstvy jsou databázové servery a odkazy na jiné datové zdroje. K přístupu do EIS vrstvy se používají tyto technologie: The Java Database Connectivity API, The Java Persistence API, The Java EE Connector Architecture a The Java Transaction API JavaServer Faces JavaServer Faces[1] je technologie, která rozděluje webovou vrstvu aplikace na dvě základní části. První částí je definice uživatelského prostředí vytvořená pomocí XML 5 tagů. Druhou částí webové vrstvy je aplikační logika, která je tvořena tzv. backing beans. 5 XML (extensible Markup Language) je jazyk, kde význačné části dokumentu (tzv. elementy) jsou označeny pomocí specifických značek. 17

34 2. Realizace Backing bean je třída napsaná v jazyce Java a je provázána s komponentami v GUI 6, je tedy dostupná z JSF stránky. Backing bean musí mít definované jméno a rozsah působnosti (tzv. scope). Příklady druhů scope: application scope - data v backing beaně jsou přístupná po celou dobu běhu aplikace, session scope - data v backing beaně jsou přístupná pouze v rámci aktuální relace, s koncem relace končí i životnost backing bean, request scope - backing bean je přístupná jen v aktuálním požadavku, view scope - životnost a přístupnost dat v backing beaně je možná tak dlouho, dokud se uživatel pohybuje v rámci jedné stránky, tedy dokud metoda action vrací null nebo void. V různých rozšířeních existují i další možnosti pro nastavení rozsahu působnosti - conversation scope, flash scope, custom scope aj Životní cyklus JSF Na obrázku 2.2 je zachycen životní cyklus JSF. Obsluha požadavku o zobrazení JSF stránky až po zaslání odpovědi je rozdělena do šesti částí: restore view, apply request, process validations, update module values, invoke application a render response. V JSF rozlišujeme dva typy požadavků: initial a postback. Initial je takový požadavek, který prochází pouze dvěma fázemi životního cyklu - první (restore view) a poslední (render response). Jako initial označujeme takový požadavek, kdy je o zobrazení stránky požádáno poprvé. Na druhé straně, požadavek typu postback je vytvořen po odeslání formuláře, který se nacházel na stránce, co byla zobrazena jako výsledek initial požadavku. Postback požadavek prochází všemi šesti fázemi životního cyklu, protože typicky je potřeba data z formuláře nějakým způsobem zpracovat a provést na to navázané události. 6 GUI (Graphical User Interface) je uživatelské rozhraní. 18

35 2.1. Použité technologie Obrázek 2.2: Životní cyklus JSF [5] Restore view Pokud bylo ke stránce přistoupeno již v předešlém požadavku, je v této fázi je obnoven komponentový model (component tree). V případě, že je stránka zobrazena poprvé, je sestaven nový komponentový model. Apply request V této fázi se prochází celý komponentový model a každá komponenta kontroluje, které hodnoty z požadavku k ní patří a tyto hodnoty si lokálně ukládá. Process validations Pokud jsou ke stránce připojeny validátory, které mají za úkol kontrolovat, jestli jsou data korektní, jsou spuštěny právě v této fázi. Je-li validace úspěšná, tj. data jsou v pořádku, pokračuje životní cyklus další fází. Je-li validace neúspěšná, je okamžitě vyvolána poslední fáze cyklu (render response). Update module values Díky tomu, že data prošla validací, je bezpečné provést aktualizici dat v příslušných Java Beans. 19

36 2. Realizace Invoke application V této fázi je vyvolána action metoda, kterou uživatel spustil například stisknutím tlačítka nebo kliknutím na odkaz. Tato metoda provede zpracování požadavku. Její návratovou hodnotou je řetězec, který říká, jaká další stránka se po zpracování zobrazí. Render response Poslední fáze cyklu má za úkol vykreslit odpověď v podobě požadované stránky a zaslat ji v zakódované podobě prohlížeči. Celý cyklus se opakuje od začátku, když uživatel znovu odešle formulář, klikne na odkaz apod PrimeFaces PrimeFaces je ajaxový framework rozšiřující aplikace postavené na platformě Java EE o AJAX 7 technologii. Umožňuje vytvoření tzv. Rich Internet Application 8 s použitím čistého programovacího jazyka Java. PrimeFaces vyvíjí společnost Prime Technology jako open source software 9. Tento framework poskytuje vývojářům širokou škálu komponent pro JSF (prvky formuláře, tlačítka, grafy a mnoho dalších). 2.2 Implementace webové aplikace Přihlášení do aplikace Přihlášení do aplikace je realizováno přes JSF formulář s Prime Faces komponentami, viz obrázek 2.3. Pro úspěšné přihlášení je třeba zadat uživatelské jméno a heslo, které se následně ověří proti databázi. 7 AJAX (Asynchronous JavaScript and XML) je souhrnné označení technologií pro vývoj interaktivních webových stránek. 8 Obecné označení technologií, které používají interaktivní webové aplikace. 9 Jako open source je označový takový software, ke kterému je volně dostupný zdrojový kód a uživatelé jej mohou prohlížet, upravovat a využívat. 20

37 2.2. Implementace webové aplikace Obrázek 2.3: Webové rozhraní přihlášení do aplikace Heslo není v databázi z bezpečnostních důvodů evidováno jako prostý text, před uložením hesla do databáze je nejdříve uživatelem zadaný řetězec tzv. osolen [3], je využito metody solení hesla. Sůl je náhodný řetězec (viz fragment zdrojového kódu 2.1, řádek č. 4), který je k heslu připojen. Osolené heslo je zašifrováno pomocí hashovací funkce 10 a teprve takto upravené je uloženo do databáze. Použití soli je výhodné zejména proto, že pouhým pohledem na databázovou tabulku s uloženými hesly uživatelů nemůže útočník zjistit, jaká je jejich neosolená verze, ale také není zjevné, kteří uživatelé mají hesla stejná. Zdrojový kód 2.1: CryptoUtils.java 1 public static String encrypt ( String str ) { 2 BASE64Encoder encoder = new BASE64Encoder (); 3 byte [] salt = new byte [ 8]; 4 rand. nextbytes ( salt ); 5 return encoder. encode ( salt ) + encoder 6. encode ( str. getbytes ()); 7 } 8 9 public static String decrypt ( String encstr ) { 10 if ( encstr!= null && encstr. length () > 12) { 10 Hashovací funkce zajišťuje pro rozdílné vstupní řetězce rozdílné výstupní řetězce. 21

38 2. Realizace String cipher = encstr. substring ( 12); 13 BASE64Decoder decoder = new BASE64Decoder (); try { 16 return new String ( decoder. decodebuffer ( cipher )); 17 } catch ( IOException e) { 18 JsfUtil. adderrormessage ( ResourceBundle 19. getbundle ("/ Bundle ") 20. getstring (" login_decryt_exception " )); 21 } 22 } 23 return ""; 24 } Kliknutí na tlačítko Přihlásit vyvolá příslušnou Java bean, která slouží k zalogování do aplikace (zdrojový kód 2.2). Vložené záznamy se porovnají s referenčními a výsledkem je buď úspěšné přihlášení (návratová hodnota je přímo požadavek nové stránky, řádek č. 17) nebo neúspěšné - návratová hodnota je prázdný řetězec, zahodí se data z formuláře, provede se znovunačtení aktuální stránky a vypíše se hláška o neúspěšné autentizaci. Aby byla obsluha webové aplikace pro administrátora co nejpohodlnější (zejména při čerstvém nahrání na server, kdy ještě v databázi neexistuje žádný uživatel), byla implementována i tzv. zadní vrátka (backdoor), tedy způsob, jak obejít klasickou autentizaci popsanou výše. Volání metody createfirstadminaccount vytvoří v databázi záznam o novém uživateli a přidělí mu administrátorská práva. Zdrojový kód 2.2: LoginBean.java 1 public String login () { 2 3 if ( username. equals (" createfirstadminaccount ")) { 4 createfirstadminaccount (); 5 } 6 7 try { 8 Query q = userfacade. getem (). createquery 9 (" SELECT u FROM User u WHERE u. username = 10 : username "); q. setparameter (" username ", username ); 13 User loggeduser = ( User ) q. getsingleresult (); 14 22

39 2.2. Implementace webové aplikace 15 if ( loggeduser. getpassword (). equals ( password )) { 16 sessionbean. setloggeduser ( loggeduser ); 17 return "/ main / index? faces - redirect = true "; 18 } 19 } catch ( Exception e) { 20 } JsfUtil. adderrormessage ( ResourceBundle 23. getbundle ("/ Bundle ") 24. getstring (" login_wrong_username_password " )); return ""; 27 } Přátelství Přidání nového přítele je realizováno přes PrimeFaces komponentu auto- Complete. Do této komponenty uživatel po jednotlivých znacích vypisuje uživatelské jméno potenciálního přítele. Komponenta mu sama napovídá, jakého uživatele si dle zadaných znaků může přidat (viz obrázek 2.4). Způsob, jakým je v aplikaci implementována nápověda této komponenty, je zobrazeno na ukázce zdrojového kódu 2.3. Vstupem funkce je řetězec zadaný uživatelem. Pokud tento řetězec obsahuje velká písmena, jsou převeda na malá, jak je vidět na řádku č. 4. Následuje cyklus, který prochází všechny uživatele se shodným jménem. Z výsledků hledání je vyloučen samotný uživatel, který přátele vyhledává (podmínka na řádku č. 7) a uživatelé, kteří již jsou jeho přáteli (podmínka na řádku č. 11). Všechny ostatní takto nalezené potenciální kandidáty na přítele funkce vrací jako seznam (řádek č.22). Relace přátelství v aplikaci funguje tak, že pokud si uživatel přidá přítele, jeho příteli se i uživatel, který stál na počátku procesu, zobrazuje dále jako přítel. To samé platí i při smazání přítele. Smaže-li si uživatel svého přítele, zmizí i on ze seznamu jeho přátel. Relace přátelství je tedy bijektivní. Přehled všech přátel je viditelný z profilu uživatele. Uživateli je umožňeno ve svém seznamu přátel vyhledávat a řadit dle všech dostupných parametrů (uživatelské jméno, křestní jméno, příjmení, věk atd.). Zdrojový kód 2.3: UserAction.java 1 public List < User > searchforuser ( String query ) { 2 List < User > suggestions = new ArrayList < >(); 3 23

40 2. Realizace 4 query = query. tolowercase (); 5 6 for ( User u : userfacade. getusers ()) { 7 if (u. equals ( sessionbean. getloggeduser ())) { 8 continue ; 9 } if ( sessionbean. getloggeduser (). getfriends () 12. contains (u)) { 13 continue ; 14 } if (u. getusername (). tolowercase () 17. startswith ( query )) { 18 suggestions. add (u); 19 } 20 } return suggestions ; 23 } Obrázek 2.4: Přidání přítele 24

41 2.3. Provázání se sociální sítí Rozesílání zpráv Na obrázku 2.5 je patrné rozložení PrimeFaces komponent v rámci formuláře, který zajišťuje odesílání zpráv. V komponentě SelectManyMenu je možné zaškrtnout libovolný počet přátel, kterým bude zpráva zaslána. Do této komponenty jsou nahráni pouze vlastní přátelé uživatele. Nemá-li uživatel žádné přátele, nemůže fakticky nikomu zprávu odeslat. Kliknutím na tlačítko odeslat se zpráva uloží do databáze jako řetězec znaků. Uživateli, který ji odeslal, se přiřadí její identifikátor mezi seznam odeslaných zpráv. Uživatelům, kterým byla určena, se identifikátor přiřadí do přijatých zpráv. Fyzicky se text zprávy vyskytuje v databázi pouze jednou, aby nedocházelo k nekonzistencím. Obrázek 2.5: Rozesílání zpráv 2.3 Provázání se sociální sítí Provázání se sociální sítí Facebook je realizováno přes tlačítko Líbí se mi (anglicky Like). Toto tlačítko je na webovém portálu umístěno na veřejné hlavní stránce, na privátní stránce s konzumací uživatele a na stránce s detaily určitého druhu čokolády. Zdrojový kód pro přidání tlačítka poskytuje 25

42 2. Realizace Facebook a je dostupné na /plugins/like-button/. Samotný skript stačí přidat do těla webové stránky a potom na místo, kam chceme umístit tlačítko přidat div se speciálními atributy. Jeden z těchto atributů se nazývá data-href a jeho hodnota definuje, která webová stránka se má označit jako oblíbená. 2.4 Optimalizace webových stránek Search engine optimization (SEO)[8][9], nebo-li optimalizace pro vyhledávače, je soubor metod a doporučení, jak vytvářet webové stránky, aby jejich ohodnocení vyhledávačem bylo co nejvyšší. Na internetu se vyskutují biliony různých stránek, mezi kterými uživatelé typicky vyhledávají pomocí klíčových slov. Výsledkem takového vyhledávání je seznam stránek; zjednodušeně se dá říci, že stránky na top pozicích vyhovují uživatelem zadaným klíčovým slovům více než ty, které jsou v seznamu níže. Dobré ohodnocení stránky vyhledávačem znamená dobré umístění v rámci relevantního seznamu výsledků, tedy dobrou viditelnost pro potenciální návštěvníky. Hlavní důraz SEO metod je kladen na strojové ohodnocení stránky, nikoli na přívětivost uživatelského prostředí. S tím souvisí otázka, jaké metody je ještě vhodné při výstavbě webové stránky použít a jaké už spíše ne - hranice mezi tím, co zlepšuje dosažitelnost webové stránky a tím, co už je jen pouhá manipulace s daty, může být někdy velmi tenká Etické metody Jako etické jsou označovány takové metody SEO, které zlepšují obsah webové stránky a mají dlouhodobý efekt na umístění ve výsledcích vyhledávání. Příklady etických metod: Obsah webových stránek by měl být aktuální, unikátní a neduplicitní. Kód by měl být validní. HTML 11 tagy je třeba používat v souladu s jejich sémantickým, nikoli jen syntaktickým, významem. Názvy souborů, ve kterých jsou stránky uložené, jsou relevatní, tedy odpovídají obsahu. Je třeba si uvědomit, že i název HTML souboru 11 HTML (HyperText Markup Language) je značkovací jazyk, který se používá pro vytváření webových stránek. 26

43 2.4. Optimalizace webových stránek se zobrazuje ve výsledcích vyhledávání; z toho důvodu by měl být co možná nejkratší. Každá stránka musí mít vhodný titulek a nadpis. Je třeba si dát pozor, aby každá stránka měla nadpis úrovně h1 jiný, neduplicitní. U obrázků je nutný popis (tj. výstižně vyplněný atribut alt elementu img). Pomocí meta tagů[10] jsou vyhledávačům předávány další potřebné informace o webové stránce. Meta tagy se standardně nachází v hlavičce HTML souboru a slouží k popisu obsahu stránky, jména autora, definici klíčových slov a typu kódování. Budování zpětných odkazů v rámci vlastní webové stránky je přínosné, protože sběrač dat (tzv. crawler) v závislosti na provázanosti jednotlivých stránek usuzuje, která stránka v rámci celého webu je důležitější (směřuje na ni více vnitřních odkazů) a která méně. Přítomnost sitemap souboru v kořenovém adresáři webu pomáhá sběračům se lépe na stránce orientovat. Sitemap soubor, tedy soubor obsahující mapu stránek v takové podobě, aby byla pro následné automatizované zpracování co nejvhodnější, není třeba vytvářet ručně, ale nechat si jej vygenerovat pomocí vhodného nástroje. Soubor robots.txt, opět umístěný v kořenovém adresáři webu, poskytuje informace o tom, které stránky má vyhledávač indexovat a které ne Neetické metody Neetické SEO metody mají jediný cíl - okamžitě zvýšit pozici webové stránky. Metody, jakých je k tomu použito, jsou často zavádějící a podvodné; ze strany vyhledávačů je snaha se těmto metodám bránit a takové stránky penalizovat. Příklady neetických metod: Skrytý text je na stránky umisťován za účelem umělého zvýšení počtu klíčových slov. Webové stránky se skrytým (neviditelným) textem se mohou krátkodobě dostat na lepší pozici, protože se skokově zvýší frekvence výskytu klíčových slov. Spamování je manipulace s obsahem jiných webů takovým způsobem, aby na cílovou webovou stránku vedlo velké množství zpětných odkazů. Toho lze dosáhnout například přidáváním velkého množství příspěvků s odkazy do diskuzních fór, návštěvních knih nebo na 27

44 2. Realizace blogy, které s tématem webové stránky nemusí mít vůbec nic společného. Spamování se zpravidla neprovádí ručně (pro velkou pracnost), ale jsou na to využívány automatizované nástroje. Podsouvání stránek je klamavá metoda, kdy se odkaz na stránce nebo stránka samotná tváří, že odkazuje někam jinam, než tomu je ve skutečnosti. Robotům, kteří prochází stránky a sbírají data, se podsouvá jiný obsah než ten, který je zobrazen návštěvníkům. Odkazové farmy jsou webové stránky, které jsou vzájemně provázány odkazy. Účel takového provázání je opět jediný - získat od vyhledávače lepší ohodnocení, přičemž na takových stránkách často nebývají pro uživatele žádné relevatní informace Optimalizace webového portálu Zapracování etických metod SEO proběhlo v několika krocích. Už při prvotním návrhu stránek byly tyto metody brány v potaz - každá stránka má unikátní, pro ni výstižný titulek a jediný neduplicitní nadpis úrovně h1, důležité fráze jsou v textu vyznačené elementy strong nebo em, které mají především sémantický význam. V hlavičkách XHTML 12 souborů jsou uvedeny meta tagy s popisem obsahu, klíčových slov, jména autora, typu kódování a jazyku obsahu webových stránek. Po ukončení vývoje webového portálu a nasazení na produkční server je třeba vygenerován soubor sitemap.xml a následně robots.txt, kde je omezeno automatizované sbírání dat a procházení stránek jen na veřejnou sekci webu a veřejně dostupné soubory. 12 XHTML (extensible HyperText Markup Language) je značkovací jazyk používaný k tvorbě hypertextových dokumentů. 28

45 Kapitola 3 Testování Cílem testování je odhalit případné nedostatky v návrhu uživatelského rozhraní webového portálu a ověřit jeho použitelnost. 3.1 Příprava testování Webová aplikace je navržena tak, aby ji mohli používat dva typy uživatelů - běžný uživatel a administrátor. Při přípravě testování byl kladen důraz na zachycení profilu průměrného uživatele a definici častých úloh a akcí, který tento uživatel v aplikaci provádí Profily typických uživatelů Administrátor Administrátor aplikace je člověk kolem 35 let, který bez problému ovládá PC, nemá zkušenosti s vývojem aplikací, ale má povědomí o tom, jak vývoj a údržba takových aplikací probíhá. Rozumí základům programování, ale nikdy se této činnosti více do hloubky nevěnoval. Běžný uživatel Běžný uživatel aplikace je mladý člověk kolem 25 let, který zvládá základní ovládání PC, ale nemá zkušenosti s vývojem aplikací. Na internetu tráví podstatnou část svého volného času a je aktivní na sociálních sítích. 29

46 3. Testování Testovací úlohy Scénář úloh pro běžného uživatele: 1. Projít kompletní registrací, 2. upravit si svůj uživatelský profil, 3. přidat přítele, 4. odeslat příteli zprávu, 5. přidat recenzi k libovolné čokoládě, 6. přidat konzumaci, 7. vygenerovat graf konzumace, označit graf jako Líbí se mi, 8. vygenerovat doporučenou úpravu jídelníčku. Scénář úloh pro administrátora: 1. Upravit osobní údaje libovolného běžného uživatele, 2. smazat uživatele, 3. přidat do systému dvě nové ingredience, 4. přidat do systému novou čokoládu, editovat její vlastnosti a přiřadit jí nově vytvořené ingredience. 3.2 Průběh testování Pro účely testování bylo vybráno deset jedinců, kteří odpovídali požadovaným uživatelským profilům. Všichni testovaní dostali před testem dotazník ověřující jejich znalost práce s počítačem a zkušenosti s podobnými aplikacemi. Šest z nich dostalo k testování úlohy pro běžného uživatele, čtyři pro administrátora. Během testování byl přítomný moderátor, který testované seznámil s testem. V případě, kdy měl některý z testovaných vážné problém s vyřešením úlohy, fungoval moderátor také jako malá nápověda. Po průchodu všemi úlohami následovalo krátké interview s moderátorem, kdy byl testovaný podroben několika otázkám týkajících se zejména celkového dojmu z webové aplikace. Na závěr dostali testovaní k vyplnění další dotazník, který se přímo týkal řešených úloh. 30

47 3.2. Průběh testování Dotazník před testem 1. Kolik Vám je let (jedna odpověď): a) méně než 20 b) c) d) e) f) více než Jaké je Vaše nejvyšší ukončené vzdělání (jedna odpověď): a) vyučen(a) b) vyučen(a) s maturitou c) středoškolské d) vysokoškolské 3. Počítač používám (jedna odpověď): a) denně b) několikrát do týdne c) několikrát do měsíce d) nikdy 4. Kde všude využíváte počítač (více odpovědí): a) doma b) v práci c) ve škole d) jinde 5. Jak často jste aktivní na sociální síti (jedna odpověď): a) ano, zpravidla každý den b) ano, několikrát do týdne c) mám účet na sociální síti, ale nevyužívám jej d) ne 31

48 3. Testování Dotazník po testu 1. Setkal(a) jste se někdy s podobnou webovou aplikací (jedna odpověď): a) ano b) ne 2. Setkal(a) jste se při průchodu úlohami s některou, která se vám nepodařila vyřešit (jedna odpověď): a) ano, doplňte číslo úlohy: b) ne 3. Orientace na webovém portálu byla pro vás (jedna odpověď): a) jednoduchá b) mírně obtížná c) obtížná 4. Pokud vám orientace připadala mírně obtížná nebo obtížná, navrhněte změny ve vzhledu: 5. Jaké funkce vám na webovém portálu chybí: 6. Budete v budoucnu využívat webový portál pro milovníky čokolády (jedna odpověď): a) ano b) ne c) nevím 3.3 Výsledky testování Vyhodnocení testování proběhlo na základě analýzy dat získané z dotazníků, reakcí testovaných v průběhu samostatného řešení úloh a následných připomínek. Data z úvodního dotazníku: 40% testovaných je ve věkovém rozmezí let, 30% je ve věku let a po 10% pro věkové rozmezí pod 20 let, let a let. Nejvyšší dosažené vždělání testovaných je ze 70% středoškolské a z 30% vysokoškolské. Všichni testovaní uvedli, že počítač používají denně a to jak doma, tak v práci, tak i ve škole. 80% dotazovaných je aktivních na sociální síti každý den, 20% několikrát do týdne. 32

49 3.3. Výsledky testování Během samostatné práce na zadaných úlohách nikdo z testovaných nenarazil na větší problém, který by bylo třeba konzultovat. Jediné výtky směřovaly k nejasnému popisu několika položek menu, které při menším rozlišení prohlížeče zmizely a nahradila je ikona. Data ze závěrečného dotazníku: celých 90% dotazovaných se dosud nesetkalo s podobnou webovou aplikací, nikdo z dotazovaných nenarazil na úlohu, kterou by nebyl schopen vyřešit, a zároveň nikdo neměl problémy s orientací na webovém portálu. Na otázku, jaké funkce na webovém portálu dotazovanému chybí, se objevily tyto odpovědi: Chybí propracovanější tvorba jídelníčku - co např. spolupráce s výživovým poradcem nebo dietologem? Představoval by bych si větší výčet možných pohybových aktivit. Pro budoucí možné používání webového portálu se vyslovilo 60% testovaných, 20% odmítlo a 20% zatím neví. Webovou aplikaci se podařilo úspěšně otestovat a ověřit si, že je bez problému použitelná. Na základě výstupů z testování došlo k úpravě uživatelského rozhraní. K položkám menu, které se zobrazují jen jako ikona, byl přidán popis zobrazitelný po najetí myší. 33

50

51 Závěr Tato práce byla zaměřena na analýzu, návrh a implementaci webového portálu pro milovníky čokolády. Plně funkční webová aplikace prošla úspěšně uživatelskými testy. Hlavním přínosem webového portálu je inovativní přístup k problematice konzumace nezdravých potravin. Prostřednictvím webového portálu je možné nejen sledovat svou vlastní spotřebu čokolády, ale také mít ji pod kontrolou. Možností, jak v budoucnu webový portál rozšířit, je mnoho. Zdokonalit lze generování vhodného jídelníčku systémem a to jak po stránce implementační, tak i faktické - navázat spolupráci s odborníkem na výživu. Dále by stálo za úvahu propojení profilů těch uživatelů, kteří jsou aktivní v rámci sítě Runtastic 13, s profilem na webovém portálu. Data z této sítě by doplnila data o energetickém příjmu čokolády, což by ovlivnilo tvorbu stravovacího plánu a umožnilo tak jeho větší individualizaci. V neposlední řadě autor přímo počítá s vývojem mobilní aplikace pro telefony se systémem Android a Windows Phone. 13 Runtastic je aplikace pro chytré mobilní telefony určená pro zaznamenávání sportovních aktivit (běh, cyklistika, sjezdové lyžování atd.) a také sociální síť, kde se sdružují lidé s aktivním přístupem ke sportu. Webové stránky jsou dostupné na: 35

52

53 Literatura [1] GEARY D., HORSTMANN C.: Core JavaServer Faces, Third Edition. 1. vyd. Upper Saddle River (New Jersey) : Prentice Hall Press, s. ISBN [2] RUBINGER A. L., BURKE B.: Enterprise JavaBeans vyd. Sebastopol (California): O Reilly Media, s. ISBN [3] Solení hesel aneb Sůl nad zlato [online] [cit ]. Dostupné z: [4] Java EE [online]. [cit ]. Dostupné z: [5] The Life Cycle of a JavaServer Faces Page [online]. [cit ]. Dostupné z: /bnaqq.html. [6] Oracle a Java - funkce a výhody [online]. [cit ]. Dostupné z: /features/index.html. [7] Your First Cup: An Introduction to the Java EE Platform [online]. [cit ]. Dostupné z: /firstcup/doc/java-ee002.htm. [8] Search engine optimization [online]. [cit ]. Dostupné z: /lecture05.pdf. 37

54 Literatura [9] JERKOVIC I. J.: SEO Warrior. 1. vyd. Sebastopol (California): O Reilly Media, s. ISBN [10] HTML <meta> Tag [online]. [cit ]. Dostupné z: 38

55 Příloha A Instalační a uživatelská příručka Příručka popisuje postup nasazení aplikace na server a návod k jejímu používání ze strany běžného uživatele a administrátora. A.1 Instalační příručka Pro úspěšné nasazení aplikace je třeba, aby konfigurace serveru splňovala tyto minimální požadavky: aplikační server Oracle GlassFish 4.0 a databáze Oracle MySQL. Před instalací aplikace na server je třeba zajistit, aby byla vytvořeno prázdné databázové schéma s názvem chocolate. Otevřete projekt v NetBeans IDE 14. Nastavte uživatelské jméno a heslo k databázi; k tomuto účelu jsou v projektu připraveny soubory persistence.xml a glassfish-resources.xml. Projekt spusťte. Pro přímé nasazení aplikace na aplikačním serveru Oracle GlassFish je na přiloženém CD připraven WAR 15 archiv. A.2 Uživatelská příručka A.2.1 A Administrátor Přihlášení do aplikace Pro první přihlášení administrátora do aplikace, je-li databáze prázdná a žádný uživatelský profil ještě neexistuje, je možné využít připravená zadní 14 NetBeans IDE je vývojové prostředí volně dostupné na: 15 WAR (Web application ARchive) je soubor používaný k distribuci webových aplikací vytvořených na platformě Java EE. 39

56 A. Instalační a uživatelská příručka vrátka a přihlásit se jako administrátor bez nutnosti projít registrací. Na stránce s přihlašovacím formulářem je třeba zadat do pole jméno create- FirstAdminAccount a do pole heslo libovolný neprázdný řetězec. Následně je třeba vrátit se na úvodní stránku, znovu přejít k přihlašovacímu formuláři a zadat tyto údaje - jméno: admin, heslo: tajne. Pokud přihlášení neproběhlo úspěšně, zkontrolujte, jestli v databázi chocolate v tabulce usertable existuje záznam o nově vytvořeném uživateli. Pokud ne, opakujte celý postup znovu, anebo vytvořte v databázi nový záznam ručně. Jestliže budete vytvářet záznam ručně, je třeba nejdříve vytvořit v tabulce address záznam o adrese, poté v tabulce usertable vyplnit alespoň uživatelské jméno, heslo, pohlaví, uživatelskou roli (1 - administrátor, 0 - běžný uživatel) a identifikační číslo předem vytvořené adresy. A Správa uživatelských účtů Kliknutím na položkou menu Uživatelé Seznam uživatelů se zobrazí kompletní výčet všech uživatelských účtů. Mezi uživateli je možné vyhledávat dle libovolného kritéria a řadit je poklepáním na první buňku sloupce, podle kterého chceme řazení provést. Pro správu uživatelských účtů jsou připravené tři akce - editace již existujících údajů, smazání uživatelského účtu nebo vytvoření nového uživatelského účtu. Editace uživatele Okno s editací údajů konkrétního uživatele se zobrazí při stisknutí tlačítka tužky. V dialogovém okně se nachází předvyplněné všechny údaje, které je možné upravit. Pro aplikování nových úprav je třeba stisknout tlačítko Uložit, pro návrat k původnímu stavu a zahození úprav tlačítko Zavřít. Smazání uživatele Smazat účet je možné kliknutím na ikonu křížku. Potvrzením akce v dialogovém okně, které se následně objeví, jsou všechna uživatelova data nenávratně smazána. Vytvoření nového uživatele Vytvořit uživatelský účet lze pomocí tlačítka Nový uživatel. Kromě změny role při editaci uživatele je toto je jediný způsob, jak z aplikace vytvořit dalšího administrátora systému. Při klasickém průchodu registrací je uživateli automaticky přiřazena role bežného uživatele. 40

KIV/PIA 2013 Jan Tichava

KIV/PIA 2013 Jan Tichava KIV/PIA 2013 Jan Tichava Java EE JSF, PrimeFaces Spring JPA, EclipseLink Java Platform, Enterprise Edition Persistence Zobrazovací vrstva Interakce aplikací Deployment Java Persistence API Enterprise

Více

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče. KAPITOLA 3 Architektura aplikací na frameworku Rails V této kapitole: modely, pohledy, řadiče. 58 Část I: Začínáme Jedna ze zajímavých vlastností frameworku Rails spočívá v tom, že klade docela závažná

Více

MapleCloud a jeho použ ití. Vladimír Žák

MapleCloud a jeho použ ití. Vladimír Žák MapleCloud a jeho použ ití Vladimír Žák Brno, 2015 Obsah 1 Úvod... 4 2 Novinky v MapleCloud pro Maple 2015... 5 3 MapleCloud a registrace... 6 4 Použití MapleCloud přímo z Maple 2015... 7 4.1 Popis jednotlivých

Více

Java a Caché IV: Manipulace s objekty

Java a Caché IV: Manipulace s objekty 1 z 6 11.1.2007 11:13 přihlašovací jméno heslo Registrace Přihlásit články odkazy aktuality CZJUG konference o portálu přidejte se o nás Vyhledávání Text: najdi Oborový filtr J2ME J2SE J2EE Enterprise

Více

KIV/PIA Semestrální práce

KIV/PIA Semestrální práce KIV/PIA Semestrální práce Diskuzní fórum Tomáš Časta(A10N0057P) casta@students.zcu.cz 1. Architektura aplikace 1.1 MVC Model-view-controller (MVC) je softwarová architektura, která rozděluje datový model

Více

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress www.webdevel.cz Webdevel s.r.o. IČ 285 97 192 DIČ CZ28597192 W www.webdevel.cz E info@webdevel.cz Ostrava Obránců míru 863/7 703 00 Ostrava Vítkovice M 603

Více

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k

Více

Metodická příručka pro učitele. InspIS SET modul školní testování

Metodická příručka pro učitele. InspIS SET modul školní testování Metodická příručka pro učitele InspIS SET modul školní testování Tato Metodická příručka pro učitele byla zpracována v rámci projektu Národní systém inspekčního hodnocení vzdělávací soustavy v České republice

Více

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nástroje a frameworky pro automatizovaný vývoj Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Proces vývoje webové aplikace Předepsaná adresářová struktura. Kompilace zdrojových kódů.

Více

JavaServer Faces Zdeněk Troníček

JavaServer Faces Zdeněk Troníček JavaServer Faces Zdeněk k Troníček JSF aplikace Faces servlet web.xml faces-config.xml JSF (*.jsp) Backing Beans (*.java) model (*.java) libraries

Více

Sem vložte zadání Vaší práce.

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Rezervační komponenta pro informační systém sportovního

Více

Uživatelská příručka systému pro administrátory obcí a manuál pro správce portálu

Uživatelská příručka systému pro administrátory obcí a manuál pro správce portálu Softwarová podpora tvorby rozvojových dokumentů obcí Uživatelská příručka systému pro administrátory obcí a manuál pro správce portálu Verze 1.3 Zpracováno v rámci projektu CZ.1.04/4.1.00/62.00008 ELEKTRONICKÁ

Více

Abstrakt. Klíčová slova. Abstract. Key words

Abstrakt. Klíčová slova. Abstract. Key words Vize portálu KNIŽNÍ DATABÁZE Jakub Houžvička Abstrakt Tato semestrální práce má pomoci seznámit s vizí projektu Knižní databáze. Jedná se o projekt v podobě webového portálu přístupnému všem uživatelům

Více

DATA ARTICLE. AiP Beroun s.r.o.

DATA ARTICLE. AiP Beroun s.r.o. DATA ARTICLE AiP Beroun s.r.o. OBSAH 1 Úvod... 1 2 Vlastnosti Data Article... 1 2.1 Požadavky koncových uživatelů... 1 2.2 Požadavky na zajištění bezpečnosti a důvěryhodnosti obsahu... 1 3 Implementace

Více

Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Technologie Java Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trocha historie Java vznikla v roce 1995 jak minimalistický programovací jazyk (211 tříd). Syntaxe vycházela z C/C++. V

Více

Ostatní portálové aplikace

Ostatní portálové aplikace Univerzitní informační systém Slovenská zemědělská univerzita v Nitře Ostatní portálové aplikace Svazek 9 Verze: 1.20 Datum: 10. března 2016 Autor: Jitka Šedá, Martin Tyllich Obsah Seznam obrázků 5 1

Více

Parametrizace, harmonogram

Parametrizace, harmonogram Parametrizace, harmonogram Modul slouží pro parametrizování informačního systému a pro vytváření časového plánu akademického roku na fakultě. Fakulty si v něm zadávají a specifikují potřebné "časové značky"

Více

Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora

Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora UŽIVATELSKÁ TECHNICKÁ DOKUMENTACE ANKETA : Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora [2ITa] [sk1] 1 Obsah DŮLEŽITÉ UPOZORNĚNÍ!!!... 3 PROHLÁŠENÍ O AUTORSTVÍ:... 3 ANOTACE:...

Více

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, v doslovném překladu "světová rozsáhlá síť neboli celosvětová síť, je označení

Více

Nástroj WebMaker TXV 003 28.01 první vydání Únor 2009 změny vyhrazeny

Nástroj WebMaker TXV 003 28.01 první vydání Únor 2009 změny vyhrazeny Nástroj WebMaker TXV 003 28.01 první vydání Únor 2009 změny vyhrazeny 1 TXV 003 28.01 Historie změn Datum Vydání Popis změn Únor 2009 1 První verze (odpovídá stavu nástroje ve verzi 1.6.2) Obsah 1 Úvod...3

Více

Manuál administrátora FMS...2

Manuál administrátora FMS...2 Manuál administrátora Manuál administrátora FMS...2 Úvod... 2 Schéma aplikace Form Management System... 2 Úvod do správy FMS... 3 Správa uživatelů... 3 Práva uživatelů a skupin... 3 Zástupci... 4 Avíza

Více

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,

Více

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE INTERPI Interoperabilita v paměťových institucích Program aplikovaného výzkumu a vývoje národní kulturní identity (NAKI) (DF11P01OVV023) Zpracovali: Marie

Více

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV) Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java

Více

Převod LN aplikace do xpages

Převod LN aplikace do xpages Převod LN aplikace do xpages Josef Kadlčík, jkadlcik@trask.cz 23.11.2010 Greenpoint Agenda Potřebné nástroje Porovnání LN a xpages / JSF Ukázka převáděné LN aplikace Komponenty Extension Library Ukázka

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

VYTVÁŘENÍ OBSAHU KURZŮ

VYTVÁŘENÍ OBSAHU KURZŮ VYTVÁŘENÍ OBSAHU KURZŮ Mgr. Hana Rohrová Mgr. Linda Huzlíková Ing. Martina Husáková Fakulta informatiky a managementu Univerzity Hradec Králové Projekt je spolufinancován Evropským sociálním fondem a státním

Více

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Semináˇr Java X J2EE Semináˇr Java X p.1/23 Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,

Více

Projekty pro výuku programování v jazyce Java

Projekty pro výuku programování v jazyce Java JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil

Více

Základní ovládání aplikace

Základní ovládání aplikace Základní ovládání aplikace Základem ovládání aplikace je jednoduchý toolbar (panel nástrojů) ve spodní části obrazovky, který umožňuje přepínání mezi jednotlivými obrazovkami aplikace. Jsou zde zobrazeny

Více

Ostatní portálové aplikace

Ostatní portálové aplikace Akademický informační systém ŠKODA AUTO VYSOKÁ ŠKOLA o.p.s. Ostatní portálové aplikace Svazek 9 Verze: 1.20 Datum: 10. března 2016 Autor: Jitka Šedá, Martin Tyllich Obsah Seznam obrázků 5 1 Absolventi

Více

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV) Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java

Více

Uživatelský manuál Radekce-Online.cz

Uživatelský manuál Radekce-Online.cz Uživatelský manuál Radekce-Online.cz (revize 06/2011) V prvním kroku třeba vstoupit do administrace na adrese www.redakce-online.cz kterou naleznete na záložce Administrace / Vstup do Administrace, pro

Více

PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton

PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton PHP Best Practices Please try to fit your code to 80 columns. That's decimal 80. A. Morton Koncepce větších aplikací Front Controller Design Pattern Celý web má jeden přístupový bod, přes který se posílají

Více

Popis ovládání dokumentu s přiloženými obrázky

Popis ovládání dokumentu s přiloženými obrázky Popis ovládání dokumentu s přiloženými obrázky V dokumentu se můžeme orientovat a) pomocí záložky (lišta vlevo), kde jsou odkazy přímo na názvy jednotlivých kapitol příručky b) nebo lze dokument číst stránkováním

Více

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze NOVINKY V JEE EJB 3.1 Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze PROGRAM Seznámení s Java Enterprise Edition (JEE) Enterprise Java Beans (EJB) Novinky v EJB 3.1 2 JAVA EDITIONS Java

Více

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín Kolekce ArrayList napsal Pajclín Tento článek jsem se rozhodl věnovat kolekci ArrayList, protože je to jedna z nejpoužívanějších. Tento článek není kompletním popisem třídy ArrayList, ale budu se snažit

Více

SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120

SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120 ALARM PRODEJ.CZ OFICIÁLNÍ DISTRIBUTOR VÝROBKŮ ELDES PRO ČESKOU REPUBLIKU UVÁDÍ INSTRUKTÁŽNÍ PREZENTACI SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120 ALARM PRODEJ.CZ je součástí CENTR

Více

Manuál pro administrátory. Manuál. Verze 1.0.11. pro administrátory

Manuál pro administrátory. Manuál. Verze 1.0.11. pro administrátory Manuál Verze 1.0.11 pro administrátory Obsah 1 Přihlášení do administračního rozhraní... 3 2 Administrační rozhraní... 5 2.1. Hlavní stránka... 5 2.2. Společnost... 6 2.2.1 Stav online... 6 2.2.2 Uživatelé...

Více

Obrázek 6.14: Prohlížec nápovedy

Obrázek 6.14: Prohlížec nápovedy JavaHelp Základní popis systému JavaHelp Soucástí vetšiny interaktivních aplikací je nápoveda (help) aplikace v Jave nejsou výjimkou. Systém JavaHelp je napsaný v Jave a je urcený pro aplikace vytvárené

Více

Přizpůsobení JSTL pro Google App Engine Datastore

Přizpůsobení JSTL pro Google App Engine Datastore Přizpůsobení JSTL pro Google App Engine Datastore Vítězslav Novák Katedra Aplikovaná informatika Ekonomická fakulta, VŠB-TU Ostrava 1 Google App Engine Google App Engine je zástupcem distribučního modelu

Více

Operační systém UNIX

Operační systém UNIX UNIX z pohledu uživatele 1 Operační systém UNIX Nejzákladnější komponenty:! jádro (kernel)! shell! utility Jádro operačního systému! v podstatě představuje vlastní operační systém! fyzicky je to jediný

Více

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS STANISLAV SEHNAL

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS STANISLAV SEHNAL VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS WEBOVÉ ROZHRANÍ

Více

Metodika. Oznámení o vykonávání působností v agendě ve smyslu zákona č. 111/2009. Sb., o základních registrech. Verze 1.6

Metodika. Oznámení o vykonávání působností v agendě ve smyslu zákona č. 111/2009. Sb., o základních registrech. Verze 1.6 Metodika Oznámení o vykonávání působností v agendě ve smyslu zákona č. 111/2009 Sb., o základních registrech Verze 1.6 AIS RPP Působnostní určeno pro oznamovatele Oznámení o vykonávání působností č. 111/2009

Více

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika Napojení e-shopu na obchodní portál aukro.cz bakalářská práce Autor: Josef Vrbata Vedoucí práce: Ing.

Více

www prezentace restaurace

www prezentace restaurace www prezentace restaurace www presentation of restaurant Ladislav Jeníček Bakalářská práce 2010 UTB ve Zlíně, Fakulta aplikované informatiky, 2010 4 ABSTRAKT Bakalářská práce se zabývá webovou prezentací

Více

Inteligentní vyhledávač hodnocení knih

Inteligentní vyhledávač hodnocení knih MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Inteligentní vyhledávač hodnocení knih Bakalářská práce Tomáš Kácel Brno, 2012 Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem

Více

Ostatní portálové aplikace

Ostatní portálové aplikace Univerzitní informační systém Panevropská vysoká škola Ostatní portálové aplikace Svazek 9 Verze: 1.20 Datum: 10. března 2016 Autor: Jitka Šedá, Martin Tyllich Obsah Seznam obrázků 5 1 Helpdesk pro UIS

Více

OBSAH. Předmluva 13 Poděkování 14. 1. Přehled dnešního vývoje webů 15. 2. Design pro minulost, přítomnost i budoucnost 33

OBSAH. Předmluva 13 Poděkování 14. 1. Přehled dnešního vývoje webů 15. 2. Design pro minulost, přítomnost i budoucnost 33 OBSAH Předmluva 13 Poděkování 14 1. Přehled dnešního vývoje webů 15 Definice webdesignu 16 Sedm pravidel webdesignu 19 Tři filozofie webdesignu 20 Filozofie použitelnosti 21 Filozofie multimédií 25 Filozofie

Více

Navigace na webových stránkách

Navigace na webových stránkách Navigace na webových stránkách Tato kapitola navazuje na kapitoly o přístupnosti, použitelnosti a optimalizaci webových stránek a podrobněji popisuje tvorbu informační architektury webových stránek, zejména

Více

Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich

Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich Návrh aplikace Project Westpon Inteligentní simulátor budov Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich . Úvod.. Účel dokumentu Tento dokument má za účel detailně popsat návrh

Více

Architektura aplikace

Architektura aplikace Architektura aplikace MARBES-JIRA plugin Tým: GRSS Členové: František Schneider Jaroslav Ráb Lukáš Gemela Jaromír Staněk Upravil Verze dokumentu Datum F. Schneider 1.0 25.3.2012 F. Schneider 2.0 25.4.2012

Více

Manuál k aukčnímu portálu Diakonie ČCE

Manuál k aukčnímu portálu Diakonie ČCE Manuál k aukčnímu portálu Diakonie ČCE I. OBECNÉ INFORMACE Tento manuál ve stručnosti popisuje aukční portál Diakonie ČCE. Je určen především dosavadním správcům webů diakonické rodiny, kteří mají alespoň

Více

HEIS VÚV V ROCE 2006 Jiří Picek Klíčová slova Hydroekologický informační systém VÚV T.G.M. (HEIS VÚV) je centrálním informačním systémem odborných sekcí ústavu. Jeho hlavním posláním je zajištění zpracování,

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

12. Základy HTML a formuláře v HTML

12. Základy HTML a formuláře v HTML 12. Základy HTML a formuláře v HTML 1) Co je to HTML a historie HTML 2) Termíny v HTML a. tag b. značka c. element d. atribut e. entita 3) specifikace a. html, xhtmll b. rozdíly xhtml a html 4) struktura

Více

Delphi podstata, koncepce a metody MDI aplikace

Delphi podstata, koncepce a metody MDI aplikace Delphi podstata, koncepce a metody MDI aplikace Bc. Tomáš Selucký, Ústav statistiky a operačního výzkumu, Provozně ekonomická fakulta, Mendelova zemědělská a lesnická univerzita v Brně, selucky@selucky.com

Více

MATURITNÍ PRÁCE dokumentace

MATURITNÍ PRÁCE dokumentace MATURITNÍ PRÁCE dokumentace Jídelníček SŠIEŘ pro Android Martin Bartoň školní rok: 2012/2013 obor: třída: Počítačové systémy PS4.A ABSTRAKT Práce je zaměřená na problematiku tvorby Android aplikací,

Více

Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv. V prostředí společnosti. Pražská vodohospodářská společnost a.s.

Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv. V prostředí společnosti. Pražská vodohospodářská společnost a.s. Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv V prostředí společnosti Pražská vodohospodářská společnost a.s. Obsah 1. ÚVOD... 5 2. PROSTŘEDÍ WORKSPACE... 5 2.1 TECHNOLOGIE

Více

NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková

NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková studijní materiál ke kurzu Odborné publikování, citační etika a autorské právo s podporou ICT Fakulta informatiky a managementu Univerzity Hradec

Více

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz Platformy / technologie Jaroslav Žáček jaroslav.zacek@osu.cz Které platformy / technologie znáte Java Java Java EE 5 Java EE 6 Pruning, Extensibility Ease of Dev, CDI, JAX-RS Java EE 7! JMS 2, Batch, Concurrency,

Více

Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller

Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller Gustav Hrudka Katedra měřicí a řídicí techniky, VŠB Technická univerzita v Ostravě, tř. 17. listopadu, 708 33

Více

UŽIVATELSKÁ DOKUMENTACE PRO DODAVATELE. Stav ke dni 1. 8. 2013 v. 2.0

UŽIVATELSKÁ DOKUMENTACE PRO DODAVATELE. Stav ke dni 1. 8. 2013 v. 2.0 UŽIVATELSKÁ DOKUMENTACE PRO DODAVATELE Stav ke dni 1. 8. 2013 v. 2.0 Obsah: 1 Úvod... 3 1.1 Definice a zkratky... 4 1.2 Podmínky provozu... 4 1.3 Pokyny k užívání dokumentu... 4 1.4 Obecné informace o

Více

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE 2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy

Více

MS WINDOWS UŽIVATELÉ

MS WINDOWS UŽIVATELÉ uživatelské účty uživatelský profil práce s uživateli Maturitní otázka z POS - č. 16 MS WINDOWS UŽIVATELÉ Úvod Pro práci s počítačem v operačním systému MS Windows musíme mít založený účet, pod kterým

Více

OpusBenefit. Uživatelský manuál k verzi 1.0 verze 1-2010 1 / 24. K l i e n t s k á d a t a b á z e

OpusBenefit. Uživatelský manuál k verzi 1.0 verze 1-2010 1 / 24. K l i e n t s k á d a t a b á z e 1 / 24 1 Úvod Program OpusBenefit byl vytvořen proto, aby naši obchodní partneři mohli sledovat aktivity svých zákazníků (nákupy v jejich obchodech, využívání jejich služeb, návštěvy jejich zařízení),

Více

MANUÁL K APLIKACI SOFTRADE. 1. Pohyb v aplikaci 2. Aukce obálkového výběru 3. Aukce otevřená v ceně

MANUÁL K APLIKACI SOFTRADE. 1. Pohyb v aplikaci 2. Aukce obálkového výběru 3. Aukce otevřená v ceně MANUÁL K APLIKACI SOFTRADE 1. Pohyb v aplikaci 2. Aukce obálkového výběru 3. Aukce otevřená v ceně Přihlášení do aplikace aplikaci naleznete na webové adrese https://www.softrade.cz/lesycr v levé části

Více

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro administrátora krizového řízení

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro administrátora krizového řízení Provozní dokumentace Seznam orgánů veřejné moci Příručka pro administrátora krizového řízení Vytvořeno dne: 15. 6. 2011 Aktualizováno: 22. 10. 2014 Verze: 2.2 2014 MVČR Obsah Příručka pro administrátora

Více

Manuál k aplikaci WANAS

Manuál k aplikaci WANAS Manuál k aplikaci WANAS OBSAH 1 DŮLEŽITÉ INFORMACE PRO PRÁCI V NOVÉ VERZI APLIKACE WANAS.. 2 2 PROSTOROVÁ DATA... 3 2.1 POPIS HLAVNÍCH FUNKCÍ... 3 2.2 PRÁCE S DEFINIČNÍM BODEM SEGMENTU... 4 2.3 PRÁCE S

Více

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1 Manuál správce VNI 5.1 verze 0.2 Manuál správce VNI 5.1 VARIANT plus, spol. s.r.o., U Obůrky 5, 674 01 TŘEBÍČ, tel.: 565 659 600 technická linka 565 659 655 (pracovní doba 7:30 15:00) www.variant.cz isb@variant.cz

Více

SEO Audit a další úpravy www.stranka.cz KONTAKT. Bc. Martin Dřímal E-mail: info@seoskrz.cz Telefon: 736 510 069

SEO Audit a další úpravy www.stranka.cz KONTAKT. Bc. Martin Dřímal E-mail: info@seoskrz.cz Telefon: 736 510 069 2015 SEO Audit a další úpravy www.stranka.cz KONTAKT Bc. Martin Dřímal E-mail: info@seoskrz.cz Telefon: 736 510 069 Obsah On-page faktory...4 1. Technický stav stránek www.stranka.cz...4 2. Hodnocení on-page

Více

O nás. To vše a mnohem více Vám je schopna nabídnout již základní verze publikačního systému bravaweb.

O nás. To vše a mnohem více Vám je schopna nabídnout již základní verze publikačního systému bravaweb. O nás Internetová prezentace je často první vizitkou Vaší společnosti, se kterou se setkává potenciální zákazník či případný obchodní partner. Kvalitní prezentaci nestačí však pouze vytvořit. Prezentace

Více

Kerio Operator. Kerio Technologies

Kerio Operator. Kerio Technologies Kerio Operator Příručka uživatele Kerio Technologies 2011 Kerio Technologies s.r.o. Všechna práva vyhrazena. Tento manuál popisuje produkt: Kerio Operator ve verzi 1.1. Změny vyhrazeny. Aktuální verzi

Více

Přihlašování do ISCRŘ přes JIP

Přihlašování do ISCRŘ přes JIP Aktualizováno: 10.11.2014 Obsah 1 Úvod... 3 1.1 Účel dokumentu... 3 1.2 Zkratky... 3 1.3 Historie... 3 2 Přístup k aplikaci ISCRŘ... 3 2.1 Lokální administrátor OVM... 4 2.1.1 Lokální administrátor OVM

Více

Obsah. 1.1 Úvod do práce s autorským nástrojem ProAuthor 4

Obsah. 1.1 Úvod do práce s autorským nástrojem ProAuthor 4 Obsah 1 Úvod do práce s autorským nástrojem ProAuthor 4 1.1 Úvod do práce s autorským nástrojem ProAuthor 4 2 Založení kurzu 7 2.1 Jak začít 8 2.2 Vyplnění vstupních informací o kurzu 10 2.3 Založení vlastního

Více

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4 ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4 JEDNODUCHÉ PŘIHLÁŠENÍ 4 ADMINISTRAČNÍ PROSTŘEDÍ 5 PŘEPÍNÁNÍ JAZYKOVÉ VERZE 5 POLOŽKY HORNÍHO MENU 5 DOPLŇKOVÉ POLOŽKY MENU: 6 STROM SE STRÁNKAMI, RUBRIKAMI A ČLÁNKY 7 TITULNÍ

Více

Manuál k užívání aplikace Monitoringrejstriku.cz

Manuál k užívání aplikace Monitoringrejstriku.cz Manuál k užívání aplikace Monitoringrejstriku.cz Verze aplikace 2.0, říjen 2015 Copyright 2014, Insolvence 2008, a.s. Omezující podmínky pro zveřejnění, poskytnutí údajů: Tento dokument obsahuje informace

Více

Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr

Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr Komponentově orientované webové frameworky Jiří Stránský jistr@jistr.net twitter.com/jistr O čem to bude Three-Tier aplikace MVC frameworky Komponentově orientované frameworky Apache Wicket Three-Tier

Více

Rozdílová dokumentace k ovládání IS KARAT.net

Rozdílová dokumentace k ovládání IS KARAT.net Dokumentace k IS KARAT.net Rozdílová dokumentace k ovládání IS KARAT.net programový modul: Rozdílová dokumentace k ovládání IS KARAT.net OBSAH: 1 ÚVOD... 3 2 PŘIHLAŠOVACÍ DIALOG... 4 3 NAVIGACE... 5 3.1

Více

MAPOVÉ OKNO GSWEB. Nápověda. Pohyb v mapovém okně Výběr v mapovém okně. Panel Ovládání Panel Vrstvy. Tisk Přehledová mapa Redlining Přihlásit jako

MAPOVÉ OKNO GSWEB. Nápověda. Pohyb v mapovém okně Výběr v mapovém okně. Panel Ovládání Panel Vrstvy. Tisk Přehledová mapa Redlining Přihlásit jako GSWEB Nápověda 1. Mapové okno Pohyb v mapovém okně Výběr v mapovém okně 2. Ovládací panel a panel vrstev Panel Ovládání Panel Vrstvy 3. GSWeb - roletové menu Tisk Přehledová mapa Redlining Přihlásit jako

Více

Statistica, kdo je kdo?

Statistica, kdo je kdo? Statistica, kdo je kdo? Newsletter Statistica ACADEMY Téma: Typy instalací Typ článku: Teorie Někteří z vás používají univerzitní licence, někteří síťové, podnikové atd. V tomto článku Vám představíme,

Více

Manuál k aplikaci SDO PILOT v.0.2

Manuál k aplikaci SDO PILOT v.0.2 Manuál k aplikaci SDO PILOT v.0.2 Základní informace o aplikaci Aplikace slouží pro zjednodušené vytváření dokumentů Souhrnů doporučených opatření pro Evropsky významné lokality. Vznikala přírustkovým

Více

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS 1. 2. 3. 4. 5. 6. 7. 8. 9. Instalace Oracle verze 11.02. 64 bit... 2 Instalace Listeneru... 8 Vytvoření instance databáze... 10 Úprava konfigurace

Více

Technologie JavaBeans

Technologie JavaBeans Technologie JavaBeans doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Historie Komponentový model Typy komponent

Více

Manuál pro modul Vypisování témat prací referentka

Manuál pro modul Vypisování témat prací referentka Manuál pro modul Vypisování témat prací referentka Tento manuál popisuje typické postupy uživatele s rolí vedoucí práce/školitel v modulu Vypisování témat prací, úkony se mohou lehce odlišovat v závislosti

Více

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití: Architektura webové aplikace, funkce jednotlivých vrstev, životní cyklus standardizovaných komponent Java EE, Servlety, JSP, frameworky, návrhové vzory 1. Distribuce Javy Distribuce Javy se liší podle

Více

VYTVÁŘENÍ A POUŽITÍ VZDĚLÁVACÍCH MODULŮ

VYTVÁŘENÍ A POUŽITÍ VZDĚLÁVACÍCH MODULŮ VYTVÁŘENÍ A POUŽITÍ VZDĚLÁVACÍCH MODULŮ Mgr. Hana Rohrová Ing. Miroslava Mourková Ing. Martina Husáková Fakulta informatiky a managementu Univerzity Hradec Králové Projekt je spolufinancován Evropským

Více

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

Více

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/ UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok

Více

Veřejné. Aplikace EP2W. Uživatelská příručka pro externího uživatele

Veřejné. Aplikace EP2W. Uživatelská příručka pro externího uživatele Aplikace EP2W Uživatelská příručka pro externího uživatele Verze: 1.04 Datum: 14.8.2012 Upozornění V dokumentu bylo použito názvů firem a produktů, které mohou být chráněny patentovými a autorskými právy

Více

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech

Více

UNIVERZITA PARDUBICE FAKULTA ELEKTROTECHNIKY A INFORMATIKY BAKALÁŘSKÁ PRÁCE. 2009 Kramár Tomáš

UNIVERZITA PARDUBICE FAKULTA ELEKTROTECHNIKY A INFORMATIKY BAKALÁŘSKÁ PRÁCE. 2009 Kramár Tomáš UNIVERZITA PARDUBICE FAKULTA ELEKTROTECHNIKY A INFORMATIKY BAKALÁŘSKÁ PRÁCE 2009 Kramár Tomáš Univerzita Pardubice Fakulta elektrotechniky a informatiky Webová aplikace Internetový obchod - oděvy Kramár

Více

Návod k ovládání administrační části nového turistického portálu Olomouckého kraje

Návod k ovládání administrační části nového turistického portálu Olomouckého kraje Evropská unie a Evropský fond pro regionální rozvoj jsou partnery pro váš rozvoj. Návod k ovládání administrační části nového turistického portálu Olomouckého kraje Příručka pro Informační centra Olomouckého

Více

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská

Více

33 Uživatelé asistence

33 Uživatelé asistence 33 Uživatelé asistence Uživatelský modul Uživatelé asistence náleží k modulům řešícím agendu služby osobní asistentce. Modul realizuje evidenci uživatelů služby osobní asistence (včetně zájemců o službu).

Více

10. Editor databází dotazy a relace

10. Editor databází dotazy a relace 10. Editor databází dotazy a relace Dotazy Dotazy tvoří velkou samostatnou kapitolu Accessu, která je svým významem téměř stejně důležitá jako oblast návrhu a úpravy tabulek. Svým rozsahem je to ale oblast

Více

MANUÁL PRO VKLÁDÁNÍ A EDITACI DAT V SYSTÉMU INVENIO

MANUÁL PRO VKLÁDÁNÍ A EDITACI DAT V SYSTÉMU INVENIO MANUÁL PRO VKLÁDÁNÍ A EDITACI DAT V SYSTÉMU INVENIO Kolektiv autorů: Bc. Bohdana Frantíková PhDr. Petra Pejšová Praha 2012 Národní technická knihovna 1 MANUÁL PRO VKLÁDÁNÍ A EDITACI DAT V SYSTÉMU INVENIO

Více

UNIVERZITA PARDUBICE DOPRAVNÍ FAKULTA JANA PERNERA

UNIVERZITA PARDUBICE DOPRAVNÍ FAKULTA JANA PERNERA UNIVERZITA PARDUBICE DOPRAVNÍ FAKULTA JANA PERNERA SOFTWAROVÁ PODPORA PRO TECHNICKOU PŘÍPRAVU PROJEKTU V ELEKTRIZACI ŽELEZNIC PRAHA A.S. BC. LUKÁŠ HRON DIPLOMOVÁ PRÁCE 2008 Souhrn Tato práce si klade

Více