Tato práce se zabývá problematikou jazyků pro popis dat a následnou prací s nimi. Práce se konkrétně zabývá rozšiřitelným značkovacím jazykem XML. Tento jazyk umožňuje pomocí značek popis datových struktur a jejich zpracování. Dále se práce zabývá validací datových struktur a jejich transformacemi, převážně v jazyce XML. V rámci textu je popsán a vysvětlen princip značkovacích jazyků a jejich použití k popisování datových struktur, dostupné standardy pro operace s těmito strukturami a je navržena a implementována modulární online aplikace, která tyto operace umožňuje provádět a v reálném čase vracet výsledek uživateli. Implementace dále umožňuje pokročilou zprávu úloh. Uživateli je umožněno po přihlášení prohlížet výsledky minulých úloh, stáhnout si ho v textovém formátu na lokální úložiště, případně plánovat úlohy. Plánovat úlohu je možné jak v konkrétní čas, tak také periodicky.
Samotná implementace je poté provedena na serveru s operačním systémem Ubuntu a s využitím programovacího jazyku JavaScript. Tento jazyk je použit jak na klientské části, tak na části serverové. Jedná se zároveň o demonstraci využití jednoho jazyku pro obě části aplikace a tím usnadnění vývoje a snížení nároků na programátora. Architektura aplikace je navržena jako modulární. Modulární architektura je navržena ve smyslu snadného přidání podporovaných formátů, výstupů a možností plánování úloh. Text obsahuje popis a postup přidání rozšiřujících částí, což je realizováno formou dopsání částí kódu do aplikace. Není realizováno uživatelské rozhraní k přidávání modulů, což nebylo náplní práce.
K realizaci serverové části aplikace je využit framework Node.js. Tento framework umožňuje využít technologii JavaScript na straně serveru a je už ze svého principu postaven na modulární architektuře. K realizaci serveru je použita mimo jiné knihovna Express. Na straně klienta se jedná o stránky napsané v jazyce HTML s využitím JavaScriptu a frameworku Bootstrap. Celá aplikace byla vyhotovena a je k dispozici online.
Anotace v angličtině
This work deals with the issue of languages for data description and subsequent work with them. The work is mainly concerned about the extensible markup language XML. This language allows using tags describing data structures and it's processing. This work deals with the validation of the data structures and their transformations. Within the text are described and explained principles of markup languages and their uses to describe data structures and available standards for operations with these structures. And how the aplplication is designed and implemented as modular online application that allows to perform these operations in real time and return the result to the user. The implementation also provides advanced tasks. The user is allowed, after logging in, to view the results of previous tasks, download it in text format on disk and possibly schedule tasks. Users can schedule tasks to a particular time and also periodically.
The implementation itself is then performed on a server running on Ubuntu operation system and using the JavaScript programming language. This language is used on both the client part and on the server part. It is also a demonstration of the use of one language for both parts of the application and thereby facilitate the development and reduce the demands on the programmer. Application architecture is designed as modular. The modular architecture is designed to easily add other supported formats, output options and scheduling options. The text contains a description of how to add an extension to the application, which takes the form of writing sections of code into the application. User interface is not inplemented for adding modules, which was not the task of this work.
The server side implementation uses Node.js framework. The framework allows you to use JavaScript technology on the server and is already on its principles built on a modular architecture. Implementation uses, inter alia, library Express. The client side is written in HTML and is using JavaScript and Bootstrap framework. The application has been prepared and is available online.
Klíčová slova
Jazyky pro popis dat, validace datových struktur, transformace datových struktur, Javascript, plánování úloh, webová aplikace
Klíčová slova v angličtině
languages for data description, validation of data structures, transformations of data structures, javascript, task scheduling, web applications
Rozsah průvodní práce
66 s.
Jazyk
CZ
Anotace
Tato práce se zabývá problematikou jazyků pro popis dat a následnou prací s nimi. Práce se konkrétně zabývá rozšiřitelným značkovacím jazykem XML. Tento jazyk umožňuje pomocí značek popis datových struktur a jejich zpracování. Dále se práce zabývá validací datových struktur a jejich transformacemi, převážně v jazyce XML. V rámci textu je popsán a vysvětlen princip značkovacích jazyků a jejich použití k popisování datových struktur, dostupné standardy pro operace s těmito strukturami a je navržena a implementována modulární online aplikace, která tyto operace umožňuje provádět a v reálném čase vracet výsledek uživateli. Implementace dále umožňuje pokročilou zprávu úloh. Uživateli je umožněno po přihlášení prohlížet výsledky minulých úloh, stáhnout si ho v textovém formátu na lokální úložiště, případně plánovat úlohy. Plánovat úlohu je možné jak v konkrétní čas, tak také periodicky.
Samotná implementace je poté provedena na serveru s operačním systémem Ubuntu a s využitím programovacího jazyku JavaScript. Tento jazyk je použit jak na klientské části, tak na části serverové. Jedná se zároveň o demonstraci využití jednoho jazyku pro obě části aplikace a tím usnadnění vývoje a snížení nároků na programátora. Architektura aplikace je navržena jako modulární. Modulární architektura je navržena ve smyslu snadného přidání podporovaných formátů, výstupů a možností plánování úloh. Text obsahuje popis a postup přidání rozšiřujících částí, což je realizováno formou dopsání částí kódu do aplikace. Není realizováno uživatelské rozhraní k přidávání modulů, což nebylo náplní práce.
K realizaci serverové části aplikace je využit framework Node.js. Tento framework umožňuje využít technologii JavaScript na straně serveru a je už ze svého principu postaven na modulární architektuře. K realizaci serveru je použita mimo jiné knihovna Express. Na straně klienta se jedná o stránky napsané v jazyce HTML s využitím JavaScriptu a frameworku Bootstrap. Celá aplikace byla vyhotovena a je k dispozici online.
Anotace v angličtině
This work deals with the issue of languages for data description and subsequent work with them. The work is mainly concerned about the extensible markup language XML. This language allows using tags describing data structures and it's processing. This work deals with the validation of the data structures and their transformations. Within the text are described and explained principles of markup languages and their uses to describe data structures and available standards for operations with these structures. And how the aplplication is designed and implemented as modular online application that allows to perform these operations in real time and return the result to the user. The implementation also provides advanced tasks. The user is allowed, after logging in, to view the results of previous tasks, download it in text format on disk and possibly schedule tasks. Users can schedule tasks to a particular time and also periodically.
The implementation itself is then performed on a server running on Ubuntu operation system and using the JavaScript programming language. This language is used on both the client part and on the server part. It is also a demonstration of the use of one language for both parts of the application and thereby facilitate the development and reduce the demands on the programmer. Application architecture is designed as modular. The modular architecture is designed to easily add other supported formats, output options and scheduling options. The text contains a description of how to add an extension to the application, which takes the form of writing sections of code into the application. User interface is not inplemented for adding modules, which was not the task of this work.
The server side implementation uses Node.js framework. The framework allows you to use JavaScript technology on the server and is already on its principles built on a modular architecture. Implementation uses, inter alia, library Express. The client side is written in HTML and is using JavaScript and Bootstrap framework. The application has been prepared and is available online.
Klíčová slova
Jazyky pro popis dat, validace datových struktur, transformace datových struktur, Javascript, plánování úloh, webová aplikace
Klíčová slova v angličtině
languages for data description, validation of data structures, transformations of data structures, javascript, task scheduling, web applications
Zásady pro vypracování
Na základě neúspěšné obhajoby diplomové práce a ústního doporučení státní zkušební komise dne 1.2.2017 je vystaveno k dopracování, resp. přepracování toto zadání, které je se stejným názvem a následujícími body k vypracování, jako neobhájené zadání z 20.10.2015.
1. Detailně se seznamte s dostupnými standardy jazyků pro popis dat, programovými prostředky pro validaci a transformaci jazyků pro popis dat a možnostmi jejich implementace do online prostředí.
2. Navrhněte serverovou aplikaci s modulární architekturou validačních a transformačních nástrojů i formátů.
3. Implementujte zvolené řešení na vybrané serverové platformě s důrazem na minimální technická omezení z hlediska objemu dat, dobu jejich zpracování a softwarových nároků na klientská zařízení.
4. Implementujte správu uživatelů s možností pokročilejších funkcí validace a transformace periodicky opakované úlohy, dávkové úlohy.
5. Zdokumentujte řešení a připravte na budoucí rozšíření z hlediska podporovaných formátů a využívaných nástrojů.
Zásady pro vypracování
Na základě neúspěšné obhajoby diplomové práce a ústního doporučení státní zkušební komise dne 1.2.2017 je vystaveno k dopracování, resp. přepracování toto zadání, které je se stejným názvem a následujícími body k vypracování, jako neobhájené zadání z 20.10.2015.
1. Detailně se seznamte s dostupnými standardy jazyků pro popis dat, programovými prostředky pro validaci a transformaci jazyků pro popis dat a možnostmi jejich implementace do online prostředí.
2. Navrhněte serverovou aplikaci s modulární architekturou validačních a transformačních nástrojů i formátů.
3. Implementujte zvolené řešení na vybrané serverové platformě s důrazem na minimální technická omezení z hlediska objemu dat, dobu jejich zpracování a softwarových nároků na klientská zařízení.
4. Implementujte správu uživatelů s možností pokročilejších funkcí validace a transformace periodicky opakované úlohy, dávkové úlohy.
5. Zdokumentujte řešení a připravte na budoucí rozšíření z hlediska podporovaných formátů a využívaných nástrojů.
Seznam doporučené literatury
[1] HAROLD, Elliotte Rusty a W MEANS. XML in a nutshell. 3rd ed. Sebastopol, CA: O'Reilly, c2004, xix, 689 p. In a nutshell (O'Reilly & Associates). ISBN 0596007647.
[2] DOUG TIDWELL. XSLT. 2nd ed. Farnham: O'Reilly, 2007. ISBN 9780596527211.
[3] VAN DER VLIST, Eric. RELAX NG. 1st ed. Sebastopol, CA: O'Reilly, c2004, xviii, 486 p. ISBN 0596004214.
[4] WALMSLEY, Priscilla. Definitive XML Schema. 2nd ed. Upper Saddle River, N.J.: Prentice Hall, c2013, xxxviii, 727 p. Charles F. Goldfarb definitive XML series. ISBN 9780132886727.
Seznam doporučené literatury
[1] HAROLD, Elliotte Rusty a W MEANS. XML in a nutshell. 3rd ed. Sebastopol, CA: O'Reilly, c2004, xix, 689 p. In a nutshell (O'Reilly & Associates). ISBN 0596007647.
[2] DOUG TIDWELL. XSLT. 2nd ed. Farnham: O'Reilly, 2007. ISBN 9780596527211.
[3] VAN DER VLIST, Eric. RELAX NG. 1st ed. Sebastopol, CA: O'Reilly, c2004, xviii, 486 p. ISBN 0596004214.
[4] WALMSLEY, Priscilla. Definitive XML Schema. 2nd ed. Upper Saddle River, N.J.: Prentice Hall, c2013, xxxviii, 727 p. Charles F. Goldfarb definitive XML series. ISBN 9780132886727.
Přílohy volně vložené
1 CD ROM
Přílohy vázané v práci
-
Převzato z knihovny
Ano
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Průběh obhajoby je zveřejněn pouze přihlášenému uživateli.