Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze

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

Download "Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze"

Transkript

1 Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze Dominik Kostka Databázová aplikace pomocí ASP.NET Bakalářská práce 2011

2 Prohlášení Prohlašuji, že jsem bakalářskou práci na téma Databázová aplikace pomocí ASP.NET zpracoval samostatně a použil pouze zdroje, které cituji a uvádím v seznamu použitých informačních zdrojů. V Praze, Dominik Kostka

3 Poděkování Na tomto místě bych rád poděkoval vedoucímu bakalářské práce Ing. Davidu Klimánkovi, Ph.D. za čas věnovaný při konzultačních hodinách a některé připomínky k práci. Dále děkuji rodině za podporu a trpělivost.

4 Abstrakt Bakalářská práce Databázová aplikace pomocí ASP.NET se snaží zpracovat návrh a implementaci rezervačního systému restaurace. Pro její vývoj jsou používány následující softwarové prostředky: vývojové prostředí Visual Studio 2010 a webové technologie ASP.NET, XHTML, CSS a AJAX. V teoretické části bakalářské práce jsou čtenáři seznámeni se základními principy webové technologie ASP.NET, její komparací s alternativními technologiemi PHP a JSP a rešerší existujícího řešení pro rezervační systém restaurace. V praktické části jsou názorné ukázky návrhu a implementace databázové aplikace a popis jejího vývoje. V závěru práce jsou shrnuty veškeré poznatky s návrhy možností dalšího využití. Klíčová slova: Databáze, aplikace, ASP.NET, rezervační systém restaurace Abstract The bachelor thesis Database application by ASP.NET deals with the proposal and implementation of a restaurant reservation system. For the development are used following software resources: IDE Visual Studio 2010 a websites technology ASP.NET, XHTML, CSS a AJAX. In the theoretical part of the bachelor thesis are readers acquainted with basic principles of the web technology ASP.NET in comparison with alternative technologies PHP and JSP, and with the research of existing solutions for the restaurant reservation system. In the practical part are demonstrative examples of the proposal and implementation of database application and the description of its development. In the conclusion of the thesis are summarized all findings and suggestions of other application.

5 Obsah Obsah...7 Úvod...9 Teoretická část Představení technologie ASP.NET Architektura.NET Frameworku Kompilace.NET aplikací Charakteristika VB.NET Charakteristika C#...14 Komunikace klienta a serveru Objektový model ASP.NET stránek Postback a ViewState Komponenty ASP.NET Web Controls Masterpages Formátování pomocí Themes a Skins Princip použití motivů Motivy vs. CSS Používané programovací jazyky Základní principy ASP.NET...10 Zabezpečení ASP.NET aplikací Autentizace Autorizace...23 ASP.NET vs. konkurenční technologie PHP JSP Porovnání technologií...27 Rešerše řešení pro rezervační systém Současná funkcionalita systému Proces rezervace v systému Jak rozšířit funkcionalitu systému

6 Praktická část Návrh informačního systému restaurace Funkční požadavky IS Datové modely Konceptuální model Logický model Fyzický model Databázové tabulky Normalizace...36 Návrh aplikace rezervační systém restaurace Funkcionalita Případy užití Přihlášení uživatele Vytvoření rezervace Diagram tříd Stavový diagram Diagram nasazení...43 Implementace databáze Vytvoření tabulek Referenční integrita a integritní omezení Naplnění tabulek daty...46 Implementace aplikace Rámec aplikace pomocí Masterpages Propojení aplikace a SQL databáze Začlenění komponent ASP.NET Web Controls Vzhled aplikace Distribuce aplikace na web...51 Závěr...52 Seznam použitých zdrojů...53 Přílohy

7 Úvod Zadáním mé bakalářské práce je návrh a implementace databázové aplikace pomocí ASP.NET. Při jejím vývoji kladu důraz především na využití serverových ovládacích prvků, které poskytuje technologie ASP.NET. Aplikace představuje rezervační systém restaurace. Toto téma jsem si zvolil z toho důvodu, že se již dlouho zajímám o problematiku technologie ASP.NET, a proto jsem touto cestou konkretizoval její přínos v praxi na rezervačním systému restaurace, který nabízí v této podobě více funkcí než alternativní webové technologie. V rámci vývoje používám primárně prostředky technologie ASP.NET. Kromě serverových ovládacích prvků využívám programovací jazyk C# pro tvorbu obslužného kódu událostí, které jsou vyvolané uživatelem aplikace. Pro vytvoření přehledného grafického uživatelského rozhraní využívám jednak ASP.NET masterpages, které slouží k vytvoření jednotného vzhledu aplikace, dále ASP.NET Themes and Skins, jež umožňují konfigurovat vzhled serverových ovládacích prvků a rovněž technologii CSS pro formátování jednotlivých HTML elementů stránek. Při zpracování jsem primárně čerpal z publikace Beginning ASP.NE T 4 in C# and VB ebook, dále také z vývojářské brožury Webový vývoj v ASP.NET 2.0 pomocí bezplatných Express nástrojů pro úplné začátečníky od společnosti Microsoft a z publikace Návrh databází od Michaela J. Hernandeze. Pro úplnost a ucelenost projektu jsem získal další důležité informace z internetových materiálů, jako například:.net Framework od začátku od Tomáše Hercega nebo webový portál Microsoft MSDN ASP.NET 4. Dílčí výstupy vývoje jsem zpracoval v praktické části, a to jak vizuálně, pomocí vývojových diagramů, tak i ukázkami kódu z průběhu programování aplikace. 9

8 Teoretická část 1 Představení technologie ASP.NET ASP.NET je technologie pro tvorbu webových aplikací a služeb od firmy Microsoft a považuje se za nástupce starší technologie ASP. Název ASP.NET je odvozen od předchůdce ASP, obě technologie však fungují na odlišném principu. Starší ASP používá k vývoji aplikací skriptovací programovací jazyky jako VBScript apod., které se interpretují, což má výrazný dopad na rychlost aplikací. Oproti tomu ASP.NET používá téměř výhradně jazyky kompilované, které navíc již plně podporují principy OOP. Geneze ASP.NET na základě [9] je následující: ASP verze 1.0 (distribuováno s IIS 3.0) v prosinci 1996 ASP verze 2.0 (distribuováno s IIS 4.0) v září 1997 ASP verze 3.0 (distribuováno s IIS 5.0) v listopadu 2000 ASP.NET verze 1.0 (součást rozhraní.net Framework 1.0) v lednu 2002 ASP.NET verze 1.1 (.NET Framework 1.1) v dubnu 2003 ASP.NET verze 2.0 (.NET Framework 2.0) v listopadu 2005 ASP.NET verze 3.5 (.NET Framework 3.5) v prosinci 2007 ASP.NET verze 4 (.NET Framework 4.0) v dubnu Základní principy ASP.NET Architektura.NET Frameworku ASP.NET je součástí rozhraní.net Framework. Jedná se o prostředí potřebné pro běh a vývoj.net aplikací. Nabízí jak spouštěcí rozhraní, pomocí něhož lze vyvíjené aplikace spouštět a testovat, tak i velké množství potřebných programátorských knihoven. Umožňuje tak programátorům vyvíjet.net aplikace v jakémkoliv programovacím jazyce, jenž podporuje základní součást.net Frameworku zvanou CLR.[2] Komponenta.NET Framework zajišťuje pro vývojáře automatické provádění následujících nezbytných procesů na základě [2] a [19]: Správa paměti, vytváření a rušení objektů pomocí Garbage Collection Spouštění a zastavování vláken kódu, podpora Multithreadingu Zabezpečení kódu a kontrola oprávnění k prováděným operacím Rozšiřitelnost metadat Linkování potřebných knihoven a komponent do paměti apod. 10

9 O všechny tyto operace se stará právě CLR - viz obrázek celé architektury.net Frameworku: Obrázek 1.1: Architektura.NET Framework [2] Architektura rozhraní.net Frameworku se skládá z několika softwarových vrstev, a na základě [2] a [19], uvádím stručnou charakteristiku každé z nich: Operační systém standardně pouze Windows OS Common Language Runtime (CLR) běhové prostředí.net Frameworku, jehož role je ekvivalentní k roli JVM na vývojové platformě Java. Jeho základní funkce uvádím výše a podrobně jsou popsány v [2]. Base Class Library (BCL) knihovna, která obsahuje nejčastěji používané pomocné funkce pro práci se soubory, třídění, diagnostiku, síťovou komunikaci apod. ADO.NET (ActiveX Data Object for.net) knihovna zpřístupňující práci s externím daty s možností jejich prezentace ve formátu XML. ASP.NET Web Forms and Web Services knihovna pro vývoj uživatelského rozhraní webových aplikací a služeb. Tuto součást používám v praktické části práce při vývoji ukázkové webové aplikace. Windows Forms knihovna pro vývoj uživatelského rozhraní desktopových aplikací, např. pro Windows. Common Language Specification (CLS) je specifikace definující sadu základních vlastností. Tyto vlastnosti musí mít programovací jazyky používané pro vývoj.net aplikací. 11

10 V nejvyšší vrstvě architektury.net Framework se nachází sada nejpoužívanějších jazyků pro vývoj.net aplikací. Vyvinula je sama firma Microsoft speciálně pro platformu.net a všechny patří mezi jazyky s plnou podporou OOP. Výrazně zefektivňují vývoj aplikací a umožňují jejich snadnější rozšiřitelnost o nové moduly. Podrobněji je charakterizuji v následující kapitole.[2] Poslední součástí schématu, nikoliv ovšem.net Frameworku, je vývojové prostředí Visual Studio.NET, také od firmy Microsoft. Prostředí dokáže operovat se všemi vrstvami.net Frameworku a pro profesionály představuje nejkomplexnější vývojový nástroj na zmiňované platformě.[19] Kompilace.NET aplikací Kompilace zdrojového kódu aplikací spouštěných na platformě.net je prováděna dvěma různými způsoby [2]: Aplikace vytvořené na platformě.net kompiluje a spouští přímo CLR, jedná se o tzv. řízený kód. Aplikace vytvořené na jiné platformě, nebo ty, u nichž je použití řízeného kódu explicitně zakázáno, se kompilují do tzv. neřízeného kódu. Do druhé varianty spadají např. všechny aplikace napsané v jazyce C++, jelikož ten patří mezi jazyky s absolutní volností a jeho kompilátor neumí vygenerovat řízený kód. U jazyků, jejichž kompilátor dovede vygenerovat řízený kód, se program přeloží do kódu jazyka CIL Common Intermediate Language (dříve označovaného jako MSIL Microsoft Intermediate Language). Jedná se o univerzální jazyk podobný Assembleru (strojový programovací jazyk), jehož smyslem je zjednodušit přenášení existujícího kódu.net aplikací mezi různými platformami. CIL je však mnohem vyspělejší, jelikož dokáže pracovat s objekty, metodami a jinými datovými strukturami používanými v jazyce, ze kterého se program překládá. Nevýhoda CIL spočívá v neexistenci procesoru schopného přímo vykonávat jeho kód. Kód v jazyce CIL se tudíž pomocí JIT kompilátoru přeloží do tzv. nativního (strojového) kódu platformy, na níž se aplikace spouští. Popsaný princip kompilace platí obecně pro všechny.net aplikace (tedy i desktopové). Pro ASP.NET webové aplikace platí, že jejich kód se nikdy neinterpretuje, je tedy plně kompilovaný. Při kompilaci se vytvoří jeden či několik souborů typu.dll nebo.exe, jež se označují jako tzv. assembly (jednotka používaná pro libovolně velkou 12

11 zkompilovanou část kódu.net aplikace). Podrobně jsou assembly soubory popsány v [2]. Kód webové stránky stačí jen umístit na webový server do virtuálního adresáře, zkompiluje se automaticky při prvním přístupu klienta a stránka se uloží do vyrovnávací paměti jeho webového prohlížeče. Kdykoliv se kód stránky změní, je při dalším přístupu klienta ke stránce rekompilován. Obrázek 1.2: Kompilace a spouštění.net aplikací [2] Jednotlivé webové stránky aplikace v ASP.NET se tedy kompilují znovu pouze tehdy, když dojde k aktualizaci jejich zdrojového kódu, což podstatně zvyšuje rychlost běhu aplikace, resp. načítání stránek. 1.2 Používané programovací jazyky Jak zmiňuji v předchozí kapitole,.net Framework resp. ASP.NET podporuje pro vývoj svých aplikací použití libovolného jazyka kompatibilního s CLR. Mezi ně patří např. VB.NET, C#, J#, JScript, Managed C++ a jiné. Prvním dvěma jmenovaným se věnuji v této kapitole, jelikož jsou to dva nejužívanější jazyky pro psaní webových aplikací v ASP.NET Charakteristika VB.NET VB.NET je objektově orientovaný jazyk, vyvinul se z jazyka Visual Basic. Visual Basic byl prvním jazykem, jenž umožňoval díky svému vývojovému prostředí jednoduše vytvářet okenní aplikace s pokročilým uživatelským rozhraním za pomocí techniky drag and drop a následným dopsáním obslužného kódu. Již ve své době však 13

12 zaostával za konkurencí, a to především kvůli pomalému běhu jeho aplikací a omezeným možnostem vývoje. Jeho poslední klasická verze je Visual Basic 6 z roku Tato verze již sice částečně podporovala OOP, ale zaměřovala se především na databázové aplikace. Se zveřejněním první verze platformy.net uvolnila firma Microsoft vlastní verzi jazyka pod názvem Visual Basic 7, který se označuje jako oficiálně první verze VB.NET. V současnosti je jeho nejnovější verze Visual Basic 10 (označovaná také jako Visual Basic 2010). VB.NET sebou přinesl celou řadu novinek. K jeho základním charakteristikám [6] patří: nezávislost na cílové platformě, kompletní podpora OOP včetně rozhraní, dědičnosti a generických datových typů, rozsáhlé množství knihovních funkcí, pokročilá práce s databázemi, podpora technologie LINQ, zpětná kompatibilita s rozhraními COM a WinAPI, povinná deklarace proměnných (od verze 7), názvy všech slov kódu jsou case insensitive (nezávislé na velikosti písmen), automatická detekce konce řádků kódu (od verze 10). Kompletní specifikace jazyka VB.NET je samozřejmě mnohem širší a popisuje ji dokumentace jazyka [17]. Závěrem k VB.NET dodávám, že je vhodnou variantou pro vývojáře, co začínají s vývojem na platformě.net bez jakýchkoliv zkušeností s programováním. Díky originální syntaxi patří k těm snadno srozumitelným a definuje velké množství klíčových slov, jež jsou pro začátečníky lehce zapamatovatelné. Partial Class Default4 Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Visible = False End Sub End Class Tabulka 1.1: Ukázka kódu jazyka VB.NET [9] Charakteristika C# Na rozdíl od VB.NET patří C# mezi nové jazyky. Vyvinula ho firma Microsoft a vznikal paralelně s první verzí platformy.net, pro kterou je určen. C# přímo vychází z jazyků C/C++ a Java, s nimiž ho spojuje velmi podobná syntaxe. Je tak primárně určen pro vývojáře na těchto platformách, protože je nenutí učit se syntaxi zcela novou. 14

13 Mezi jeho základní charakteristiky patří následující výčet vlastností podle [2] a [6]. A jak zmiňuje ([2], str. 6): Většina uvedených vlastností vychází přímo z funkcionality vývojového rámce.net. : Čistě objektová orientace Nativní podpora komponentového programování (Controls) Podpora pouze jednoduché dědičnosti a násobné implementace rozhraní Vedle členských dat přidává objektům vlastnosti a události Podpora atributového programování Zpětná kompatibilita se stávajícím kódem na binární i strojové úrovni Názvy všech slov kódu jsou case sensitive (rozlišují se velká a malá písmena) Konec řádku kódu musí být označen středníkem (je nesignifikantní) Implementace jazyka C# s názvem Visual C# je rovněž součást vývojového prostředí Visual Studio.NET. Pro kompletní specifikaci odkazuji i zde na dokumentaci jazyka [4]. Na závěr opět uvádím ukázku kódu, tentokrát pro C#: public partial class Default5 : System.Web.UI.Page { protected void Button1_Click(object sender, EventArgs e) { Button1.Visible = false; } } Tabulka 1.2: Ukázka kódu jazyka C# [9] 1.3 Komunikace klienta a serveru Tuto kapitolu věnuji konkrétním specifikům ASP.NET, komunikace klienta a serveru, na němž ASP.NET aplikace běží. Čerpám v ní ze zdrojů [19], [1] Objektový model ASP.NET stránek S příchodem ASP.NET se vývoj webových aplikací a služeb zásadně změnil. Do té doby existoval zásadní rozdíl mezi principem vytváření klasických desktopových a webových aplikací. Tvorba desktopových aplikací se stala postupně pro vývojáře všeobecně snadnou činností. Aplikace se skládá z jednotlivých navzájem propojených formulářů (Forms). Každý formulář obsahuje jeden nebo více ovládacích prvků (Controls) jako jsou tlačítka (Button), rozbalovací seznamy (DropDownList), kalendáře (Calendar) apod. Při vytváření formuláře se jednotlivé prvky jednoduše přetahují z palety prvků. Každý vývojový nástroj má samozřejmě omezený počet těchto prvků. V případě, že nestačí, existují v zásadě dvě možnosti. Buď prvky dokoupit, nebo použít volně dostupné prvky vytvořené jinými vývojáři, nebo si naprogramovat své vlastní. [19] 15

14 Podstatou ovládacích prvků v ASP.NET je, že všechny fungují na principu OOP. Každý prvek se chová jako objekt, má definované určité vlastnosti (výška, šířka, barva apod.). Prvky také na základě interakce s uživatelem vyvolávají událost (např. kliknutím myši na tlačítko). Samotný vývoj aplikace spočívá hlavně v programování obslužného kódu těchto událostí, tzv. kódu na pozadí (Code Behind), který je umístěn v samostatném souboru navázaném na soubor s webovou stránkou. ASP.NET využívá pro tvorbu webových aplikací osvědčené principy vývoje desktopových aplikací a zároveň poskytuje koncovým uživatelům komfortní a efektivní uživatelské rozhraní. Každá ASP.NET stránka je uložena v souboru s příponou.aspx. Obsahuje stejně jako formulář desktopové aplikace ovládací prvky, což jsou v tomto případě objekty umístěné na serveru. Stejně tak i tyto objekty mají definované vlastnosti a události, které na nich mohou vyvolávat uživatelé.[19] Obrázek 1.3: Princip komunikace klientský prohlížeč-asp.net server [19] Na straně klienta se při nahrání stránky zobrazuje pouze její čistý HTML popřípadě XHTML obraz. Klient, resp. jeho webový prohlížeč není zatěžován nutností dodatečné instalace různých appletů (doplňkových programů) jako je ActiveX apod. Jediná interaktivita klientského prohlížeče a serveru probíhá pomocí Javascriptů, jejichž podpora v prohlížeči je společně s podporou HMTL, resp. XHTML jedinou podmínkou pro zobrazení stránky. Všechny ovládací prvky stránek se umísťují na server a zde se také spravují. ASP.NET aplikace tak kladou na stranu klienta minimální požadavky. 16

15 1.3.2 Postback a ViewState Všechny objekty (ovládací prvky) použité v ASP.NET stránce existují na serveru pouze po dobu vykonávání klientských požadavků, poté se do klientského prohlížeče pošle stránka s aktualizovanými HTML obrazy všech ovládacích prvků.[19] Princip pouze dočasného uložení ovládacích prvků stránky v paměti serveru nutně vede k otázce, jak tyto prvky opětovně reagují na události vyvolané klientem. To zajišťuje ASP.NET funkce nazývaná Postback. V případě, že klient provede akci na některém ovládacím prvku (stisknutí tlačítka, výběr položky v rozbalovacím seznamu apod.), pošlou se z jeho prohlížeče pomocí Javaskriptu informace o vyvolané události. Na základě nich se na serveru obnoví celý objektový model stránky se všemi prvky. Pokud je k prvku přiřazen obslužný kód události, tak se provede. Následně je celá aktualizovaná stránka odeslána zpět na klienta.[19] Využití funkce Postback se u jednotlivých ovládacích prvků liší. Typickým příkladem prvku, který by bez této funkce postrádal význam, je tlačítko. Naopak např. u prvku rozbalovací seznam závisí použití funkce na aktuálních potřebách vývojáře. Zapnutí nebo vypnutí funkce Postback se pak určuje pomocí jeho vlastnosti AutoPostBack. Funkce Postback má však nevýhodu ve velkém zatěžování serveru. Proto její nadměrné používání může způsobit zpomalení ASP.NET aplikace, jež se projeví značně dlouhým problikáváním prohlížeče při aktualizaci stránek. Při vývoji aplikace je tedy vhodné zvažovat, zda u jednotlivých prvků funkci použít či nikoliv.[19] Funkce Postback tedy zajišťuje komplexní aktualizaci ASP.NET stránky. To však pro její správné zobrazení nestačí. Proto, aby se mohl na serveru obnovit celý objektový model stránky, musí server obdržet informace o aktuálním stavu jednotlivých ovládacích prvků stránky zobrazených na klientovi. Uchování těchto stavů umožňuje funkce zvaná ViewState. Výsledek její činnosti se ve zdrojovém kódu stránky zobrazené v klientském prohlížeči projeví následovně:[19] <input type="hidden" name=" VIEWSTATE" id=" VIEWSTATE" value="/wepdwuklte2mjy5mty1nq9kfgicaw9kfgicaq8pfgqebfrlehqfc0hl bgxvifdvcmxkhgdwaxnpymxlagrkzccepwo7wfgvtzyzwtswdehgrvfy" /> Tabulka 1.3: Výsledek funkce ViewState v kódu ASP.NET stránky [19] Při každé rekonstrukci objektového modelu stránky získává server od jednotlivých prvků jejich stav a ten pak po dokončení rekonstrukce posílá ve zdrojovém kódu stránky zpět do prohlížeče v zakódovaném a digitálně podepsaném skrytém vstupním poli. Při následném klientském požadavku se pomocí funkce 17

16 Postback odešle obsah pole zpět na server, kde se podle něj aktualizuje stav ovládacích prvků. Používání funkce ViewState u prvků se řídí nastavením hodnoty jejich vlastnosti EnableViewState. Podrobně práci s funkcemi Postback a ViewState popisuji v praktické části práce.[19] 1.4 Komponenty ASP.NET Web Controls Před vznikem ASP, resp. ASP.NET se ve webových stránkách používaly klasické HMTL ovládací prvky (HTML Controls). ASP.NET poskytuje vývojářům svou vlastní sadu webových ovládací prvků (Web Server Controls), jejichž funkcionalita zahrnuje veškeré možnosti HTML Controls, ovšem ASP.NET je výrazně rozšiřuje a přidává řadu nových. Podle aktuální verze ASP.NET 4 je lze rozdělit podle jejich funkcionality do následujících kategorií [1]: Standard Controls je skupina nejčastěji používaných prvků. Patří sem prvky, které jsou odvozené od prvků ze standardních webových formulářů, a také řada komplexnějších prvků tyto umožňují pokročilou manipulaci se statickými i dynamickými daty. Nejsou vázány na žádné HTML elementy a umožňují naprogramovat pokročilou funkcionalitu pomocí obslužného kódu událostí, které zachytávají. Data Controls je skupina prvků, které slouží pro práci s externími daty, typicky s těmi umístěnými v relační databázi. Validation Controls zahrnuje všechny standardní validační prvky. Ty například umožňují kontrolovat vyplnění povinných polí formuláře, správně zadané uživatelské jméno a heslo při přihlášení uživatele apod. Navigation Controls poskytuje prvky ke znázornění navigace v ASP.NET webu, tj. zobrazení kompletní mapy webu pomocí stromové struktury nebo např. nastavení jejího XML datového zdroje. Login Controls tyto prvky obsahují veškeré funkce potřebné k autentizaci uživatele při vstupu do ASP.NET webové aplikace. Patří sem např. prvky zobrazující přihlašovací uživatelské rozhraní nebo umožňující uchování přihlašovacích údajů uživatele v paměti webového prohlížeče. HTML Server Controls je sada prvků vytvořená konverzí ze standardních HTML elementů. Umožňuje jejich použití v ASP.NET stránce. Tyto prvky totiž dokáže ASP.NET server zpracovat, ale standardní HTML elementy považuje za nesrozumitelný text. Musí být navíc vždy součástí HTML elementu <form>. 18

17 Následující obrázek znázorňuje přehled některých Web Server Controls dostupných ve vývojovém prostředí VS: Obrázek 1.4: Web Server Controls v prostředí VS Každý prvek z Web Server Controls s výjimkou těch z kategorie HTML Server Controls se deklarují značkou <asp: prvek>. Ty, které sdružují více prvků do jednoho celku, se ukončují párovou značkou </asp: prvek>. Bez výjimky mají všechny prvky atribut runat= server, protože běží na straně serveru. Níže uvádím příklad deklarace prvku Calendar: <asp:calendar id= Calendar1 > Kromě výchozích Web Server Controls lze v ASP.NET vytvářet vlastní prvky tzv. Custom Server Controls1, jež jsou vždy kombinací těch výchozích, ale jsou doplněné o specifickou funkcionalitu pomocí obslužného kódu událostí, formátování vzhledu apod. 1.5 Masterpages Masterpages, neboli stránky předloh, slouží v ASP.NET jako šablona pro standardní stránky s individuálním obsahem, jež se označují jako Contentpages. Masterpages v zásadě definují veškeré společné prvky použité v Contentpages a jejich jednotné umístění v nich. Můžou přitom zahrnovat jakýkoliv statický text, HTML elementy nebo serverové ovládací prvky. Obsah Masterpage se ukládá do souboru

18 s příponou.master. Použítí Mastepage jako šablony pro konkrétní Contentpage se deklaruje následovně [9]: Master Language="C#" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> určuje použití šablony. Atribut Language značí použitý jazyk pro tvorbu kódu na pozadí, CodeFile uvádí název sdruženého souboru Masterpage. Obsahuje tento kód s případnou cestou k němu v adresářové struktuře vzhledem ke kořenové složce webu. Inherits nastavuje dělení obsahu Masterpages aktuální Contentpage. Kromě výše uvedených obsahuje každá Masterpage jeden nebo více speciálních ovládacích prvků s názvem ContentPlaceHolder. Ten definuje ve stránce šablony jednotlivé oblasti (regiony) pro umístění tzv. nahraditelného obsahu, jenž je specifikován až v příslušných Contentpages a pro každou z nich je zcela individuální. ContentPlaceHolder definuje pro Contenpages všechny společné oblasti s nahraditelným obsahem, všechny ostatní lze editovat pouze přímo v Masterpage.[9] Deklaruje se takto: <asp:contentplaceholder id="header" runat="server" /> Atribut id jednoznačně identifikuje daný ContentPlaceHolder. V Contentpage se nastavení jeho obsahu definuje následovně: <asp:content id="obsah" ContentPlaceHolderID="Header" runat="server"> Toto je nahraditelný obsah ContentPlaceHolderu. </asp:content> Ovládací prvek Content odkazuje na ContentPlaceHolder s id= Header a umožňuje definovat jeho specifický obsah pro ContentPage. Masterpages lze v ASP.NET aplikacích připojovat na třech různých úrovních, jež se liší rozsahem působnosti [9]: Na úrovni stránky Používá se pro navázání konkrétní Contenpage na Masterpage. Definice tohoto navázání je použita v příkladech výše. Na úrovni složky Definuje se v lokálním konfiguračním souboru Web.config. použitím elementu pages a váže všechny ContentPages z konkrétní složky webu na jednu Masterpage. Na úrovni aplikace Váže všechny Contentpages v aplikaci k jedné Masterpage. Definuje se shodně jako v předchozím případě, ovšem 20

19 v globálním konfiguračním souboru Web.config umístěném v kořenovém adresáři webu. 1.6 Formátování pomocí Themes a Skins Princip použití motivů Motiv je sada vlastností, která definuje v ASP.NET vzhled jednotlivých stránek a v nich umístěné ovládací prvky. Skládá se z jednoho či více souborů uložených v adresáři, jehož název je zároveň i názvem motivu. Adresář motivu je umístěn v adresáři App_Themes, který slouží jako standardní úložiště pro motivy webové aplikace. Obsahuje různé typy souborů v závislosti na cíli použití [9]: Skins (Vzhledy) soubory vzhledu mají příponu.skin a obsahují nastavení vlastností pro ovládací prvky v rámci použitého motivu. Vzhledy se dělí na dva různé typy podle rozsahu užití, a to na výchozí vzhledy a pojmenované vzhledy. Výchozí vzhledy zaručí jednotný formát všech ovládacích prvků jednoho typu (např. Button) ve všech stránkách s daným motivem. Pojmenované vzhledy se definují pomocí atributu SkinID u jednotlivých ovládacích prvků a umožňují použít individuální vzhled pro každý prvek bez ohledu na jeho typ. CSS šablony jsou soubory s příponou.css, obsahují definice všech kaskádových stylů pro HTML elementy stránky v rámci použitého motivu. Tyto soubory se automaticky umístí do hlavičky stránky, ve které je motiv užíván. Pomocné prostředky jsou soubory obrázků, audia, videa aj., které slouží jako zdroje pro vzhledy a CSS šablony Motivy vs. CSS Z výše uvedeného plyne, že použití motivů není principiálně v rozporu s technologií CSS. Součástí motivu může být jedna nebo více CSS šablon. Přesto se tyto dvě technologie značně odlišují, a to v následujících parametrech [19]: Úroveň formátování CSS slouží k formátování na úrovni jednotlivých HTML elementů, zatímco motivy umožňují formátovat ovládací prvky na stránkách, ale i vzhled stránek samotných jednotně. Zpracování Při použití CSS formátování se informace o něm posílají do klientova prohlížeče společně se samotnou stránkou, ke které se vztahují. Zde jsou teprve zpracovány a propojeny se stránkou. Naproti tomu motivy se 21

20 zpracovávají již na serveru, kde se následně propojí s příslušnou stránkou a do prohlížeče je odeslán jen koncový HTML obraz naformátované stránky. Nastavení použití CSS musí být nastaveny pro každou stránku zvlášť, obvykle propojením stránky a CSS souboru, který obsahuje příslušné vlastnosti. U motivů lze jejich použití nastavit v konfiguračním souboru Web.config pro všechny stránky webové aplikace najednou. Priorita použití V CSS platí při použití stylu priorita lokálně nastavených vlastností před těmi globálními. U motivů je tomu naopak. Pokud je určitá vlastnost nastavena v motivu stránky i individuálně u ovládacího prvku, použije se hodnota z motivu. Toto pravidlo ovšem lze změnit použitím motivů typu StyleSheetTheme [19], jež mají nižší prioritu než individuálně nastavené vlastnosti u ovládacích prvků. Obě technologie se díky těmto odlišnostem při formátování webových stránek velmi dobře doplňují, a proto je vhodné je kombinovat. 1.7 Zabezpečení ASP.NET aplikací Autentizace Autentizace je bezpečnostní proces, který slouží k ověření identity uživatele webové aplikace. Zpravidla se provádí skrze přihlašovací dialog, kdy je uživatel povinen zadat své uživatelské jméno a heslo k účtu ve webové aplikaci. Druhou možností je ověřování pomocí certifikátu, který má uživatel uložený na pevném disku počítače, z něhož do aplikace přistupuje. V ASP.NET se standardně k ověření identity používá první způsob. Provádí se v závislosti na typu aplikace pomocí dvou různých mechanizmů [15] a [19]: Windows Authentication užívá se převážně pro ověření uživatelů v intranetových aplikacích. Pro autentizaci uživatele se použije jeho lokální účet na dané platformě společně s ověřením jeho IP adresy a domény ze strany IIS serveru. Forms Authentication tento způsob se používá u většiny webových aplikací. Přihlašovací údaje uživatelů se ukládají do speciální relační databáze, která je součástí aplikace. Při autentizaci musí uživatel vyplnit příslušné jméno a heslo v přihlašovacím formuláři. V případě úspěšného přihlášení se jeho přihlašovací jméno uloží do digitálně podepsaného řetězce cookies a takto se uchovává při přechodu uživatele mezi jednotlivými webovými stránkami. 22

21 Pro vytváření uživatelských účtů existuje v ASP.NET webový konfigurační nástroj jménem ASP.NET Web Site Administration Tool, jenž je standardně součástí vývojového prostředí VS.NET, popřípadě zdarma dostupného VWD Express. Po jeho spuštění v libovolném internetovém prohlížeči lze na záložce Security vytvářet nové uživatelské účty. Nejprve se ovšem musí nastavit typ autentizace na From the internet. Toto nastavení se uloží do konfiguračního souboru aplikace Web.config a zároveň vytvoří novou SQL databázi ASPNETDB, do níž se ukládají informace o uživatelských účtech.[19] Po vytvoření účtu je nutné zařadit do ASP.NET stránky také příslušný přihlašovací dialog. K tomu slouží validační ovládací prvek Login. Kromě tohoto prvku se pro účely autentizace využívají rovněž další ovládací prvky. Všechny patří do skupiny prvků ASP.NET Login Controls a podrobně jsou popsány v [14]. Řadu z nich představuji a používám v praktické části práce při vývoji aplikace rezervační systém restaurace Autorizace Autentizace uživatelů je pouze dílčím krokem v rámci zabezpečení aplikace. Zásadním administračním nástrojem pro práci s uživatelskými účty je autorizace. Jedná se o rozdělení uživatelů do jednotlivých uživatelských skupin, tzv. rolí. Role umožňují hromadně definovat přístupová pravidla pro uživatele v rámci webové aplikace. Určují, ke kterým částem (stránkám) aplikace smí jednotlivé uživatelské role přistupovat a jaká data zobrazovat a editovat. Uživatelské role se v ASP.NET definují ve výše zmíněné databázi ASPNETDB ve speciální tabulce Roles. V tabulce Users, obsahující kompletní informace o uživatelských účtech, resp. profilech, jsou role přiřazovány jednotlivým uživatelům. V ASP.NET lze role definovat buď přímou editací tabulek Roles a Users v databázi ASPNETDB, nebo stejně jako v případě autentizace využít administrační nástroj ASP.NET Web Site Administration Tool.[19] Po definování jednotlivých rolí je nutné nastavit také jejich přístupová práva. Nejvhodnějším způsobem je opět využití nástroje ASP.NET Web Site Administration Tool. Na záložce Security pomocí volby Create Access Rules se definuje nová tabulka přístupových práv pro jednotlivé role. Použitím volby Manage Access Rules lze tabulku s nadefinovanými přístupovými právy kdykoliv zobrazit a editovat.[19] 23

22 2 ASP.NET vs. konkurenční technologie ASP.NET pochopitelně není jedinou dostupnou technologií pro vývoj webových aplikací. V této kapitole se zabývám přestavením alternativních technologií PHP a JSP a jejich porovnáním s technologií ASP.NET. 2.1 PHP PHP (Hypertext Preprocessor, dříve označován jako Personal Home Page) je celosvětově rozšířený skriptovací jazyk. Primárně byl vytvořen jako nástroj pro tvorbu dynamických webových stránek. Protože byl PHP již od svého vzniku používán jako součást struktury jazyků HTML, XHTML apod., stal se vhodným nástrojem i pro vývoj webových aplikací Postupným vývojem se stal také alternativou pro programování desktopových aplikací.[3] PHP vzniklo v roce Vytvořil jej Rasmus Lerdorf, který se rozhodl napsat systém umožňující evidovat přístup na jeho webové stránky. Program byl původně vytvořen v jazyce PERL a později, kvůli velkému serverovému zatížení, přepsán do efektivnější podoby v jazyce C. Tyto C skripty byly dále publikovány jako sada nazvaná Personal Home Page Toolkit, později také pod názvem Personal Home Page Construction KIT - zkráceně PHP.[3] Obrázek 2.1: Princip činnosti PHP 24

23 V roce 1995 spojil Lendorf projekt PHP s jiným projektem - označovaným jako Form Interpreter (FI). Vznikl nový nástroj jménem PHP/FI 2.0 a rychle se rozšířil po celém světě. V roce 1998 vznikla nová verze jazyka označována jako PHP 3, která již podporovala také systém Windows (PHP původně fungovalo pouze v UNIX systémech). Současná verze jazyka je PHP 5, která již výrazněji podporuje např. principy OOP. Na základě [3] a [12] mezi typické vlastnosti PHP patří: Je to svobodný software (Open Source) s vlastní širokou vývojářskou komunitou. Je dynamicky typový, typ proměnné se stanovuje až v okamžiku její inicializace. Je interpretovaný, jeho zdrojový kód je uchováván v neměnné formě až do okamžiku svého spuštění. Následně je pomocí tzv. interpretu překládán do strojového kódu počítače. To způsobuje pomalejší vykonávání kódu než u jazyků kompilovaných. PHP skripty se provádí na straně serveru, klient operuje vždy až s jejich výsledkem. Je platformě nezávislý, lze v něm vyvíjet pod libovolnou kombinací OS a hardwaru počítače. Jeho syntaxe je kombinací syntaxe jazyků C, PERL, Pascal a Java. Má k dispozici velké množství API knihoven. Tyto knihovny umožňují pokročilou práci s textem, grafikou, soubory apod. Umožňuje pracovat s většinou databázových serverů (MSSQL, MySQL, Oracle, PostgreSQL, ODBC aj.). Podporuje řadu internetových protokolů (HTTP, SMTP, SNMP, FTP, IMAP, POP3, LDAP aj.). 2.2 JSP JSP (JavaServer Pages) je skriptovací programovací jazyk, používaný k vývoji dynamických webových stránek a aplikací vyvinutý společností Sun Microsystems (dnes Oracle Corporation). Rozšiřuje standardní možnosti jazyka Java určeného primárně pro vývoj desktopových aplikací. První kompletní verze specifikace jazyka JSP byla uvedena již v roce 1999 jako reakce na dříve vydanou konkurenční technologii ASP od společnosti Microsoft.[16] JSP funguje nad platformou J2EE (Java 2 Enterprise Edition) a využívá veškerou její funkcionalitu. Vychází z původní javovské technologie pro tvorbu serverových 25

24 aplikací, která je založena na vývoji malých programů tzv. servletů (v Javě nazývaných javaservlety). Jedná se o platformě nezávislé moduly, které obsluhují požadavky HTTP protokolu na straně serveru. Tím se také liší od tzv. appletů, jež pracují na straně klienta. V JSP však už není nutné programovat celý servlet, který kvůli své rozsáhlosti obvykle značně zatěžuje výkon serveru, ale stačí pouze do HTML kódu stránky dopsat několik značek v jazyce JSP. Výsledná funkčnost aplikace je v podstatě shodná a podstatně méně zatěžuje server. Na následujícím schématu uvádím princip činnosti JSP aplikace : Obrázek 2.2: Princip činnosti JSP Model 2 [8] Jedná se o schéma rozšířeného modelu klient-server v JSP, tzv. Modelu 2. Jeho činnost je založena na návrhovém vzoru MVC (Model-View-Controller) a vychází ze základního modelu 1 [8]. Zde uvádím základní princip komunikace klient-server v JSP na základě [16]: Klient vyšle požadavek (request) na webovou JSP stránku, tzn. stránku uloženou ve zdrojovém souboru s koncovkou.jsp. Požadavek se nasměruje na příslušný webový server. Server detekuje, že požadovaná stránka je typu JSP a přesměruje požadovaný JSP soubor do tzv. JSP Servlet stroje. V případě, že je soubor volán poprvé, stroj ho pouze překontroluje a pokračuje bodem 4, v opačném případě ho převede na servlet. Vytvořený a zkompilovaný (pomocí JSP Compileru) servlet je uložen v souboru s koncovkou.class. Vytvoří se instance servletu, jež je zpracována a v podobě HMTL obrazu odeslána do klientského prohlížeče jako odpověď (respond) na klientský požadavek. 26

25 2.3 Porovnání technologií V této kapitole se zabývám vzájemným porovnáním všech tří představených webových technologií z hlediska vývojáře. K tomu využívám některé principy metody vícekriteriálního rozhodování [5]. Porovnat naprosto objektivně výše zmíněné technologie nelze, proto používám určitá zjednodušení, abych mohl srovnání vůbec provést. Zjistil jsem, že nelze dostatečně kvalitně určit míru důležitosti (váhu) jednotlivých vývojářských kritérií. Proto předpokládám jejich ekvivalentnost. K porovnání technologií využívám pouze kritéria kvalitativní [5], a to dvojího typu: Binární kritéria kritéria typu Ano/Ne. Definují existenci určité pozitivní vlastnosti pro danou technologii (např. podpora více platforem). Bodovací kritéria kritéria definovaná kvalitativní bodovou stupnicí. Určují ty vlastnosti, u nichž je vhodné rozlišovat intenzitu (např. podpora OOP). Pomocí vlastního testování jednotlivých technologií docházím k následujícím výsledkům (kritéria jsou seřazena abecedně): Kritérium Data Controls Multithreading Nativní vývojové prostředí Open Source Ošetření programových výjimek Podpora OOP Podpora více jazyků) Podpora více platforem Podpora webových serverů Podpora webových služeb Technologie PHP Ne Ne ASP.NET Ano Ano JSP Ano Ano Ano Ne Ne Ne Ano Ne Ano Ano Ano vysoká Ano nízká Ne vysoká Ne Ne Ano Ano nízká (standardně pouze IIS) vysoká (Apache, IIS) vysoká (Apache, IIS) Ano Ano Ano Tabulka 2.1: Porovnání webových technologií [autor] Na základě uvedených výsledků lze konstatovat, že ASP.NET je ve většině uvedených kritérií kvalitnější než konkurenční technologie. Ve 2 kritériích poskytují všechny technologie srovnatelnou kvalitu a pouze v kritériu Podpora více platforem je ASP.NET horší než obě konkurenční technologie. 27

