Modelové řešení aplikace klient-server využívající GraphQL

Název práce: Modelové řešení aplikace klient-server využívající GraphQL
Autor(ka) práce: Zicha, Ondřej
Typ práce: Diplomová práce
Vedoucí práce: Sklenák, Vilém
Oponenti práce: Vojíř, Stanislav
Jazyk práce: Česky
Abstrakt:
Tato diplomová práce se zabývá technologií GraphQL a její aplikací na modelové řešení klient-server.První část je věnována teoretickým aspektům komunikace mezi dvěma propojenými zařízením sítí internet, tradičnímu přístupu REST API a jeho porovnání s konceptem GraphQL jak na straně serveru, tak i na straně klienta. V práci jsou rozebírány principy a metodiky tvorby REST API, specifikace GraphQL, výhody a rozdílnosti oproti tradičnímu přístupu REST API, návrhové principy, typový systém, SDL jazyk a metody introspekce a validace kódu, tvorba dotazů a mutací za účelem získávání a modifikace dat v databázi.Praktická část je zaměřena na použití této technologie s cílem vytvoření modelového řešení webové aplikace komunikující mezi serverovou a klientskou částí prostřednictvím technologie GraphQL. V úvodu této části jsou popsány implementační nástroje, které výsledná aplikace používá. Dále jsou popisovány jednotlivé části aplikace ve sledu reflektujícím postup jejího vývoje až po její samotné spuštění.Závěrečná část shrnuje výsledek a naplnění cílů této práce spolu s návrhem na možnost jejího dalšího rozšíření.
Klíčová slova: Apollo; Databáze; deklarativní typová data; dotazovací jazyk; GraphQL; internet; JavaScript; klient; MongoDB; Node.js; React; REST API; SDL; server; webová aplikace
Název práce: Model Solution of GraphQL Client-Server Application
Autor(ka) práce: Zicha, Ondřej
Typ práce: Diploma thesis
Vedoucí práce: Sklenák, Vilém
Oponenti práce: Vojíř, Stanislav
Jazyk práce: Česky
Abstrakt:
This ‘Diploma Thesis’ has been developed and is focused on GraphQL Technology, specifically its application on the client-server model solution.The first section of the thesis pursues the theoretical aspects of communication between two connected devices by an internet network. Additionally, it will concern the traditional approach of REST API and its comparison with the GraphQL concept, especially in regard to server sides and client sides. Furthermore, the thesis assesses the principles and methodology of developing REST API/GraphQL, analyzing the advantages and disadvantages in comparison to the traditional approach of REST API. In particular, focus will be on: design patterns; type system; SDL language; methods of introspection; code validation; creation of questions and mutations; and modifying data in database.The practical section of the thesis focuses on the actual use of this technology. The overall goal is to create a model solution of a web application, one which communicates between server and client via using GraphQL technology. Before the application of this practical methodology, in the introduction of this section, a description of the implementation tools, used by the above web application solution, will be offered. Furthermore, the individual parts of the application are described in an order that reflects the process of its development up-until the first running of the app.The final section of the thesis offers a summary of results, in addition to addressing whether the aims of the study – presented in earlier sections of the work – were met. Following this, a suggestion for the possible development of this research will be discussed.
Klíčová slova: Apollo; Client; Database; Declarative Type Data; Internet; JavaScript; MongoDB; Node.js; React; REST API; SDL; Server; Query Language; Web Application; GraphQL

Informace o studiu

Studijní program / obor: Aplikovaná informatika/Znalostní a webové technologie
Typ studijního programu: Magisterský studijní program
Přidělovaná hodnost: Ing.
Instituce přidělující hodnost: Vysoká škola ekonomická v Praze
Fakulta: Fakulta informatiky a statistiky
Katedra: Katedra informačního a znalostního inženýrství

Informace o odevzdání a obhajobě

Datum zadání práce: 9. 4. 2018
Datum podání práce: 29. 11. 2018
Datum obhajoby: 21. 1. 2019
Identifikátor v systému InSIS: https://insis.vse.cz/zp/65715/podrobnosti

Soubory ke stažení

    Poslední aktualizace: