Online rozřazovací test z angličtiny

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

Download "Online rozřazovací test z angličtiny"

Transkript

1 PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Online rozřazovací test z angličtiny 2010 Michal Utíkal

2 Anotace Cílem práce je implementovat webovou aplikaci pro rozřazovací test z angličtiny pro studenty prvních ročníků PřF UP. Test bude sloužit ke zjištění pokročilosti studentů v angličtině a jejich zařazení do skupiny.

3 Chtěl bych poděkovat všem kolegům za jejich cenné připomínky při tvorbě aplikace a zvláště pak vedoucímu práce Michalu Krupkovi za jeho čas a pomoc. Díky patří také Kabinetu cizích jazyků za možnost podílet se na tomto projektu.

4 Obsah 1. Zadání Specifikace Určení problémové domény Základní požadavky Úvod do problematiky World Wide Web Historie, současnost a budoucnost Historie Současnost Budoucnost Architektura webu Webové inženýrství Webové technologie Technologie popisující dokumenty Klientské technologie Serverové technologie Analýza PHP Java ASP.NET ASP.NET Web Forms ASP.NET MVC Framework Uživatelská příručka Struktura aplikace Nepřihlášený uživatel Přihlášený uživatel - student Seznam testů - student Zobrazení testu - student Spuštění testu Zobrazení výsledku testu - student Přihlášený uživatel - administrátor Seznam testů - administrátor Zobrazení testu - administrátor Editace testu Statistiky Vizualizace Sitemap

5 5. Programátorská příručka Požadavky na nasazení Architektura aplikace Hlavní třídy Programátorské API Tests Controller Statistics Controller Account Controller Typické problémy a jejich řešení Klientské technologie Volba datového modelu Grafické zpracování Metodologie vývoje Správa verzí a řízení projektu Logování chyb Ladění Závěr 40 Conclusions 41 Reference 42 5

6 Seznam obrázků 1. Struktura aplikace Nepřihlášený uživatel Menu - student Seznam testů - student Informace o testu a povinný dotazník Spuštěný test Celkové hodnocení, doporučení dalšího postupu a seznam předmětů studenta Menu - administrátor Seznam testů - administrátor Zobrazení testu - administrátor Editace testu Statistika testů Zobrazení výsledku testu - administrátor Vizualizace výsledků testů Navigace v aplikaci

7 1. Zadání 1.1. Specifikace Cílem práce je implementovat webovou aplikaci pro rozřazovací test z angličtiny pro studenty prvních ročníků PřF UP. Test bude sloužit k zjištění pokročilosti studentů v angličtině a jejich zařazení do skupiny. Studentům bude v den zápisu předána informace, kde a do kdy mají možnost elektronický test vyplnit. Protože v té době již budou mít přihlašovací údaje do stagu, bude jejich identita částěčně ověřena podle jejich osobního čísla stagu. Po úspěšném přihlášení a vyplnění povinných údajů, může student začít vyplňovat příslušný test. Na vyplnění testu má časový limit 30 minut a test je možné odeslat pouze jednou. Po odeslání testu je studentovi zobrazen jeho výsledek, slovní hodnocení a seznam jeho povinných a volitelných předmětů angličtiny. Odeslané testy se v aplikaci ukládají a vyučující má kdykoliv možnost zpětně si zobrazit výsledek libovolného studenta. S těmito výsledky jde dále manipulovat a je možné je exportovat pro další použití. Vyučující má také přístup ke grafickým statistikám celkových výsledků testů a k editaci testů Určení problémové domény Nová aplikace má nahradit stávající systém rozřazovacích testů Kabinetu cizích jazyků Přírodovědecké fakulty Univerzity Palackého. V současné době probíhá testování studentů v den zápisu absolvováním prezenčního testu na papír a jeho následném ohodnocení odpovědnými vyučujícími. Toto řešení spoléhá na přítomnost studenta na testu a klade vysoké nároky na čas vyučujícího Základní požadavky Rozhraní pro vyplnění testů. Možnost editace testů. Vyhodnocení výsledků. Export výsledků testů pro další zpracování. Aplikace bude přizpůsobena i dalším požadavkům získávaným průběžně od konzultanta. Součástí práce bude analýza a porovnání technologií použitelných na implementaci aplikace a zdůvodnění jejich volby. 7

8 2. Úvod do problematiky Úvodní kapitola nejprve stručně popisuje historický kontext vývoje oboru. Pochopení historického vývoje je nezbytné pro plánování vývoje budoucího. Dále je popsána architektura Webu a obor který se jím zabývá. Jako poslední jsou popsány dostupné technologie pro vývoj webových aplikací World Wide Web Mezi mnoha službami zavedenými po vzniku Internetu 1 byla i služba World Wide Web (WWW, krátce Web). Jedná se o systém propojených hypertextových dokumentů, které lze prohlížet díky webovému prohlížeči Historie, současnost a budoucnost Historie Dějiny Webu 3 začaly roku 1989 kdy se Angličan Tim Berners-Lee aktuálně zdržoval v Evropské laboratoři jaderné fyziky (CERN) v Ženevě[10]. Plán pro World Wide Web jak ho pojmenoval se orientoval na vyvinutí nástroje, pomocí kterého by si mohla pohodlnou cestou vyměňovat data a myšlenky celosvětově roztroušená obec fyziků CERN. Téhož roku byla dokončena specifikace HyperText Markup Language (HTML), sloužících k zápisu dokumentů přenášených pomocí protokolu HyperText Transmission Protocol (HTTP). Díky tomuto hypertextu bylo možné navádět uživatele od jednoho dokumentu k jinému, aniž by k tomu byly zapotřebí složité příkazy. Aby uživatel dostal dokumenty ze vzdálených serverů a aby byly čitelné, byl potřebný jen pomocný program browser. Koncem roku 1990 byl vytvořen první prototyp systému WWW na počítačích NeXT ve středisku CERN a obsahoval webový prohlížeč pojmenovaný WorldWideWeb, specifikaci jazyka HTML a webový server 4. Další osudné rozhodnutí padlo roku 1993, kdy CERN oznámil, že nebude požadovat za technologii WWW žádné poplatky za využití patentu a copyrightu. Tím 1 Internet je celosvětový systém navzájem propojených počítačových sítí, ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů TCP/IP, 2 Webový prohlížeč je softwarová aplikace pro získávání, prezentování a procházení zdrojů na Webu. 3 pozn. autor Web Webový server je počítačový program, který na základě klientských požadavků vrací odpovídající webové zdroje. 8

9 se otevřela cesta pro celosvětové zavedení do užívání. Ve stejné době také americká firma Network Solutions přebírá úkol spravovat adresový prostor, tzv.top Level Domains např..com,.net,.org a.edu Současnost Za dvacet let své existence se Web stal celosvětovým fenoménem. Jeho rychlé rozšíření a extrémní vývoj měly za následek změny v povaze jeho používání. Z dřívějších statických stránek se postupně vyvinuly stránky dynamické, schopné měnit svůj obsah interakcí s uživatelem. Pro novou generaci webových stránek byl zaveden termín Web Web 2.0 jsou běžně označovány webové aplikace, které umožňují interaktivní sdílení informací, součinnost, uživatelsky zaměřený design a spolupráci na Webu. Stránky vytvořené v duchu Web 2.0 umožňují uživatelům vzájemně komunikovat přispíváním k obsahu webové stránky, narozdíl od původních statických stránek, které sloužily pouze k zobrazování informací. Příklady Web 2.0 stránek mohou být aplikace webových komunit, sociální sítě, stránky sdílející video, wikipedie a blogy. Přísně vzato však tento termín neznamená nový update nebo technickou specifikaci, ale jde pouze o kumulativní změny použití Webu programátory a uživateli Budoucnost Do blízké budoucnosti patří Web 3.0 co z něj vzejde zatím není jisté, nicméně jednou z jeho částí může být i sémantický web 7. V sémantickém webu je definován význam (sémantika) informací tak, aby bylo možné tyto informace strojově zpracovávat. Narozdíl od Webu dokumentů (Web složený z nestrukturovaných textových informací) se tedy jedná o Web dat (text jsou data). Standardizaci Webu se věnuje W3C konzorcium 8. Vice-prezident firmy Google, vizionář a otec internetu Vint Cerf [11] shrnul na jedné ze svých konferencí Future of Global Web Technology situaci následovně: V roce 1997 bylo 50 miliónů uživatelů internetu a do roku 2007 jejich počet vzrostl na mil., z celkového počtu 6.5 miliardy obyvatel na této planetě. To znamená, že více než 5 miliard obyvatel teprve přijde do kontaktu s internetem a odhaduje se, že většina z nich se připojí přes nějaké mobilní zařízení. Největší internetová komunita se již nyní nachází v Asii (459.5 miliónu, pokryto 12,4% obyvatel), následuje Evropa (337.9 miliónu, pokryto 41,7% obyvatel). 5 Domain Name System (DNS) je jmenná služba Internetu, zajišťující překlad jmen prostředků na síti na IP-adresy a naopak World Wide Web Consortium je mezinárodní standardizační organizace pro World Wide Web, 9

10 Data přesvědčivě hovoří o potenciálu asijského regionu k expanzi a o tom, že nová generace webových aplikací přijde z Asie (dříve USA, Evropa). Stejně tak dojde k podstatnému nárůstu zařízení připojených k internetu, a to bude v roce 2035 ve vyspělých státech činit až deset zařízení na jednoho člověka (mobilní telefon, televize, gadget stations, playstation, lednička,...). Význam internetu do budoucna poroste v důsledku nárůstu populace (v roce 2035 byl odhad populace stanoven na 10.5 miliardy) a zvyšující se ceny dopravy (globální oteplování, nedostatek ropy, uhlí a plynu), a také zlevnění cen energie potřebné ke komunikaci přes síť (např. video hovory, dálkově ovládaný robot,...). Mezi výzvy, kterým budeme v budoucnu čelit patří otázky distribučních práv dokumentů, vyhledávání podle významu, nikoli podle čistého textu, kompatibilita (budeme mít dokumenty, ale ne už programy k jejich otevření) otevřené formáty,vyhledávání podle lokality geoinformatika. Navíc již nyní se úspěšně testují meziplanetární protokoly nové generace Architektura webu Architektura Webu je navržena podle pravidel Representational State Transfer (REST 9 ), přestože tato pravidla byla zformulována až dlouho po Webu samotném. REST je styl softwarové architektury pro distribuované hypermediální systémy. Architektura REST se skládá z klientů a serverů. Klient pošle požadavek na server, server požadavek zpracuje a vrátí odpovídající odpověď. Požadavky a odpovědi odpovídají transferům reprezentací zdrojů. Zdroje mohou být jakékoliv smysluplné elementy, které lze jednoznačně adresovat. Reprezentace zdroje je typicky dokument, který zachycuje stav zdroje. Klient může v každou chvíli buď přecházet mezi jednotlivými stavy aplikace nebo být v klidu ( at rest ). Klient, který je v klidu může používat data aniž by spotřebovával prostředky serveru nebo sítě. Klient začne zasílat požadavky, když je připraven změnit stav. Pokud není jeden nebo více požadavků obslouženo, klient se nachází v jednom z přechodných stavů. Reprezentace každého stavu obsahuje odkazy, které mohou být použity příště pro zaslání nového požadavku o změnu stavu. REST architektura byla vyvinuta společně s protokolem HTTP/1.1. Každou aplikaci, která splňuje následující omezení můžeme označit RESTful: Klient-server - Klient je oddělen od serveru jednotným rozhraním. Server se nezajímá o přístupové prostředí uživatele ani o jeho aktuální stav, což vede k jednodušší implementaci a škálovatelnosti serveru. Pokud zůstane rozhraní nezměněno, klient i server mohou být nahrazeny nezávisle na sobě. 9 state transfer 10

11 Bezstavovost - Komunikace mezi klientem a serverem je omezena tím, že na serveru není mezi dvěma požadavky uložený žádný kontext uživatele. Každý požadavek uživatele obsahuje všechny potřebné informace nutné k obsloužení požadavku. Server může obsahovat stav pouze tehdy, pokud je (stav) adresovatelný pomocí URL 10 zdroje. Cache - Klienti si mohou ukládat odpovědi na jejich požadavky do cache 11. Každá odpověď musí obsahovat informace o tom, jestli je cachovatelná, aby povolila znovupoužívání stavu uživatele. Vrstevná architektura - Klient nemůže určit jestli je připojen přímo ke koncovému serveru nebo nějakému zprostředkovateli. Zprostředkovatelé mohou sloužit k rozdělovnání zátěže nebo sdílenému cachování. Kód na požádání (volitelný) - Server může na požádání rozšířit nebo upravit funkcionalitu klienta přenesením logiky aplikace na jeho stranu. Toto platí například pro kompilované komponenty nebo klientské skripty. Jednotné rozhraní - Jednotné rozhraní zjednodušuje architekturu a umožňuje měnit nezávisle jednotlivé části. S webovými aplikacemi uživatel pracuje skrz webový prohlížeč. Po zadání jednoznačného URL se uživateli jako odpověď na jeho požadavek zobrazí HTML stránka vygenerovaná na straně serveru a přenesená na klientskou stanici pomocí protokolu HTTP. Pro tuto stránku navíc existuje standard W3C pro jednotnou podobu jejího formátu. Webové aplikace ke svému provozu využívají služeb hostujících serverových počítačů. Ty jsou umístěny někde v síti a uživatel k nim může přistupovat z libovolné stanice připojené k Internetu Webové inženýrství Webové inženýrství je aplikace systematických, řízených a meřitelných postupů pro vývoj, vykonávání a údržbu webově orientovaných aplikací[1]. Jedná se o multidisciplinární obor, který vznikl jako odpověď na dřívější chaotický vývoj v rychle se měnící oblasti vývoje webových aplikací. Z různých úhlů pohledu může být webové inženýrství chápáno jako soubor následujících dovedností: Konstrukce a návrh webových stránek - Základní stavební prvky www jsou webové stránky. Jedná se o dokumenty skládající se z elementů nějakého 10 Url Resource Locator je řetězec znaků s definovanou strukturou, který slouží k přesné specifikaci umístění zdrojů informací na Internetu. 11 Cache je komponenta, která zlepšuje výkon aplikací ukládáním dat tak, aby při přístím požadavku mohly být obslouženy rychleji. 11

12 značkovacího jazyka (např. HTML). Protože ke konstrukci webové stránky není zapotřebí znalosti žádného programovacího jazyka, je tato část otevřená i poměrně laické veřejnosti. Obojí konstrukce i návrh webové stránky je disciplína, která víceméně spadá do oborů zabývajících se problematikou uživatelských rozhraní. Konstrukce a návrh webové aplikace - Hypertextovým propojením více webových stránek vznikají webové aplikace. Navigaci mezi jednotlivými stránkami umožňují data popisující aplikaci metadata[2]. Webové systémy - Jedná se o soubor webových aplikací vzájemně kooperujících za určitým cílem. Plánování a management webových projektů - Mezi základní problémy vývoje libovolných aplikací patří nedodržení termínu, ceny a kvality. Pochopení důležitosti všech fází vývoje webových aplikací je nezbytné k jejich minimalizaci a ušetření tak nákladů při možných opravách nefunkčního software. Proto je zřejmá potřeba systematického, měřitelného a opakovatelného procesu vývoje webových aplikací. Z výše zmíněného je zřejmé, že k popisu všech problémů vývoje webových aplikací nestačí Softwarové inženýrství, které se jako obor převážně zabývá vývojem desktopových aplikací. Pokusme se tedy shrnout některé rozdíly mezi webovými a desktopovými aplikacemi. Udržovatelnost - Webovou aplikaci stačí naistalovat na jeden speciální počítač, zatímco desktopové aplikace je potřeba instalovat zvlášť pro každou pracovní stanici a týká se to i jejich aktualizací a údržby. Použitelnost - Desktopovou aplikaci lze využívat pouze na stanici, na které je nainstalována a běží přímo v paměti klientského počítače. To velmi zrychluje běh aplikace a umožňuje naplno využívat potenciál moderního hardwaru. Na druhou stranu webové aplikace lze používat odkudkoliv, kde je připojení k Internetu. Bezpečnost - Webové aplikace nesou potenciálně větší bezpečnostní rizika plynoucí z nechráněné komunikace, která jsou pro desktopové aplikace na lokálním stroji podstatně menší. Připojení k síti - Webové aplikace jsou závislé na připojení k Internetu a jeho absence nebo pomalá rychlost se projevuje v kvalitativních problémech při práci s aplikací. Tím, že desktopové aplikace ke svému běhu nepotřebují připojení k Internetu, nedochází k prodlevám při vyřizování požadavků nebo jiným chybám síťové komunikace. Samozřejmě není možné toto rozdělení brát dogmaticky, protože existují webové aplikace, které běží pouze 12

13 na lokálním stroji a desktopové aplikace, které ke svému provozu používají síťovou komunikaci. Cena - Desktopová aplikace je zakoupena jednou a neobsahuje další poplatky. Cena vývoje a udržování webových aplikací se většinou skládá z opakovaných poplatků, a proto je často nákladnější. Další perspektivy - Na rozdíl od HTML stránky, která je typicky výstupem webové aplikace a jejíž struktura má standardizovanou podobu, se standardy pro vytváření desktopových aplikací liší v závislosti na použité platformě. Desktopové aplikace na platformách Mac a Windows tedy budou vypadat různě, zatímco HTML stránka bude v ideálním případě identická napříč spektrem operačních systému a webových prohlížečů. V minulosti pracovaly informační systémy převážně s transakčně zpracovatelnými numerickými daty s minimem textových informací. Dnešní webově orientované informační systémy naopak obsahují mimo jiné text a multimédia, která jsou obtížně strukturovatelná, nemohou být normalizována a nelze je třídit a vyhledávat v nich. Vznikají v nich nejenom problémy s vlastnictvím obsahu, ale i další legální, etické a sociální problémy. Takové problémy dříve nebylo potřeba řešit, ale při vývoji webových aplikací je k nim potřeba přihlédnout. Protože webové aplikace jsou vystaveny uživatelům z celého světa, musí být vytvořena strategie a politika jejich užívání pro uživatele potenciální i neznámé tak, aby byly zajištěny kvalitní služby a spokojenost zákazníků. Webové aplikace jsou multidisciplinárním oborem. Jsou vyvíjeny v konstantně měnícím se prostředí a s nestálými požadavky zákazníků. Vývojové týmy jsou typicky malé, naopak uživatelská komunita je větší než kdy dříve. Kvalitní webové aplikace musí být použitelné, funkční, spolehlivé, udržovatelné, škálovatelné a bezpečné, a proto existuje obor Webové inženýrství, který se těmito problémy zabývá Webové technologie V následujícím rozboru[3] si stručně rozebereme různé technologie podle doporučení organizace W3C: Technologie popisující dokumenty HTML - Hypertext Markup Language vychází z jazyka SGML a popisuje elementy, které mohou být použity k označení obsahu hypertextových dokumentů. Pro tyto elementy také určuje jejich vzájemné vztahy, sémantiku a syntaxi. Každý element je uzavřen pomocí symbolů menší a větší. 13

14 SVG (Scalable Vector Graphics) - Je formát popisující grafiku v XML. Obsahuje objekty třech typů vektory (linky a křivky), obrázky a text. Grafické objekty mohou být seskupeny do jiných objektů. SMIL (Synchronized Multimedia Integration Language) - Tento standard byl vyvinut pro synchronizované multimediální prezentace. Umožňuje řízení prezentace různých médii jako zvuku, textu a obrázků. Každému mediu je možné nastavit čas a umístění akce. XML (extensible Markup Language) - XML je dalším populárním dialektem SGML. Jedná se o rozšiřitelný a obecný značkovací jazyk, který umožňuje snadné vytváření konktrétních značkovacích jazyků pro různé účely a různé typy dat. Jazyk je určen především pro výměnu dat mezi aplikacemi, serializaci dat a jejich validaci. XSL (extensible Stylesheet Language) - XSL je soubor tří jazyků pro transformaci a zobrazování XML dokumentů: 1. XSL Transformations - Jazyk pro transformování XML dokumentů. 2. XPath - Jazyk pro adresování částí XML dokumentů. 3. XSL-FO - Jazyk pro určení vizuálního formátování XML dokumentů Klientské technologie Pomocné programy a pluginy - Pomocné programy přidávají funkcionalitu webovým prohlížečům. Potom co prohlížeč dostane jako odpověď na klientský požadavek data asociovaná s některým pomocným programem nebo pluginem, jsou tato data přesměrována ke zpracování tímto externím programem. Pomocný program musí být nainstalován na klientský počítač. Plugin je speciální typ pomocného programu a je nainstalován přímo do webového prohlížeče. Java applety - Java applety jsou programy napsané v jazyce Java, které se dynamicky načítají do prohlížeče. Kvůli bezpečnosti nemají přístup ke všem systémovým zdrojům a říkáme, že běží v tzv. sandboxu. ActiveX prvky - ActiveX 12 je framework pro definování znovupoužitelných softwarových komponent v libovolných programovacích jazycích. Softwarové aplikace mohou být složeny z jedné nebo více těchto komponent. Tato technologie byla zavedena v roce 1996 firmou Microsoft pro rozšíření svých technologií Component Object Model (COM) a Object Linking and Embedding (OLE). Prvky ActiveX běží pouze v prohlížeči Internet Explorer na

15 platformě Windows. Protože mají velká systémová oprávnění, jejich spouštění má bezpečnostní rizika. Skriptovací jazyky - Skriptovací jazyky rozšiřují funkcionalitu prohlížeče zejména o dynamické efekty. Mezi klientské skriptovací jazyky patří populární jazyk Javascript Serverové technologie SSI (Server-Side Includes) - Je jednoduchý interpretovaný skriptovací jazyk na straně serveru. Jeho nejčastější použití je pro vkládání jednoho nebo více souborů do webové stránky. Pro vykonání těchto souborů se vsuvkami SSI je potřeba, aby soubor měl některou z následujících koncovek:.shtml,.stm nebo.shtm. CGI/FastCGI - The Common Gateway Interface (CGI) je standard definující, jak může webový server delegovat generování webových stránek konzolové aplikaci. Tyto aplikace mohou být napsány v libovolném jazyce, ale často se jedná o jazyky skriptovací. Když webový server identifikuje požadavek od klienta, zavolá odpovídající spustitelný soubor a předá mu parametry. Protože při každém požadavku je v paměti serveru vytvořena nová instance CGI skriptu, jejich vykonávání je značně neefektivní. Skriptovací jazyky - Mezi skriptovací jazyky na straně serveru patří jazyky ASP, PHP, Cold Fusion a serverový JavaScript. Příkazy těchto jazyků se zapisují přímo do HTML kódu pomocí vsuvek a jsou vykonány před zasláním odpovědi klientovi. ASP.NET - Je technologie platformy Microsoft.NET Framework, umožňující psát aplikace v libovolném jazyce podporujícím běhový režim Common Language Runtime (CLR). Stejně jako v případě jazyka Java se nejdříve kompiluje na bytekód nazývaný Microsoft Intermediate Language (MSIL) a dále potom podle potřeby na strojový kód. Aplikace takto napsané mají podobné výkonové vlastnosti jako aplikace napsané například v jazyce C++. Aby se šetřilo systémovými zdroji, je celé ASP.NET implementováno jako ISAPI rozhraní. To dovoluje aplikaci zkompilovanou do jediné knihovny Dynamic Linked Library (DLL) nahrávat do stejného paměťového prostoru jako webový server při prvním požadavku. Každý další požadavek je pak už jen rychle obsloužen z této paměti, a tím odpadá opětovné zatěžování serveru jako u instancí CGI. JavaServer Pages (JSP) - Je technologie pro dynamické generování webových stránek. Byla vytvořena v roce 1999 firmou Sun Microsystems jako odpověď na konkurenční technologie ASP a PHP. JSP stránky jsou při 15

16 prvním načtení přeloženy na Java servlety, které poté již obsluhují všechny následující požadavky. Tato technologie je multiplatformní, protože dokáže běžet na každém serveru, který má nainstalovanou podporu Java Virtual Machine (JVM). Webové služby 13 - Jsou softwarové systémy navržené pro podporu komunikace počítač-počítač po síti. Mají rozhraní v počítačově zpracovatelném formátu Web Services Description Language (WSDL). Ostatní systémy komunikují s webovými službami zprávami, které jsou realizovány pomocí HTTP, XML serializace a ostatních webových standardů. Existují dva druhy webových služeb: Webové služby odpovídající specifikaci REST, které jsou bezstavové a jejichž účelem je manipulace s XML reprezentacemi webových zdrojů a webové služby, které po síti zpřístupňují množinu základních operací serveru. Mezi zástupce webových služeb patří technologie Service-Oriented Architecture (SOAP), Remote Procedure Calls (RPC) a Representational State Transfer (REST). 3. Analýza Validované základní požadavky získané přímo od klienta v první fázi projektu sloužily jako podklad pro další analytické práce. V praxi by jejich produktem byl dokument SRS 14, jednoznačně určující podobu a rozsah zakázky. Tento dokument je výchozí a klíčový pro navazující fáze. Mezi tyto další fáze patří volba vhodné metodologie vývoje softwaru, odhad nákladů, plánování testování a nasazení aplikace. Důkladná počáteční analýza také šetří budoucí náklady na opravu softwaru, které prudce rostou s časovým postupem projektu. Analytická fáze[7] spočívala v analýze požadavků vzhledem k možnostem nejmodernějších technologií. Kromě požadavků daných klientem byly brány v potaz obecné cíle projektu, jeho potenciální uživatelé, jejich množství a oprávnění. V následujícím textu si stručně popíšeme tři nejpoužívanější technologie pro generování stránek na straně serveru. Tato analýza mimo jiné vychází i z osobních zkušeností autora s programováním v těchto technologiích PHP Personal Home Page (PHP) 15 je skriptovací programovací jazyk určený především pro programování dynamických webových stránek. Vznikl v roce 1994 a 13 service 14 Software Requirements Specification

17 následujícího roku byl vydán pro užívání veřejnosti. Pro generování kódu používá vsuvky, které se vkládají přímo do HTML dokumentů a jsou zpracovány na straně serveru, ještě před odesláním odpovědi klientovi. Syntaxe jazyka je inspirována několika programovacími jazyky: Perl, C, Pascal a Java. Je to dynamicky typovaný jazyk. Jazyk PHP se stal díky své jednoduchosti nejrozšířenějším jazykem webových technologií vůbec. Jedná se o jazyk interpretovaný, původně neobjektový a nerozlišující důsledně vrstvy podle tradiční třívrstvé architektury. Mnoho z těchto a dalších nedostatků bylo postupně opraveno, buď přímo v jazyce samotném nebo pomocí knihoven třetích stran. Nejčastěji se používá v kombinaci s operačním systémem Linux, databázovým systémem MySQL a webovým serverem Apache. Výhody PHP je specializovaný na tvorbu webových stránek. Obsahuje rozsáhlý soubor funkcí v základní knihovně. Nativní podpora mnoha databázových systémů. Multiplatformost (Zejména Linux a Windows). Strmá křivka učení. Podpora na webhostingových službách. Množství volně dostupných projektů a kódů. Slušná dokumentace. Velmi svobodná licence. Nevýhody Jazyk PHP není nikde definován, je popsán pouze svou implementací. Nekonzistentní pojmenování funkcí i jejich skupin. Špatná podpora vyjímek. Slabší podpora Unicode, pouze přes knihovnu PHP. Ve standardní distribuci chybí ladicí nástroj. Pro zpracování požadavku neudržuje kontext aplikace a musí jej tedy pokaždé vytvářet znovu. 17

18 Není to komerční jazyk, nikdo nezodpovídá za kvalitu technického řešení. Přestože je možné použít mnoho knihoven třetích stran, jejich kvalita může být různá. Nerozlišuje vrstevnou architekturu aplikace a programátor si ji buď musí naprogramovat sám nebo použít nějakou dostupnou. Samotný jazyk programátora nenutí dodržovat praktiky kvalitního programování, často potom vzniká nekvalitní zdrojový kód. Jazyk nepodporuje standardní programové prostředky jako vlákna a knihovny. Knihovny jazyka je často potřeba instalovat na webový server, což způsobuje špatnou přenositelnost a problémové nasazení na produkční server. PHP je interpretovaný jazyk, to značně snižuje jeho výkon. Nezachovává zpětnou kompatibilitu mezi verzemi jazyka Java Java je programovací jazyk vytvořený Jamesem Goslingem z firmy Sun Microsystems a byl vydán v roce 1995 jako součást Java platformy 16. Syntaxe jazyka je odvozena z jazyka C a C++, ale má jednodušší objektový model a méně nízko-úrovňových prvků. Díky své přenositelnosti a objektové orientaci se stala jedním z nejpoužívanějších programovacích jazyků vůbec, nejenom pro webové technologie. Při jeho kompilaci nejprve dochází k vytvoření bajtkódu, který může běžet na libovolné stroji, na kterém je nainstalována Java Virtual Machine (JVM). Java je víceúčelový jazyk založený na třídách a objektovém paradigmatu programování (OOP) a je speciálně navržen, aby měl co nejméně implementačních závislostí. Java je jedním z nejdůležitějších jazyků dvacátého století. Výhody Jednoduchý, objektový jazyk se spoustou dostupných frameworků. Robustnost a bezpečnost. Implementační nezávislost. Výkon. Automatická správa paměti (programming language) 18

19 Nevýhody Samotný jazyk neobsahuje nejmodernější knihovny, ty je potřeba získat externě. Nemá jednotné vývojové prostředí a přenos projektů mezi více vývojovými prostředími je složitý nebo v případě GUI aplikací nemožný. Jazyk díky historickému vývoji obsahuje i dnes již zastaralé prvky ASP.NET ASP.NET 17 je webový framework nabízený firmou Microsoft pro vytváření dynamických webových stránek, webových aplikací a webových služeb. Byl vydán roku 2002 jako nástupce technologie ASP. Díky podpoře CLR je aplikace možné psát ve všech jazycích kompatibilních s.net Framework. Protože je nedílnou součástí.net Frameworku, se kterým sdílí většinu vlastností, popíšeme si tyto vlastnosti nyní. Výhody Zpětná kompatibilita - Framework poskytuje prostředky pro práci vně Frameworku jako jsou COM komponenty nebo nativní aplikace. Všechny jazyky.net jsou kompatibilní s Common Language Runtime (CLR) a mají garantované vlastnosti jako automatickou správu paměti, bezpečnost a ošetření vyjímek. Nezávislost na jazyku - Protože.NET používá stejný Common Type System (CTS) pro všechny své jazyky, typy a instance objektů jsou mezi nimi přenositelné. Bohatá knihovna Base Class Library (BCL) obsahuje pro všechny jazyky podporu čtení a zápisu souborů, grafického renderování, databází a manipulaci s XML..NET poskytuje bezpečnostní ochranu například pro přetečení bufferu. Přenositelnost - Návrh.NET Frameworku je platformě nezávislý. Aplikace napsaná pro.net Framework bude fungovat na všech platformách, pro které je.net Framework implementován. Nevýhody

20 Aplikace s automatickou správou paměti běžně spotřebují více paměti než aplikace, které si řídí práci s pamětí přímo. Zdrojový kód přeložený na MSIL bytekód je náchylnější k úspěšnému reverznímu inženýrství. Novější verze.net Frameworku nejsou předinstalované na operačních systémech a některé zabírají hodně místa na disku. Jediná plná implementace.net Frameworku existuje pro platformu Windows. Částečná implementace Mono vyvíjená firmou Novell existuje také pro platformy GNU/Linux, BSD, Unix, Mac OS X, Solaris a Windows. Stejně jako je možnost vybrat si z široké nabídky programovacích jazyků, i v rámci jednotlivých jazyků existuje mnoho způsobů realizace samotné webové aplikace. V následujícím textu si stručně popíšeme dostupné technologie pro tvorbu webových aplikací na platformě.net a jejich zhodnocení ASP.NET Web Forms Cílem vývoje tohoto frameworku byla snaha odstranit klasické problémy bezstavového webového prostředí. Obsahuje množství ovládacích prvků, které usnadňují vývoj aplikací. Řeší problém oddělení aplikační vrstvy od prezentační a podporují výběr běhových kompilovaných jazyků. Je možné vytvářet znovu použitelné ovládací prvky[6]. Výhody Zavedením stavového prostředí nad webem vytváří abstrakční vrstvu. Zavedením tohoto stavu z webu sice dělá něco co není, ale značně to usnadňuje tvorbu složitých, datově řízených aplikací. Programátor zvyklý na vývoj klientského software může okamžitě začít programovat webové aplikace bez nutnosti znalosti webové architektury. Nevýhody Aplikace napsané v tomto frameworku je značně obtížné automaticky testovat. Nově vytvořený stav ve webovém prostředí je nutné si někde uchovávat. K tomu slouží skrytá proměnná ViewState. Tato proměnná i další typické automaticky generované části kódu se nepříznivě projevují v emitovaném kódu. Má to za následek špatnou optimalizaci pro vyhledávače, protože není možné plně kontrolovat výstupní HTML kód

21 Životní cyklus stránky a jejích prvků je velmi složitý ASP.NET MVC Framework ASP.NET MVC 19 [8] je nový framework pro vytváření webových aplikací na platformě.net. Obsahuje to nejlepší z MVC architektury, agilního vývoje a ASP.NET. Vznikl jako alternativa k WebForms, která poskytuje oddělení logických vrstev aplikace díky zavedení MVC návrhu architektury. MVC koncept není nový, poprvé byl použit v roce 1978 u jazyka SmallTalk. Jeho dnešní úspěch má na svědomí jazyk Ruby on Rails, který použití MVC při vyvíjení webových aplikací zpopularizoval. Uživatelská interakce s MVC aplikací odpovídá specifikaci REST. Uživatel zavolá akci kontroleru. Akce změní model a uživateli je vrácen zpět upravený pohled. Typická podoba URI MVC aplikace má tvar: /kontoler/akce/parametry Kontroler je třída obsahující metody jednoznačně odpovídající akcím. Pokud do prohlížeče zadáme například URI ve tvaru /Tests/Delete/0 bude zavolána metoda Delete kontroleru Tests a jako parametr jí bude předáno číslo 0. Výhody Naprostá kontrola výstupního HTML. Podpora Test driven development 20 a automatické generování neexistujícího kódu z kódu testovacích metod. Oddělení logických vrstev aplikace. Oddělení vrstev logiky samotných metod pomocí jejich atributů. Nevýhody Absence mnoha ovládacích prvků, které jsou dostupné ve WebForms. Vytváření těchto prvků může být časově náročné. Pochopení fungování celého frameworku, jakož i pochopení základní funkcionality Webu klade vysoké nároky na vzdělání programátora. 19 Model-View-Controller (MVC) je softwarová architektura, která rozděluje datový model aplikace, uživatelské rozhraní a řídící logiku do tří nezávislých komponent tak, že modifikace některé z nich má minimální vliv na ostatní. 20 Metoda vývoje softwarových aplikací, který spoléhá na krátké vývojové cykly. Nejprve vývojář napíše testovací funkce a teprve potom napíše kód funkcí k testování tak, aby prošel testovacími funkcemi. 21

22 4. Uživatelská příručka Tato aplikace slouží studentům 1.ročníků. Po odeslání vyplněného testu bude uživateli doporučen předmět odpovídající jazykové úrovně. V následujícím textu představíme aplikaci a její funkcionalitu z pohledu různých uživatelských rolí Struktura aplikace Každá strana aplikace obsahuje následující ovládací prvky odkaz na hlavní stranu, navigační menu a lištu aktuální pozice v rámci aplikace. Odkaz na hlavní stranu Hlavní menu Navigační lišta Obrázek 1. Struktura aplikace Nepřihlášený uživatel Nepřihlásený uživatel má k dispozici základní pohled s dvěma vstupními stránkami domovská stránka a stránka nápovědy k aplikaci. Může se přihlásit jako student nebo administrátor. 22

23 Přihlásit student Přihlásit administrátor Obrázek 2. Nepřihlášený uživatel Přihlášený uživatel - student Oproti nepřihlášenému uživateli obsahuje menu přihlášeného studenta jednu položku navíc seznam testů. Příhlášený student Seznam dostupných testů Obrázek 3. Menu - student Seznam testů - student Ze seznamu testů je možné spustit si vybraný test. 23

24 Seznam testů Obrázek 4. Seznam testů - student Zobrazení testu - student Studentovi jsou zobrazeny detailní informace pro postup vyplňování a po zadání povinných položek a potvrzení dialogu je mu zobrazen samotný test. Povinný dotazník Obrázek 5. Informace o testu a povinný dotazník. 24

25 Spuštění testu Po vyplnění povinných položek formuláře je zobrazen samotný test. V pravém horním rohu je spuštěn odpočet času a na konci testu je zobrano tlačítko Odeslat pro odeslání testu. Zbývající čas pro vyplnění testu Testové otázky Tlačítko pro odeslání testu k vyhodnocení Obrázek 6. Spuštěný test Zobrazení výsledku testu - student Po úspěšném vyplnění a odeslání testu bude uživateli zobrazen seznam jeho povinných a povinně volitelných předmětů společně s celkovým hodnocením a doporučením dalšího postupu při výběru vhodného předmětu ke studiu. Student má právo vyplnit každý test pouze jednou. Při každém dalším zobrazení testu mu již bude zobrazen pouze jeho předešlý výsledek. Pokud z nějakého důvodu potřebuje test opakovat, je to možno pouze s povolením administrátora. 25

26 Celkové bodové hodnocení Slovní hodnocení Seznam povinných, povinně volitelných nebo volitelných předmětů studenta Obrázek 7. Celkové hodnocení, doporučení dalšího postupu a seznam předmětů studenta Přihlášený uživatel - administrátor Po úspěšném přihlášení získává administrátor přístup k následujícím položkám v menu Testy, Statistika a Vizualizace Seznam testů - administrátor Pokročilý pohled na seznam testů. Administrátor má právo přidávat, editovat a mazat vytvořené testy. Pokud u některého testu existuje statistika výsledků vyhodnocení, vedle jména testu se zobrazí příslušný odkaz. 26

27 Přihlášený administrátor Menu administrátora Obrázek 8. Menu - administrátor. Zobrazení testu Přidání nového testu Úprava, smazání testu Statistiky testu Obrázek 9. Seznam testů - administrátor Zobrazení testu - administrátor Při navigaci na konkrétní jazykový test ze seznamu testů se zobrazí souhrnné informace o vloženém testu. Stejně jako v seznamu testů je možné přejít odkazem Upravit do editačního formuláře testu Editace testu V editaci testu je možné vytvořit nový nebo editovat stávající test. Formulář editace testu obsahuje následující funkcionalitu: editace názvu, zadání, otázek, úrovní hodnocení a zpřístupnění testu. Pro uložení testu slouží tlačítko Uložit. Pro zrušení rozpracovaných změn slouží tlačítko Zrušit. 27

28 Úprava, mazání testu Testové otázky Informace o testu Obrázek 10. Zobrazení testu - administrátor. Přidání otázky - Pro přidání otázky slouží odkaz Přidat otázku. Nová prázdná otázka bude přidána a zařazena jako poslední otázka. Editace otázky - Při přidání nebo editaci stávající otázky je potřeba vyplnit její název, přidat odpovědi a zvolit správnou odpověd. Smazání otázky - Pro smazání otázky v editačním formuláři slouží příslušné tlačítko Smazat otázku. Pořadí otázek v testu - Pořadí otázek v testu je možné měnit přetažením dané otázky na jiné místo v testu. Po najetí kurzoru nad otázku se kurzor změní a indikuje tím možné uchopení a manipulaci s otázkou. Přidání úrovně hodnocení - Pro přidání úrovní hodnocení slouží odkaz Přidat hodnocení. Nová prázdná úroveň hodnocení bude přidána a zařazena jako poslední úroveň hodnocení. Editace úrovně hodnocení - Při přidání nebo editaci stávající úrovně hodnocení je potřeba vyplnit její bodové rozsahy a popis. Pokud student v testu získá počet bodů odpovídající dané úrovni hodnocení, bude mu zobrazen její popis. Smazání úrovně hodnocení - Pro smazání úrovně hodnocení v editačním formuláři slouží příslušné tlačítko Smazat. 28

29 Povinný název testu Editovat otázku Přidat otázku Přidat úroveň hodnocení Editovat úroveň hodnocení Uložit, zrušit změny Obrázek 11. Editace testu Statistiky Slouží pro správu výsledků vyhodnocení testů. Uložený výsledek každého vyhodnoceného testu je zobrazen v přehledné tabulce. Je možné určit počet výsledků v tabulce pomocí výběru počtu řádků z Počet řádků a třídit tabulku podle sloupců. Je možné označit některé výsledky přímo nebo všechny výsledky pomocí tlačítka Označit všechny. S označenými výsledky je možné dále pracovat pomocí tlačítek: Smaž označené a Export do CSV. Pokud je výsledků více než počet řádků v tabulce, dochází ke stránkování tabulky. Smaž označené - Smaže všechny označené výsledky. Export do CSV - Provede export označených položek do souboru a nabídne soubor ke stažení. 29

30 Označení pracovního výsledku Počet řádků tabulky Operace s označenými výsledky Zobrazení výsledku studenta Obrázek 12. Statistika testů. Zobrazení výsledku - Každý uložený záznam je možné zpětně zobrazit pomocí odkazu Zobrazit. Takto vygenerovaný náhled výsledku je totožný s náhledem, který byl zobrazen studentovi při odeslání vyhodnoceného testu. Navíc obsahuje seznam otázek s označenou správnou nebo nesprávnou odpovědí studenta. 30

31 Celkové bodové hodnocení studenta Informace o studentovi Označená správná odpověd studenta Obrázek 13. Zobrazení výsledku testu - administrátor Vizualizace Zobrazuje výsledky uložených vyhodnocení testu v přehledných grafech. Pro každý test jsou vygenerovány následující grafické statistiky: výsledky studentů podle úrovní hodnocení, studenti podle střední školy, studenti podle používané učebnice a studenti podle zkoušky. Vizualizace výsledků vyhodnocení testů se vztahuje pouze k uloženým výsledkům pro poslední verzi odpovídajícího testu. 31

32 Grafické statistiky výsledků testů Obrázek 14. Vizualizace výsledků testů Sitemap Stromová struktura stránek obsahující odkazy pro snadnou navigaci na stránkách. Při přidání nového testu nebo smazání uloženého je navigace upravena automaticky. Pro triviálnost aplikace je navigace k dispozici pouze administrátorovi. 32

33 Navigační struktura stránek Obrázek 15. Navigace v aplikaci. 5. Programátorská příručka Na základě závěrů uvedených v úvodních kapitolách byl jako hlavní programovací jazyk zvolen jazyk C# na platformě ASP.NET MVC Framework, jehož vývojové podmínky nabízí kombinaci výkonu v podobě kompilovaného kódu, efektivity moderního vývojového prostředí Visual Studio 2010 s integrovanou podporou vývoje všech fází projektu a MVC frameworku. Tato volba není jediná možná a důvody autora byly čistě věcí osobní preference Požadavky na nasazení Pro hostování aplikace je potřeba server IIS7. Na serveru musí být aktivováno zpracovávání souborů s koncovkou.less a nainstalována podpora MVC Frameworku. Samotná aplikace běží v Application Pool.NET Framework 4.0 a Pipeline mode Integrated. Složka App Data musí mít nastavena práva zápisu Architektura aplikace Architektura aplikace je postavená na ASP.NET MVC Frameworku. Jedná se o třívrstvou architekturu striktně oddělující jednotlivé vrstvy. Datovou vrstvu reprezentují modely (Model), aplikační vrstvu kontrolery (Controller) a prezenční vrstvu pohledy (View). Pokaždé když klient zašle požadavek na nějaký webový zdroj je tento požadavek nejprve přeposlán ke zpracování příslušnému kontroleru. Kontroler tento požadavek vyhodnotí, získá potřebná data z datového modelu a vrátí klientovi odpovídající pohled. 33

34 5.3. Hlavní třídy Použité třídy aplikace můžeme rozdělit podle toho, do které vrstvy aplikace patří. Mezi třídy datových modelů patří třídy popisující reálné objekty jako jsou jazykové testy, vyhodnocení testů, uživatelé a odpovědi na otázky. Tyto třídy neobsahují žádné řídící metody a slouží pouze jako datové kontejnery při přenosu dat z datových zdrojů. Třídy modelů v aplikaci se nacházejí ve složce /Models/ a jsou třídy: LanguageTest, Answer, ClassificationLevel, Question, Role, Statistic a AutoSave. Druhý typ tříd aplikace jsou třídy kontrolerů nacházející se ve složce /Controllers/. Každý kontroler zajišťuje část funkcionality aplikace. Nejdůležitější kontrolery v aplikaci jsou kontrolery pro správu testů (TestsController), uživatelů (AccountController), statistik výsledků (StatisticsController) a navigace (SitemapController). Kontrolery obsahují metody jejichž jména přímo odpovídají akcím, které mohou vykonávat (oprávnění) uživatelé aplikace. V dalším textu si uvedeme výčet konkrétních metod kontrolerů a budeme ho nazývat Programátorské API Programátorské API Programátorské API slouží k ovládání aplikace pomocí jednoduchého URI rozhraní, které odpovídá konkrétním metodám kontrolerů. Ke každému kontroleru existuje odpovídající pohled a model. Dále popíšeme nejdůležitější metody kontrolerů, ukázku jejich volání a návratové hodnoty. Pokud je návratovou hodnotou kontroleru ActionResult, znamená to, že bude vrácen odpovídající pohled. V případě, že je návratovou hodnotou JsonResult, bude vrácen blok HTML kódu jako odpověď na AJAX volání Tests Controller Slouží pro zobrazování a manipulaci s jazykovými testy. Většina jeho metod obsahuje kontrolu přístupových oprávnění pomocí atributu [Authorize(Roles= Administrators )]. public ActionResult Index() - Načte data pro seznam testů. př. /Tests public ActionResult View(int id) - Zobrazí test podle id. př. /Tests/1 public ActionResult Create() - Zobrazí prázdný formulář pro vytvoření testu. 34

35 př. /Tests/Create public JsonDelete(int id) - Zkusí smazat test podle id. př. /Tests/Delete/1 public ActionResult Eval(int id) - Vyhodnotí test odeslaný uživatelem. př. /Tests/Eval/1 public JsonResult Save(int id, string name, string description, string questions, string classification, bool enabled, string input) - Provede uložení nového nebo editovaného testu. public JsonResult AddQuestion(int testid, int questionid) - Přidá novou otázku do editačního formuláře. public JsonResult AddClassification(int id, int range) - Přidá novou úroveň hodnocení do editačního formuláře Statistics Controller Slouží pro práci se statistikami výsledků hodnocení. Většina jeho metod obsahuje kontrolu přístupových oprávnění pomocí atributu [Authorize(Roles= Administrators )]. public ActionResult Index(int id=-1, int? page=0, int? rows=5, int? sort=9, int? asc=0) - Zobrazí tabulku výsledků vyhodnocení. Pokud není zavolán s parametry pro výpis tabulky, použije výchozí. př. /Statistics/1&page=1&rows=2&sort=3&asc=1 public ActionResult Visualization() - Vytvoří a zobrazí grafické statistiky vyhodnocení testů. př. /Statistics/Visualization public ActionResult Delete(int id) - Pokusí se smazat uloženou statistiku podle id. př. /Statistics/Delete/1 public JsonResult AutoSave(int id, int[] answers, string , string highschool, string workbook, string exam) - Uloží rozpracovaný test studenta. public ActionResult ExportToCsv(int id) - Provede export vybraných statistik testu podle id do souboru CSV. př. /Statistics/ExportToCsv/1 35

36 Account Controller Defaultní kontroler MVC Frameworku pro správu uživatelů a přihlašování k aplikaci. public ActionResult LogOnUser(string username, bool rememberme, string returnurl) - Zkusí provést přihlášení uživatele. public ActionResult LogOff() - Odhlásí přihlášeného uživatele. public ActionResult Register(string username, string , string password, string confirmpassword) - Zkusí zaregistrovat nového uživatele. public ActionResult ChangePassword(string currentpassword, string new- Password, string confirmpassword) - Zkusí změnit stávající heslo uživatele Typické problémy a jejich řešení Tato sekce popisuje implementaci pokročilých funkcí aplikace za pomoci použitých technologií. Načítání dynamicky generovaných MVC ovládacích prvků za běhu aplikace - V editačním módu testu bylo pro každou otázku potřeba načítat netriviální bloky HTML kódu. Tento problém byl vyřešen kombinací AJAX a kódu vyhodnoceného na straně serveru. Po stisku odkazu Přidat otázku dojde k odeslání požadavku na server, kde je vyhodnocen kód znovupoužitelného ovládacího prvku, a ten je vzápětí vrácen jako HTML návratovou hodnotou. SOAP dotazování nad webovými metodami Stagu - Pro ověřování a získání informací o studentovi jsou použity webové metody stagu 21. Stejně tak při vyhodnocení testu jsou studentovi doporučeny jeho povinné a povinně volitelné předměty ze stagu. Pro komunikaci ze stagem používá naše aplikace proxy třídu automaticky vygenerovanou a následně zkompilovanou do podoby dll knihovny z WSDL 22 souboru. Metadata pro navigaci na stránkách - Metadata ve webové aplikaci popisují navigační strukturu webových stránek v rámci jednoho doménového jména. Obecně existují dva způsoby zjištění organizace stránek, buď analýzou všech odkazů vedoucích z hlavní stránky a rekurzivním následováním všech odkazů ze všech takto nalezených stránek se stejným doménovým prefixem nebo poskytnutí sitemap souboru. Naše aplikace generuje potřebná metadata automaticky podle aktuálního obsahu webových stránek a používá je pro vizualizaci navigační struktury stránek Web service definition language 36

37 Atributy metod kontrolerů - Atributy metod kontrolerů slouží pro zavolání určitého kódu před (během nebo po) voláním samotné metody kontroleru. Tím, že odstiňují samotné tělo metody od zbytečného kódu, zpřehledňují syntaxi jazyka. Naše aplikace používá atributy pro kontrolu oprávnění volání metod, zachytávání chybových hlášení a následné přesměrování a rozlišování jednotlivých submit tlačítek v rámci formuláře a přesměrování na odpovídající metody kontroleru Klientské technologie Pro realizaci asynchroních javascriptových volání a manipulaci s DOM stromem byla použita knihovna jquery, kterou lze libovolně nahradit kteroukoli z volně dostupných alternativ. Mezi její hlavní výhody patří vlastnosti jako (malá) velikost, ovládání, kompatibilita, rozšířenost a rozšiřitelnost. Paradoxně v našem projektu nepoužíváme pro AJAX datový formát XML, i když písmeno x ve slově AJAX znamená XML. Protože chceme přenášená data udržet v co nejmenší velikosti, používáme pro komunikaci JSON. Tímto nám také odpadá potřeba parsovat XML na klientské stanici[4]. Bezpečnost pro přístup k volání funkcí AJAX řeší pravidlo Same origin policy 23, které povoluje pouze běh skriptu nacházejícího se na stránce jeho původu a nelze tedy volat skripty z jiné domény. Tím je zabezpečeno, že citlivá data o výsledcích dotazu nebudou zneužita podvržením fiktivního dotazu na AJAX metody kontroleru. Navíc MVC framework implicitně zakazuje posílání HTML kódu přes editační formuláře Volba datového modelu Aplikace byla navržena obecně tak, aby mohla používat libovolný datový zdroj. Týká se to správy uživatelů, rolí, ukládání testů a výsledků testů a autosave funkcionality. Pro ukládání těchto dat existuje rozhraní, které každý poskytovatel dat musí implementovat. Pro změnu poskytovatele dat pak stačí pouze v souboru nastavení aplikace přidat sekci nastavení daného poskytovatele, aktivovat ho u konkrétní funkcionality a aplikace začne automaticky využívat jeho služeb. Pro jednoduchost ve výchozím nastavení aplikace používá pro ukládání všech svých dat XML datové poskytovatele Grafické zpracování Aplikaci byl dán unifikovaný vzhled jednotný s dalšími aplikacemi Univerzity Palackého, tak aby uživatelé byli co možná nejméně vystaveni stresu při práci s 23 origin policy 37

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

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

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková Ruby on Rails Bc. Tomáš Juřík Bc. Bára Huňková Co nás dnes čeká? Ruby (programovací jazyk) Ruby on Rails (webový framework) Praktická ukázka Ruby (programovací jazyk) Ruby (programovací jazyk) Skriptovací

Více

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

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

Více

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

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

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

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services 13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -

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

Ú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

Ú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

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

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

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é 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

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

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

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

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

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

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

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

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

Více

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

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

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

OBSAH. 1. Úvod Požadavky na SW vybavení... 3

OBSAH. 1. Úvod Požadavky na SW vybavení... 3 Obsah OBSAH 1. Úvod... 3 1.1 Požadavky na SW vybavení... 3 2. Popis Reliance J... 4 2.1 Start vizualizace... 4 2.2 Hlavní okno... 5 2.2.1 Menu Služby... 6 2.2.2 Menu Nápověda... 8 2.3 Nastavení hodnoty...

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

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

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

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

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

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

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

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

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

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

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

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

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací. Přednáška 5 1. Stručný přehled vývoje html H T m l (HTML...XML... html5), (Web API, JSON, REST,AJAX) 2. Některé související IT IP adresa, doménová adresa, name servery JavaScritp, Jquery, Angular PHP vs

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

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

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

Ú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

CZ.1.07/1.5.00/34.0527

CZ.1.07/1.5.00/34.0527 Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice

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

Microsoft Office 2003 Souhrnný technický dokument white paper

Microsoft Office 2003 Souhrnný technický dokument white paper Microsoft Office 2003 Souhrnný technický dokument white paper Přehled inteligentních klientských aplikací založených na sadě Microsoft Office 2003 System Publikováno: Duben 2003 Shrnutí: Inteligentní klienti

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

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

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

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

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

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

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

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

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

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

Podpora skriptování v Audacity

Podpora skriptování v Audacity Specifikace softwarového díla & Časový plán implementace pro Podpora skriptování v Audacity Audacity je oblíběný editor zvuku, který ovšem v současné době postrádá možnost automatizovaného vykonávání skriptů.

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

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

ČÁST 1. Základy 32bitového programování ve Windows

ČÁST 1. Základy 32bitového programování ve Windows Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25

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

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

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

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

1 Příručka používání Google Apps

1 Příručka používání Google Apps 1 Příručka používání Google Apps Tento manuál vznikl pro účel seznámení se základní funkčností balíku Google Apps a má za úkol Vás seznámit s principy používání jednotlivých služeb (Gmail, Kalendáře, Disk).

Více

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro administrátory Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento

Více

Artlingua Translation API

Artlingua Translation API Artlingua Translation API Dokumentace Jan Šváb, Artlingua, a.s. 2015 Revize: 2015-09-22 - verze API : v1 Obsah Obsah... 2 Předávání dokumentů k překladu... 3 Implementace klientské aplikace pro Translation

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

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

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940

Více

Reranking založený na metadatech

Reranking založený na metadatech České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1

Více

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant KOMPONENTY APLIKACE TreeINFO Petr Štos ECM Business Consultant CO JE TO APLIKACE TreeINFO Sada komponent Komponenty rozšiřující sloupce Komponenty rozšiřující pohledy na data Aplikační části Využití jednotlivě

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

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra mikroelektroniky Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce Zadání Stávající

Více

Po ukončení tohoto kurzu budete schopni:

Po ukončení tohoto kurzu budete schopni: PRÁCE S INTERNETEM A KOMUNIKACE Hana Rohrová, Roman Rohr Cíle kurzu Po ukončení tohoto kurzu budete schopni: porozumět základním pojmům spojeným s používáním Internetu, dodržovat bezpečnostní opatření

Více

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6 APS mini.ed programová nadstavba pro základní vyhodnocení docházky Příručka uživatele verze 2.2.0.6 APS mini.ed Příručka uživatele Obsah Obsah... 2 Instalace a konfigurace programu... 3 Popis programu...

Více

java remote method invocation Kateřina Fricková, Matouš Jandek

java remote method invocation Kateřina Fricková, Matouš Jandek java remote method invocation Kateřina Fricková, Matouš Jandek Distribuovaný systém počítačový systém, ve kterém jsou jednotlivé komponenty propojeny počítačovou síťí komponenty systému sdílí cíl, kterého

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

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

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty Pokročilé techniky tvorby sestav v Caché ZENové Reporty Úvodem Jednoduché sestavy Pokročilé sestavy Ladění Historie ZEN reporty sdílejí podobný princip definování obsahu jako ZENové stránky Byly uvedeny

Více

Uživatelská příručka pro. elektronické podání žádosti o uznání porostů. přístup k výsledkům přehlídek uznávacího řízení

Uživatelská příručka pro. elektronické podání žádosti o uznání porostů. přístup k výsledkům přehlídek uznávacího řízení Uživatelská příručka pro elektronické podání žádosti o uznání porostů a přístup k výsledkům přehlídek uznávacího řízení prostřednictvím Portálu farmáře verze: 1.0 Strana 1 (celkem 14) Vytvořeno dne 3.1.2011

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

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

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

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3.1 Tenký a tlustý klient Klientské aplikace nad XML dokumenty v prostředí internetu se dají rozdělit na dvě skupiny: tenký klient a tlustý klient.

Více

Uživatelská příručka pro respondenty

Uživatelská příručka pro respondenty Uživatelská příručka pro respondenty Statistický informační systém Českého statistického úřadu Subsystém DANTE WEB Funkční blok Objednavatel: Český statistický úřad Na padesátém 81, 100 82 Praha 10 Dodavatel:

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Návod pro práci s aplikací

Návod pro práci s aplikací Návod pro práci s aplikací NASTAVENÍ FAKTURACÍ...1 NASTAVENÍ FAKTURAČNÍCH ÚDA JŮ...1 Texty - doklady...1 Fakturační řady Ostatní volby...1 Logo Razítko dokladu...2 NASTAVENÍ DALŠÍCH ÚDA JŮ (SEZNAMŮ HODNOT)...2

Více

KRAJSKÝ ÚŘAD KARLOVARSKÉHO KRAJE. Manuál. Uživatele aplikace informačního systému pro

KRAJSKÝ ÚŘAD KARLOVARSKÉHO KRAJE. Manuál. Uživatele aplikace informačního systému pro Manuál Uživatele aplikace informačního systému pro zjišťování údajů a vypracování Přehledu o předběžném odhadu nákladů na obnovu majetku sloužícího k zabezpečení základních funkcí v území Karlovarského

Více

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server. 1 Práce se systémem Tento dokument popíše způsob instalace a základy práce se systémem Joomla!, ve kterém je učebnice jazyka Scratch vytvořena. Podrobný návod k systému Joomla! je popsán v dokumentaci

Více

Architektura softwarových systémů

Architektura softwarových systémů Architektura softwarových systémů Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové

Více

Publikování map na webu - WMS

Publikování map na webu - WMS Semestrální práce z předmětu Kartografická polygrafie a reprografie Publikování map na webu - WMS Autor: Ondřej Dohnal, Martina Černohorská Editor: Filip Dvořáček Praha, duben 2010 Katedra mapování a kartografie

Více

Uživatelská příručka

Uživatelská příručka PŘÍLOHA B Uživatelská příručka Před prvním spuštění aplikace je nezbytné ujasnit si některé pojmy: web URL webových stránek, pro které se budou zjišťovat pozice. klíčové slovo - Slovní spojení nebo samostatné

Více

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

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

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ů, 2006/2007 c 2005-2007 Michal Krátký, Miroslav Beneš Tvorba

Více

ČNHP. Příručka pro pacienty. Institut biostatistiky a analýz. Vytvořil:

ČNHP. Příručka pro pacienty. Institut biostatistiky a analýz. Vytvořil: ČNHP Vytvořil: Institut biostatistiky a analýz OBSAH. VSTUP DO REGISTRU... 3. ZAPOMENUTÉ HESLO... 3 2. ZÁKLADNÍ OKNO REGISTRU... 4 3. VYHLEDÁVÁNÍ PACIENTA... 5 3. NAPOSLEDY OTEVŘENÍ PACIENTI... 5 4. PRÁCE

Více