26 Výsledky porovnání je samozřejmě nutné brát s rezervou. Osobně se přikláním k technologii ASP.NET, a to především proto, že poskytuje komfortní vývojové prostředí pevně provázané s platformou, serverové ovládací prvky, které značně usnadňují především počáteční fázi vývoje aplikací, a umožňuje programovat prakticky v kterémkoliv jazyce, který odpovídá specifikaci CLS. Naproti tomu JSP je vhodný pro zkušené vývojáře v Javě, kteří nejsou kvůli němu nuceni přeorientovávat se na jinou technologii. PHP naopak poslouží především začínajícím vývojářům, kteří vyvíjí méně rozsáhlé aplikace. Jeho syntax je přehledná a díky tomu je jazyk rychle osvojitelný. Další jeho výhodou je např. platformní nezávislost PHP aplikací. Každá z technologií má určité vlastnosti/výhody, které mohou vývojáři preferovat před ostatními. Z velké části tedy závisí výběr čistě na osobních preferencích. 28

27 3 Rešerše řešení pro rezervační systém V této kapitole se zabývám rešerší již existujícího a implementovaného řešení pro rezervační systém realizovaný skrze portál RezervujStůl.cz. Systém vytvořil team vývojářů fungující pod záštitou webového portálu VašeWebovky.cz [18]. Jedná se o skupinu profesionálních vývojář, která vyvíjí redakční a rezervační systémy pomocí webových technologií PHP, MySQL, Ajax, jquery, HTML a CSS. Na základě této rešerše stanovuji funkcionalitu svého řešení rezervačního systému. Určuji, co je vhodné z daného řešení použít a o které funkce systém rozšířit. 3.1 Současná funkcionalita systému Systém nabízí univerzální parametrizované řešení, které je možné implementovat do různých typů podniků, jako jsou restaurace, pizzerie, sportovní centra, hotely s restaurací apod. Systém v současnosti poskytuje svým uživatelům následující funkcionalitu ([11], sekce O systému): Výběr stolů pomocí interaktivního plánku místností Podpora více místností lze rezervovat např. nekuřácký salonek a zároveň venkovní terasu Výběr stolů podle umístění v restauraci s detailem každého stolu fotografie, kapacita míst, popis stolu apod. Vlastní nastavení otevírací doby restaurace - možnost nastavení speciální otevírací doby, např. přes svátky. Přehledné schéma obsazenosti pro obsluhu restaurace Možnost provozování systému na webových stránkách dané restaurace 3.2 Proces rezervace v systému Proces rezervace stolů z pohledu zákazníka restaurace: 1. Zákazník si na webu restaurace vybere datum, čas a stůl, vyplní své údaje a odešle rezervaci. 2. Na vyplněný obdrží informaci o provedené předběžné rezervaci. 3. Po schválení provozovatelem restaurace obdrží zákazník em potvrzení jeho rezervace. Proces rezervace stolů z pohledu provozovatele restaurace: 1. Rezervační systém oznámí novou rezervaci. 29

28 2. Provozovatel zkontroluje údaje zákazníka a potvrdí rezervaci (zákazník automaticky obdrží potvrzovací ).([11], sekce Jak to funguje) 3.3 Jak rozšířit funkcionalitu systému Celý rezervační systém [11] umožňuje zákazníkům restaurace využívat pouze funkce spojené s rezervací stolu on-line. Cílem mého vlastního řešení pomocí technologie ASP.NET je rozšířit tuto část systému o následující funkcionalitu: 1. Online rezervace menu umožňuje zákazníkovi restaurace objednat určité menu předem online na určitý čas po příchodu do restaurace. 2. Online rezervace obsluhy umožňuje zákazníkovi restaurace rezervovat konkrétního zaměstnance obsluhy na celou dobu jeho pobytu v restauraci. 3. Online rezervace dovozu menu umožňuje zákazníkovi restaurace objednat si dovoz zvoleného menu na požadované místo. 30

29 Praktická část 4 Návrh informačního systému restaurace V této kapitole se zabývám návrhem informačního systému restaurace. Definuji funkční požadavky systému a na jejich základě vytvořím jednotlivé datové modely, jejichž výsledkem je fyzická struktura systému. 4.1 Funkční požadavky IS Navrhovaný systém podporuje procesy spojené s vytvářením online rezervací zákazníků restaurace pomocí online rezervačního systému. Je implementován formou relační databáze. Jeho funkční požadavky popisují následující realitu: Zákazník má možnost provést online rezervaci. U každé rezervace se eviduje jedinečné id, popis, datum i čas jejího vytvoření a datum i čas, na který je stanovena. Rezervace je dvojího typu. První se označuje jako standard a slouží zákazníkům primárně k rezervaci stolů v restauraci. Volitelně si zákazník může ke každému rezervovanému stolu objednat vybraného zaměstnance jako soukromou obsluhu a libovolný druh a počet jídelních menu. V případě menu má možnost zvolit čas, kdy má být servírováno. Tento čas musí být shodný nebo pozdější vůči času rezervace příslušného stolu. Druhým typem rezervace je dovoz vybraného menu, který umožňuje objednat dovážku na určitou dodací adresu ve stanoveném datu a čase. Záznamy jednotlivých zákazníků a zaměstnanců obsluhy se evidují odděleně pro každou z těchto uživatelských rolí. Každý z nich je uložen pod určitým id, které je unikátní v rámci jeho uživatelské role. Dále se u obou rolí eviduje jméno, příjmení a věk. U zaměstnanců se navíc zaznamenává i jejich stručný popis a pracovní pozice. U administrátora IS se neevidují z bezpečnostních důvodů žádné osobní údaje, a proto se záznamy uživatelů s touto rolí neukládají odděleně. 31

30 4.2 Datové modely Konceptuální model Konceptuální model zahrnuje celkem 6 entit, u nichž se evidují základní atributy a relace mezi nimi. Zákazník může mít jednu nebo více rezervací. Každá rezervace zahrnuje alespoň jeden stolů a libovolný počet menu. Každý stůl může mít k sobě přiřazeno více zaměstnanců jako privátní obsluhu. Menu může být součástí více rezervací. Obrázek 4.1: Konceptuální model 32

31 4.2.2 Logický model Logický model znázorňuje podrobně všechny entity. Oproti konceptuálnímu modelu jsou již podrobně definovány všechny atributy u každé entity. Relace mezi jednotlivými entitami jsou znázorněny s ohledem na jejich kardinalitu. V případě relací s mohutnosti M:N jsou do modelu zařazeny asociační resp. vazební tabulky, které rozdělují relaci M:N na dvě relace typu 1:N a N:1. Entity Zaměstnanci a Zákazníci jsou v relaci s entitou aspnet_users. Ta je odlišena od ostatních entit v modelu jinou barvou, jelikož patří do ASP.NET části navrhované databáze. Obrázek 4.2: Konceptuální model 33

32 4.2.3 Fyzický model Fyzický model je vytvořen s ohledem na konkrétní implementační prostředí databáze. Tímto je MS SQL Server V modelu jsou již definovány všechny atributy včetně příslušných datových typů, které jsou kompatibilní s implementačním prostředím. Každá tabulka, která nahrazuje entitu znázorněnou v logickém modelu, má definované všechny své primární klíče a integritní omezení v podobě cizích klíčů z jiných tabulek. Jednotlivé relace entit jsou nahrazeny referencemi mezi tabulkami pomocí propojení příslušných sloupců. Např. tabulky Zamestnanci a Zákaznici jsou tak propojeny s tabulkou aspnet_users pomocí sloupce UserName. Obrázek 4.3: Fyzický model 34

33 4.3 Databázové tabulky V navrhované části databáze ASPNETDB je definováno 8 tabulek: Název tabulky Popis Zamestnanci Zaměstnanci obsluhy Zakaznici Zákazníci Rezervace Zákaznické rezervace RezStandard Detail standardní rezervace RezDovoz Detail rezervace dovozu Menu Jídelní menu Stul Jídelní stoly Mistnost Místnosti Tabulka 4.1: Vlastní tabulky databáze Kromě vlastní navrhované části databáze ASPNETDB, která je znázorněna pomocí databázových modelů, obsahuje databáze druhou část, jež je kompletně spravována technologií ASP.NET. Zahrnuje ASP.NET tabulky, které evidují údaje o registrovaných uživatelských účtech, jejich členství v určité aplikaci, definovaných uživatelských rolí apod. Tabulky mají napevno stanovené anglické názvy, které obsahují příznak aspnet. O jejich automatické vygenerování se stará služba ASP.NET SQL Provider [9]. Data a definice tabulek lze editovat buď přímo ve vývojovém prostředí Visual Studio, nebo pomocí nástroje ASP.NET Web Site Administration Tool. Zde uvádím přehled ASP.NET tabulek, které používám ve své databázi ASPNETDB: Název tabulky aspnet_applications Popis Seznam ASP.NET aplikací registrovaných pro přístup do databáze ASPNETDB aspnet_users Základní údaje uživatelů ASP.NET aplikace aspnet_membership Členské údaje uživatelů ASP.NET aplikace aspnet_role Definované uživatelské role aspnet_usersinroles Uživatelé a jejich role aspnet_schemaversions Poskytované ASP.NET vlastnosti a jejich kompatibilní funkční schémata Tabulka 4.2: Tabulky služby ASP.NET SQL Provider [9] 35

