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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ú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

language="javascript">... </script>.

language=javascript>... </script>. WWW (World Wide Web) je dnes společně s elektronickou poštou nejvyužívanější službou internetu. URL (Uniform Resource Locator) slouží ke kompletní adresaci informace na internetu. Udává jak protokol, který

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

NewLink Moravia. CSP aplikace: RedHorse Content management ISM Issue management

NewLink Moravia. CSP aplikace: RedHorse Content management ISM Issue management NewLink Moravia CSP aplikace: RedHorse Content management ISM Issue management Činnost společnosti NewLink NewLink se zabývá webovými aplikacemi a informačními systémy pro průmyslové podniky a obchodní

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

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

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Úvod strana 2 Vyučující Ing. Jiří Lýsek, Ph.D. Ing. Oldřich Faldík https://akela.mendelu.cz/~lysek/ https://akela.mendelu.cz/~xfaldik/wa/

Více

Server-side technologie pro webové aplikace

Server-side technologie pro webové aplikace Server-side technologie pro webové aplikace PIA 2011/2012 Téma 6 Copyright 2006 Přemysl Brada, Západočeská univerzita Server-side scriptování Cíl dynamické generování webového obsahu/rozhraní integrace

Více

Rezervační systém Tvorba WWW stránek

Rezervační systém Tvorba WWW stránek 2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma

Více

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 KAPITOLA 1 Nové rysy Windows 8 a 8.1 15 Nové uživatelské rozhraní 15 Rychlý náběh po zapnutí 16 Informace v prvním sledu 16 Nové prezentační

Více

Popis produktu IDFU. Řešení součinnosti s oprávněnými osobami verze 2. Aegis s.r.o.

Popis produktu IDFU. Řešení součinnosti s oprávněnými osobami verze 2. Aegis s.r.o. Popis produktu IDFU Řešení součinnosti s oprávněnými osobami verze 2 Obsah Produkt IDFU...3 K čemu slouží...3 Historie IDFU...3 IDFU dnes...3 Generování odpovědí...4 Pozice produktu...5 Hlavní přínosy...5

Více

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o. NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE Ataxo Czech s.r.o. ÚVOD Internetové stránky vytvořené společností Ataxo v rámci produktu Mini web můžete jednoduše a rychle upravovat prostřednictvím on-line administrace.

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

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

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

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

Generování žádosti o certifikát Uživatelská příručka pro prohlížeč Opera

Generování žádosti o certifikát Uživatelská příručka pro prohlížeč Opera Generování žádosti o certifikát Uživatelská příručka pro prohlížeč Opera První certifikační autorita, a.s. Verze 8.15 1 Obsah 1. Úvod... 3 2. Požadavky na software... 3 3. Instalace kořenového certifikátu

Více

Profilová část maturitní zkoušky 2013/2014

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

Více

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI Cyril Klimeš a) Jan Melzer b) a) Ostravská univerzita, katedra informatiky a počítačů, 30. dubna 22, 701 03 Ostrava, ČR E-mail: cyril.klimes@osu.cz b) DC Concept

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování

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

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

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na

Více

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Webové aplikace Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Harmonogram Dopolední blok 9:00 12:30 Ing. Dostal Úvod, XHTML + CSS Ing. Brada,

Více

Registr práv a povinností

Registr práv a povinností Registr práv a povinností Doporučené postupy a nastavení internetového prohlížeče pro práci v aplikaci AIS RPP Doporučené postupy a nastavení internetového prohlížeče pro práci v aplikaci AIS RPP v4.0

Více

FFUK Uživatelský manuál pro administraci webu Obsah

FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu... 1 1 Úvod... 2 2 Po přihlášení... 2 3 Základní nastavení webu... 2 4 Menu... 2 5 Bloky... 5 6 Správa

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

2 Postup při programování, úvod do programovacího jazyka Java

2 Postup při programování, úvod do programovacího jazyka Java 2 Postup při programování, úvod do programovacího jazyka Java Studijní cíl V tomto bloku bude věnována pozornost správnému postupu při programování, budou detailně vysvětleny jednotlivé etapy programování

Více

Úvod do Web Services

Úvod do Web Services Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

PHP tutoriál (základy PHP snadno a rychle)

PHP tutoriál (základy PHP snadno a rychle) PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve

Více

Artikul system s.r.o. www.dsarchiv.cz UŽIVATELSKÁ PŘÍRUČKA tel. +420 727 827 422 dsarchiv@artikulsystem.cz

Artikul system s.r.o. www.dsarchiv.cz UŽIVATELSKÁ PŘÍRUČKA tel. +420 727 827 422 dsarchiv@artikulsystem.cz Obsah DS Archiv... 2 Nastavení připojení k internetu... 2 Nastavení aplikace... 3 Nastavení databáze... 4 Nastavení datové schránky... 4 Příjem zpráv z datové schránky... 6 Odeslání zprávy... 7 Ověření

Více

4D Mobile! Úvod! Achitektura 4D Mobile!

4D Mobile! Úvod! Achitektura 4D Mobile! 4D Mobile Úvod Wakanda, publikovaná 4D SAS, je platforma pro vývoj a publikování webových aplikací vnitřně založena na standardních technologiích: jako je JavaScript a HTML5. Můžete použít "4D Mobile",

Více

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím)

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím) Object 12 3 Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Téma: MEIV - 2.3.1.1 Windows server 2003 (seznámení s nasazením a použitím) Obor: Mechanik Elektronik Ročník: 4. Zpracoval(a): Bc. Martin Fojtík Střední

Více

Počítačové kurzy buildit

Počítačové kurzy buildit Počítačové kurzy buildit Kurz MS Windows - základy 1 590 Kč principy systému Windows, ovládání systému, práce s aplikacemi a okny, správa souborů a složek, multitasking, práce se schránkou Uživatelům,

Více

Základy WWW publikování

Základy WWW publikování Ing. Igor Kopetschke Oddělení aplikované informatiky Ústav nových technologií a aplikované informatiky Fakulta mechatroniky a mezioborových inženýrských studií Technická univerzita v Liberci Email : igor.kopetschke@tul.cz

Více

Programovací software ConfigTool. Základní obsluha a postup připojení k zařízení přes USB a GPRS. Verze 2.00

Programovací software ConfigTool. Základní obsluha a postup připojení k zařízení přes USB a GPRS. Verze 2.00 Programovací software ConfigTool Základní obsluha a postup připojení k zařízení přes USB a GPRS Verze 2.00 Vážený zákazníku. Tento stručný uživatelský manuál Vás přehlednou a jednoduchou formou seznámí

Více

Microsoft Access tvorba databáze jednoduše

Microsoft Access tvorba databáze jednoduše Microsoft Access tvorba databáze jednoduše Časový rozsah: 2 dny (9:00-16:00) Cena: 3300 Kč + DPH Úvod do relačních databází. Funkce databázových objektů Microsoft Access. Návrh tabulek, definice základních

Více

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY Internet World Wide Web FTP, fulltext e-mail, IP adresa webový prohlížeč a vyhledávač CÍLE KAPITOLY Pochopit, co je Internet

Více

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou: Relační databáze Pojem databáze, druhy databází Databází se myslí uložiště dat. V době začátků využívání databází byly tyto členěny hlavně hierarchicky, případně síťově (rozšíření hierarchického modelu).

Více

ucetni-program-pohoda.cz Uživatelský návod a nastavení Instalace str. 2 Uživatelské práva str. 3

ucetni-program-pohoda.cz Uživatelský návod a nastavení Instalace str. 2 Uživatelské práva str. 3 ucetni-program-pohoda.cz 2010 PVM výrobní modul pro ekonomický systém POHODA Vaše konkurenční výhoda při vyřizování odběratelských objednávek, plánování a realizaci výroby, nákupu materiálu a služeb. Uživatelský

Více

1. Obsah 2. Úvod Zdarma poštovní klient od společnosti Microsoft přímo v PC

1. Obsah 2. Úvod Zdarma poštovní klient od společnosti Microsoft přímo v PC 1. Obsah 1. Obsah... 1 2. Úvod... 1 3. Instalace... 2 4. Vytvoření účtu... 5 5. Pošta... 7 6. Kontakty... 11 7. Informační kanály... 11 8. Nastavení zobrazení... 12 2. Úvod Zdarma poštovní klient od společnosti

Více

Skriptovací jazyky. Obsah

Skriptovací jazyky. Obsah Skriptovací jazyky 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 Co je to skriptovací jazyk? Výhody a nevýhody

Více

Nemocnice. Prvotní analýza a plán projektu

Nemocnice. Prvotní analýza a plán projektu Nemocnice Projekt do předmětu AIS Prvotní analýza a plán projektu Lukáš Pohl, xpohll00, xkosti03 Jan Novák, xnovak79 2009/2010 1 Neformální specifikace FN potřebuje informační systém, který bude obsahovat

Více

Mapa Česka: www.mapa-ceska.cz

Mapa Česka: www.mapa-ceska.cz Mapa Česka: www.mapa-ceska.cz Mapový portál Mapa Česka, který je dostupný na internetové adrese www.mapa-ceska.cz, byl vytvořen v roce 2014 v rámci bakalářské práce na Přírodovědecké fakultě Univerzity

Více

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled Windows 2008 R2 - úvod Jan Žák Operační systémy Windows Stručný přehled Klientské OS Windows 95, 98, ME Windows NT Windows 2000 Windows XP Windows Vista Windows 7 Windows CE, Windows Mobile Windows Phone

Více

Programové vybavení OKsmart pro využití čipových karet

Programové vybavení OKsmart pro využití čipových karet Spojujeme software, technologie a služby Programové vybavení OKsmart pro využití čipových karet Ukázky biometrické autentizace Ing. Vítězslav Vacek vedoucí oddělení bezpečnosti a čipových karet SmartCard

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

Skriptování na straně serveru a klienta

Skriptování na straně serveru a klienta 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2012/03/29 21:34:27 $ Obsah Úvod... 3 Nová platforma... 4 Výhody webové platformy... 5 Nevýhody webové platformy... 6 Přístupy

Více

Obsah. Nastavení elektronické komunikace v IS PREMIER

Obsah. Nastavení elektronické komunikace v IS PREMIER Nastavení elektronické komunikace v IS PREMIER Obsah Elektronický podpis... 2 Další možnosti... 4 Registrace knihoven... 6 Modul epodání... 7 Komunikace s ČSSZ přes rozhraní VREP... 8 Komunikace s MFCR

Více

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE 0101 0304

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE 0101 0304 Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace Šablona 4 VY 32 INOVACE 0101 0304 VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor

Více

VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.)

VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.) 1 z 10 VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.) Obsah: A. Úvod B. Popis aplikace C. Instalace D. První spuštění E. Manuál programu VDDMAIL 1. Záložka DDE Server DDE Parametry

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

HTML Hypertext Markup Language

HTML Hypertext Markup Language HTML Hypertext Markup Language je jazyk určený na publikování a distribuci dokumentů na Webu velmi jednoduchý jazyk používá ho mnoho uživatelů má výkonné prostředky (příkazy) k formátování dokumentů (různé

Více

Dokumentace k produktu IceWarp Notifikační nástroj

Dokumentace k produktu IceWarp Notifikační nástroj Dokumentace k produktu IceWarp Notifikační nástroj Notifikační nástroj umožňuje propojit pracovní stanicí s aplikací IceWarp Web klient. Kromě funkcí pro upozorňování na nové události je pomocí ní možné

Více

NÁVOD NA POUŽÍVÁNÍ SYSTÉMU ARIADNE 3 Strana 1 1 Úvod Systém Ariadne3 je systém pro správu obsahu (CMS - "Content Management System"). Umožňuje pomocí jednoduchého a intuitivního uživatelského rozhraní

Více

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE ICZ a.s. Správa a řízení dokumentů Na hřebenech II 1718/10 147 00 Praha 4 Tel.: +420-222 271 111 Fax: +420-222 271 112 Internet: www.i.cz Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE Vypracoval

Více

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita Kartografická webová aplikace Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita Datum vzniku dokumentu: 3. 11. 2011 Datum poslední aktualizace: 10. 12. 2011 Cíl

Více

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Web Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Technologické trendy v AV tvorbě, Web 2 DNS Domain Name Systém

Více

Školící dokumentace administrátorů IS KRIZKOM (úroveň KRAJ) (role manager, administrátor )

Školící dokumentace administrátorů IS KRIZKOM (úroveň KRAJ) (role manager, administrátor ) Školící dokumentace administrátorů IS KRIZKOM (úroveň KRAJ) (role manager, administrátor ) DATASYS s.r.o., Jeseniova 2829/20, 130 00 Praha 3 tel.: +420225308111, fax: +420225308110 www.datasys.cz Obsah

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

Dobrý SHOP Popis produktu a jeho rozšíření

Dobrý SHOP Popis produktu a jeho rozšíření Dobrý SHOP Popis produktu a jeho rozšíření 501M012.N01 11/11/2011 www.dlaex.cz info@dlaex.cz OBSAH 1 Úvod...3 2 Účel produktu...3 3 Vlastnosti produktu...3 3.1 Koncepce...3 3.2 Základní y...3 3.3 Doplňkové

Více

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části)

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části) PŘÍLOHA Č. 1 ZADÁVACÍ DOKUMENTACE TECHNICKÁ SPECIFIKACE ZÁKAZNÍKA 1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské

Více

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16 Obsah Kapitola 1 Seznámení se systémem Joomla!................................. 9 Přehled systémů pro správu obsahu....................................................10 Použití systému pro správu obsahu.....................................................11