34 4.4 Normalizace Normalizace je proces uspořádání dat v databázi. Jejím cílem je především odstranit redundanci dat a odstranit konzistentní závislosti [7]. Normalizace databáze se provádí podle určitých pravidel, které se označují jako normální formy. Navrhovanou databázi normalizuji podle 3 základních normálních forem [7], které se v praxi standardně používají. Podle definice jsou data v první normální formě právě tehdy, když mají tzv. atomický tvar a nelze je tedy dělit na menší části. V databázi neexistuje tudíž žádný tabulkový atribut složený z více částí, např. atribut Adresa v tabulce RezMenu obsahuje řetězec, který definuje právě jednu doručovací adresu zákazníka. Dále jsou data uspořádaná podle druhé normální formy. Podle její definice jsou data v druhé normální formě právě tehdy, pokud jsou v první normální formě a zároveň neklíčové atributy jednotlivých tabulek závisejí na celém primárním klíči. Tato podmínka se tedy týká pouze těch tabulek, které mají definovaný složený primární klíč. V mé databázi se jedná o vlastní tabulky RezMenu, a RezStul. V tabulce RezMenu figurují jako neklíčové atributy Pocet a Adresa. Oba atributy se kompletně vztahují ke složenému primárnímu klíči, který je tvořen atributy RezervaceId a MenuId. Ke každému jednomu primárnímu klíči lze definovat libovolné kombinace hodnot atributů Pocet a Adresa. Nejsou proto závislé pouze na části primárního klíče a splňují podmínky druhé normální formy. Totéž platí pro všechny neklíčové atributy v tabulce RezStul. Poslední normální formou, podle které jsou data normalizována je tzv. třetí normální forma. Podle její definice jsou data ve třetí normální formě právě tehdy, když jsou ve druhé normální formě a zároveň všechny neklíčové atributy tabulky jsou navzájem nezávislé. Hodnota jednoho neklíčového atributu tedy neurčuje hodnotu jiného neklíčového atributu nebo naopak. V mé databázi tento problém řeším v tabulce Rezervace, a to rozdělením rezervace podle typu na dvě samostatné tabulky RezStul a RezMenu. Každá z nich obsahuje již pouze ty neklíčové atributy, které souvisejí s daným typem rezervace a jsou navzájem nezávislé. 36

35 5 Návrh aplikace rezervační systém restaurace V této kapitole se zabývám návrhem aplikace rezervační systém restaurace. Definuji jeho funkcionalitu z hlediska jednotlivých uživatelů a jejich případů užití. A znázorňuji klíčové procesy v systému (autentizace uživatele, vytvoření zákaznické rezervace) pomocí vývojových diagramů. 5.1 Funkcionalita Přístup do aplikace je autentizován. Každý uživatel musí mít vytvořen uživatelský účet a při přihlášení do aplikace zadat platné uživatelské jméno a heslo. Přes webové rozhraní se lze standardně registrovat pouze jako uživatel s rolí zákazník. Uživatelské účty s rolí zaměstnanec lze vytvořit pouze pomocí účtu administrátora. Uživatelské jméno je v rámci celé aplikace unikátní, heslo může mít každý uživatel libovolné, musí ale obsahovat alespoň jeden nealfanumerický znak. Při přihlášení je uživatel zároveň autorizován, přiřadí se mu příslušná uživatelská role a na základě ní má přístup k určitým částem a funkcím v aplikaci. V té jsou definované 3 uživatelské role: Zákazník - slouží ke správě vlastních rezervací. Můžou vytvářet, editovat a případně mazat záznamy svých rezervací. Zaměstnanec - spravuje veškeré rezervace zákazníků. Může zobrazit, mazat a editovat záznam jakékoliv zákaznické rezervace. Administrátor - má plnou kontrolu nad všemi uživatelskými účty v systému. Kromě všech funkcionalit, které má zaměstnanec obsluhy, může navíc vytvářet, mazat a editovat uživatelské účty a definovat jejich uživatelské role. Samotná aplikace je implementovaná pomocí technologií ASP.NET, MSSQL, XHTML, CSS a AJAX. Slouží jako ukázkové řešení pro rezervační systém restaurace. Aplikace je umístěna na web a lze ji spustit v libovolném webovém prohlížeči s podporou Javascriptů. 37

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

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

Seznámení s prostředím dot.net Framework

Seznámení s prostředím dot.net Framework Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

APS Administrator.OP

APS Administrator.OP APS Administrator.OP Rozšiřující webový modul pro APS Administrator Přehled přítomnosti osob v oblastech a místnostech Instalační a uživatelská příručka 2004 2013,TECH FASS s.r.o., Věštínská 1611/19, Praha,

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework úvod, historie, základy.net framework, programovací jazyky, vývojové prostředky Úvod strana 2 Cíl předmětu Seznámit se s vývojem aplikací

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

IB111 Programování a algoritmizace. Programovací jazyky

IB111 Programování a algoritmizace. Programovací jazyky IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Visual Studio Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 19,2 Číslo: V/5 Programování

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

Informační systém pro e-learning manuál

Informační systém pro e-learning manuál Informační systém pro e-learning manuál Verze 1.00 Úvod Tento dokument popisuje způsob práce s informačním systémem pro elektronické vzdělávání. Systém je určený pro vytvoření elektronického kurzu a jeho

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25 Programování v C# Úvodní slovo 1 / 25 Obsah přednášky Seznámení s předmětem Co je.net Vlastnosti.NET 2 / 25 Kdo je kdo Petr Vaněček vanecek@pf.jcu.cz J 502 Václav Novák vacnovak@pf.jcu.cz?? Při komunikaci

Více

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

Více

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Datové služby sdružení CESNET http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY Jakub Šesták 5. 12. 2014 1. ročník navazujícího

Více

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator APS Web Panel Rozšiřující webový modul pro APS Administrator Webové rozhraní pro vybrané funkce programového balíku APS Administrator Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská

Více

Programovací jazyky Přehled a vývoj

Programovací jazyky Přehled a vývoj Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování

Více

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13 Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

Více

APS Web Panel. Rozšiřující webový modul pro APS Administrator

APS Web Panel. Rozšiřující webový modul pro APS Administrator APS Web Panel Rozšiřující webový modul pro APS Administrator Přehled přítomnosti osob v oblastech a místnostech, změna uživatelského hesla a PINu a nastavení časového plánu Instalační a uživatelská příručka

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

Elektronická podpora výuky předmětu Komprese dat

Elektronická podpora výuky předmětu Komprese dat Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

APS Administrator.ST

APS Administrator.ST APS Administrator.ST Rozšiřující webový modul pro APS Administrator Webové rozhraní sledování docházky studentů Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská 1611/19, Praha, www.techfass.cz,

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23 5 Obsah O autorech 15 O odborných korektorech 15 Úvod 16 Rozdělení knihy 16 Komu je tato kniha určena? 18 Co potřebujete, abyste mohli pracovat s touto knihou? 18 Sdělte nám svůj názor 18 Zdrojové kódy

Více

Manuál pro obsluhu Webových stránek

Manuál pro obsluhu Webových stránek ResMaster Systems s.r.o. Truhlářská 1119/20, 110 00 Praha 1 Manuál pro obsluhu Webových stránek (Prosinec 2018) Jana Vítová, +420 225 388 130 2018 Obsah Úvod Webové stránky... 3 Slovník pojmů... 3 URL

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 /

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 / Outdoor Expert Uživatelský manuál Verze aplikace: 1.0 28. 12. 2014 OutdoorExpert_Manual.docx 1 / 35 2015-01-01 Obsah 1 ÚVOD... 3 2 POPIS FUNKČNOSTÍ APLIKACE... 3 2.1 SPUŠTĚNÍ APLIKACE... 3 2.2 ZALOŽENÍ

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek Prezentace aplikace Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek Osnova Úvod Programovací jazyk - PHP Etapy vývoje Funkce aplikace Co SW umí Na čem se pracuje Vize do budoucna Úvod Úvod Inspirováno

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Úvod do tvorby internetových aplikací

Úvod do tvorby internetových aplikací CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí C# - Databáze úvod, ADO.NET Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Co je to databáze? Databáze je určitá uspořádaná množina informací

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta

Více

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009 Webové rozhraní pro datové úložiště Obhajoba bakalářské práce Radek Šipka, jaro 2009 Úvod Cílem práce bylo reimplementovat stávající webové rozhraní datového úložiště MU. Obsah prezentace Úložiště nasazené

Více

Postupy práce se šablonami IS MPP

Postupy práce se šablonami IS MPP Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS 1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS Pro přístup do administrace služby GTS Bezpečný Internet používejte zákaznický WebCare GTS Czech, který je přístupny přes webové

Více

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do aplikací internetu a přehled možností při tvorbě webu CVT6 01a Úvod do aplikací internetu a přehled možností při tvorbě webu Internet a www Internet? Služby www ftp e-mail telnet NetNews konference IM komunikace Chaty Remote Access P2P aplikace Online games

Více

Nová áplikáce etesty Př í přává PC ž ádátele

Nová áplikáce etesty Př í přává PC ž ádátele Nová áplikáce etesty Př í přává PC ž ádátele Verze 0.6 Datum aktualizace 20. 12. 2014 Obsah 1 Příprava PC žadatele... 2 1.1 Splnění technických požadavků... 2 1.2 Prostředí PC pro žadatele... 2 1.3 Příprava

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Informační systém ozdravných pobytů zdravotní pojišťovny

Informační systém ozdravných pobytů zdravotní pojišťovny Úvod ní studie @fel.cvut.cz Téma bakalářské práce: Informační systém ozdravných pobytů zdravotní pojišťovny Pokyny pro vypracování: Analyzujte IS ozdravných pobytů dětí a mládeže obecné zdravotní pojišťovny.

Více

Uživatelská dokumentace

Uživatelská dokumentace Uživatelská dokumentace Verze 14-06 2010 Stahování DTMM (v rámci služby Geodata Distribution) OBSAH OBSAH...2 1. O MAPOVÉM SERVERU...3 2. NASTAVENÍ PROSTŘEDÍ...3 2.1 Hardwarové požadavky...3 2.2 Softwarové

Více

EPLAN Electric P8 2.7 s databázemi na SQL serveru

EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 k dispozici pouze ve verzi 64bit. EPLAN Electric P8 využívá k ukládání některých dat databáze. Artikly, překladový slovník 1 ) a

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Technologie ASP.NET. Martin Trněný

Technologie ASP.NET. Martin Trněný České vysoké učení technické v Praze Fakulta elektrotechnická Bakalářská práce Technologie ASP.NET Martin Trněný Vedoucí práce: Doc. Ing. Ivan Jelínek, CSc. Studijní program: Elektrotechnika a informatika

Více

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com Novinky ve Visual Studio 2010 Tomáš Kroupa Tomas.Kroupa@hotmail.com O čem si dnes řekneme Visual studio 2010 (beta 2) Jazyk C# 4.0 ASP.NET 4.0.NET 4.0 Visual Studio 2010 Beta 2 Jak získat Testovací verze

Více

Microsoft Windows Server System

Microsoft Windows Server System Microsoft Windows Server System Uživatelský autentikační systém od společnosti truconnexion komplexně řeší otázku bezpečnosti interních počítačových systémů ebanky, a.s. Přehled Země: Česká republika Odvětví:

Více

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13 Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace

Více

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

Více

Úvod do informačních služeb Internetu

Úvod do informačních služeb Internetu Úvod do informačních služeb Internetu Rozdělení počítačových sítí Počítačové sítě se obecně rozdělují do základních typů podle toho, na jak velkém území spojují počítače a jaké spojovací prostředky k tomu

Více

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009 Compatibility List Verze 3.60.5 8.4.2009 GORDIC spol. s r. o. Copyright 1993-2009 1 Obsah Obsah 1 2 3 4 5 6 7 8 9 3.1 3.2 Úvodní informace Podporované databázové systémy Klientské prostředí Tlustý klient...

Více

Jednotný identitní prostor Provozní dokumentace

Jednotný identitní prostor Provozní dokumentace Jednotný identitní prostor Provozní dokumentace Vytvořeno dne: 21. 2. 2012 Aktualizováno: 23. 5. 2017 Verze: 1.2 2017 MVČR Obsah 1. Úvod... 3 1.1. Účel provozní dokumentace... 3 1.2. Související dokumenty...

Více

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace Obsah HLEDEJCENY.mobi Mezi Vodami 1952/9 e-mail: info@hledejceny.cz HLEDEJCENY.mobi... 1 Mobilní verze e-shopu... 1 Důvody instalace... 1 Výhody... 2 Co je k mobilní verzi potřeba... 2 Objednávka služby...

Více

Bc. Martin Majer, AiP Beroun s.r.o.

Bc. Martin Majer, AiP Beroun s.r.o. REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam

Více

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)

Více

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Efektivní vývoj mobilních aplikací na více platforem současně Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows

Více

Modul msender message Sender. Nápověda

Modul msender message Sender. Nápověda Modul msender message Sender Nápověda msender je rozšiřujícím doplňkem systému Money S5 a vytváří pro informační systémy Money bránu do světa SMS zpráv a E-mailové obchodní komunikace. Modul je plně integrován

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

Programovací jazyk Úvod do programování v C#

Programovací jazyk Úvod do programování v C# Programovací jazyk C# Úvod do programování v C# Ing. Marek Běhálek Katedra informatiky FEI VŠB-TUO A-1018 / 597 324 251 http://www.cs.vsb.cz/behalek marek.behalek@vsb.cz .NET Framework Dramaticky zjednodušit

Více

STRUČNÝ NÁVOD K POUŽITÍ

STRUČNÝ NÁVOD K POUŽITÍ STRUČNÝ NÁVOD K POUŽITÍ REPOTEC RP-IP0613 Úvod Bandwidth manager REPOTEC (dále jen BM) je levný a jednoduchý omezovač rychlosti pro jakékoliv sítě založené na protokolu TCP/IP. Velice snadno se ovládá

Více

APS T&A.WEB. Rozšiřující programový modul pro identifikační systémy APS. Instalační a uživatelská příručka

APS T&A.WEB. Rozšiřující programový modul pro identifikační systémy APS. Instalační a uživatelská příručka APS T&A.WEB Rozšiřující programový modul pro identifikační systémy APS Instalační a uživatelská příručka 2004 2014,TECH FASS s.r.o., Věštínská 1611/19, Praha, Česká republika, www.techfass.cz, techfass@techfass.cz

Více

Průvodce aplikací FS Karta

Průvodce aplikací FS Karta Průvodce aplikací FS Karta Základní informace k Aplikaci Online aplikace FS Karta slouží k bezpečnému ukládání osobních údajů fyzických osob a k jejich zpracování. Osobní údaje jsou uloženy ve formě karty.

Více

11. Přehled prog. jazyků

11. Přehled prog. jazyků Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 11 1 Základy algoritmizace 11. Přehled prog. jazyků doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze

Více

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl Internet celosvětová síť spojení jednotlivých síťí pomocí uzlů (síť

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

45 Plánovací kalendář

45 Plánovací kalendář 45 Plánovací kalendář Modul Správa majetku slouží ke tvorbě obecných ročních plánů činností organizace. V rámci plánu je třeba definovat oblasti činností, tj. oblasti, ve kterých je možné plánovat. Každá

Více

Personální evidence zaměstnanců

Personální evidence zaměstnanců Mendelova univerzita v Brně Provozně ekonomická fakulta Personální evidence zaměstnanců Uživatelská dokumentace Bc. Petr Koucký Bc. Lukáš Maňas Bc. Anna Marková Brno 2015 1 Popis funkcionality Námi řešená

Více

Internet Information Services (IIS) 6.0

Internet Information Services (IIS) 6.0 Internet Information Services (IIS) 6.0 V operačním systému Windows Server 2003 je obsažena i služba IIS v 6.0. Služba IIS poskytuje jak www server tak i některé další služby (FTP, NNTP,...). Jedná se

Více

Registrace a aktivace uživatelského profilu k přístupu do systému erecept pro pacienta

Registrace a aktivace uživatelského profilu k přístupu do systému erecept pro pacienta Registrace a aktivace uživatelského profilu k přístupu do systému erecept pro pacienta 1. Obecné 1.1. Základní informace o aplikacích pro pacienta Pro pacienty je zpřístupněná webová a mobilní aplikace.

Více

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow

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