Více

ZEMĚMĚŘICKÝ ÚŘAD. Uživatelská příručka - Metadatový editor MDE. Pod Sídlištěm 9/1800, Praha 8. Verze IS nebo části IS: 1.01. Účel poslední změny:

ZEMĚMĚŘICKÝ ÚŘAD. Uživatelská příručka - Metadatový editor MDE. Pod Sídlištěm 9/1800, Praha 8. Verze IS nebo části IS: 1.01. Účel poslední změny: ZEMĚMĚŘICKÝ ÚŘAD Pod Sídlištěm 9/1800, Praha 8 Uživatelská příručka - Metadatový editor MDE Verze IS nebo části IS: Účel poslední změny: Počet listů dokumentu: 1.01 úprava dokumentace 8 Číslo jednací dokumentu:

Více

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. Tomáš Petránek tomas@petranek.eu Karviná, 21. 10. 2011 Obsah prezentace 1. Okolnosti

Více

FIO API PLUS. Verze 1.1.1

FIO API PLUS. Verze 1.1.1 FIO API PLUS Verze 1.1.1 www.fio.cz Verze 29. 5. 2015 OBSAH: 1 FUNKČNÍ POPIS... 2 2 INSTALACE APLIKACE... 2 3 ZÍSKÁNÍ TOKENU... 2 4 PŘIDÁNÍ ÚČTU / TOKENU DO APLIKACE... 3 5 STAŽENÍ DAT... 3 Periodické

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

INISOFT UPDATE - SLUŽBA AUTOMATICKÝCH AKTUALIZACÍ Uživatelská příručka

INISOFT UPDATE - SLUŽBA AUTOMATICKÝCH AKTUALIZACÍ Uživatelská příručka INISOFT UPDATE - SLUŽBA AUTOMATICKÝCH AKTUALIZACÍ Uživatelská příručka Popis funkce Softwarový nástroj INISOFT Update je univerzálním nástrojem pro stahování, údržbu a distribuci programových aktualizací

Více

Edu-learning pro školy

Edu-learning pro školy Edu-learning pro školy ONLINE VARIANTA Příručka pro instalaci a správu EDU 2000 s.r.o. Počítačové vzdělávání a testování Oldřichova 49 128 00 Praha 2 www.edu2000.cz info@edu2000.cz www.edu-learning.cz

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA Obsah Obsah... 4 Pinya CMS... 5 Přihlášení do systému... 6 Položky v menu administrace... 7 Uživatelé... 8 Správa uživatelů... 8 Nový uživatel... 9 Role... 10 Vytvoření

Více

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 62 Databáze a systémy pro uchování

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 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 schopnost, který je spolufinancován

Více

UŽIVATELSKÉ ŠKOLENÍ LOTUS NOTES

UŽIVATELSKÉ ŠKOLENÍ LOTUS NOTES STANDARDNÍ ŠKOLENÍ UŽIVATELSKÉ ŠKOLENÍ LOTUS NOTES UŽIVATELSKÉ ŠKOLENÍ LOTUS NOTES Komplexní školení zaměřené na získání uživatelských znalostí pro práci se systémem Lotus Notes. Účastník získá ucelené

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Uživatelská příručka RYANT OtWIin RYANT, s.r.o.

Uživatelská příručka RYANT OtWIin RYANT, s.r.o. Uživatelská příručka RYANT OtWIin RYANT, s.r.o. Provozní oddělení: Slovenská 19, 669 02 Znojmo Tel: +420 515 221 861 Fax: +420 515 223 750 e-mail: info@ryant.cz web: http://www.ryant.cz, http://www.inchange.cz

Více

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě projekt GML Brno Docens DUM č. 11 v sadě 36. Inf-12 Počítačové sítě Autor: Lukáš Rýdlo Datum: 06.05.2014 Ročník: 3AV, 3AF Anotace DUMu: WWW, HTML, HTTP, HTTPS, webhosting Materiály jsou určeny pro bezplatné

Více

OBJEDNÁVÁNÍ DÁRCŮ KRVE PŘES INTERNET Naděžda Kalužová, Zdeněk Slanina

OBJEDNÁVÁNÍ DÁRCŮ KRVE PŘES INTERNET Naděžda Kalužová, Zdeněk Slanina OBJEDNÁVÁNÍ DÁRCŮ KRVE PŘES INTERNET Naděžda Kalužová, Zdeněk Slanina 60 Anotace Ve spolupráci FNO Ostrava a VŠB-TU vzniká informační systém pro krevní centra, jehož hlavní úlohou je nabídka jednoduchého

Více