Bakalářská práce se zaměřuje na návrh a vývoj knihovny pro programátory webových aplikací využívajících rozhraní REST. Teoretická část se zabývá analýzou architektury REST a jejími dalšími alternativami. V praktické části je v jazyce PHP vytvořena abstraktní vrstva mezi konkrétním programem a samotným rozhraním REST. Knihovna umožňuje vývojářovi manipulovat s daty v databázi prostřednictvím operací CRUD. K tomuto účelu se využívají HTTP metody GET (pro čtení), POST (pro zápis), PUT (pro úpravu) a DELETE (pro smazání). Programátor může využívat funkce knihovny prostřednictvím konfiguračního souboru, kde pro danou cestu webového serveru uvede jednotlivé metody spolu s potřebnými informacemi pro jeho již konkrétní implementaci. Na základě těchto informacích dojde k provedení jedné z uvedených operací. Aplikace poskytuje prostředky pro práci s databází MySQL, rovněž umožňuje odeslání HTTP požadavku na libovolný cílový bod v síti internet. Výsledky těchto dotazů jsou uživateli zobrazeny společně se stavovým kódem požadavku a zprávou o provedení, které si autor může dále zpracovat dle požadavků vlastní aplikace.
Anotace v angličtině
The bachelor's thesis focuses on the design and development of a library for programmers of web applications using the REST interface. The theoretical part deals with the analysis of the REST architecture and its other alternatives. In the practical part, an abstract layer is created in the PHP language between a specific program and the REST interface itself. The library allows the developer to manipulate data in the database through CRUD operations. For this purpose, the HTTP methods GET (for reading), POST (for writing), PUT (for modification) and DELETE (for deletion) are used. The programmer can use the functions of the library through a configuration file, where he lists individual methods for a given path of the web server together with the necessary information for its already specific implementation. Based on this information, one of the listed operations will be performed. The application provides resources for working with the MySQL database, it also allows sending an HTTP request to any
destination point on the Internet. The results of these queries are displayed to the user together with the status code of the request and the execution report, which the author can further process according to the requirements of his own application.
Klíčová slova
REST API, architektura rozhraní, webová knihovna, abstraktní vrstva, manipulace s daty, aplikační rozhraní, HTTP požadavky, CRUD operace, vývoj webových aplikací, back-end vývoj
Klíčová slova v angličtině
REST API, interface architecture, web library, abstract layer, data manipulation, application interface, HTTP requests, CRUD operations, web application development, back-end development
Rozsah průvodní práce
75
Jazyk
CZ
Anotace
Bakalářská práce se zaměřuje na návrh a vývoj knihovny pro programátory webových aplikací využívajících rozhraní REST. Teoretická část se zabývá analýzou architektury REST a jejími dalšími alternativami. V praktické části je v jazyce PHP vytvořena abstraktní vrstva mezi konkrétním programem a samotným rozhraním REST. Knihovna umožňuje vývojářovi manipulovat s daty v databázi prostřednictvím operací CRUD. K tomuto účelu se využívají HTTP metody GET (pro čtení), POST (pro zápis), PUT (pro úpravu) a DELETE (pro smazání). Programátor může využívat funkce knihovny prostřednictvím konfiguračního souboru, kde pro danou cestu webového serveru uvede jednotlivé metody spolu s potřebnými informacemi pro jeho již konkrétní implementaci. Na základě těchto informacích dojde k provedení jedné z uvedených operací. Aplikace poskytuje prostředky pro práci s databází MySQL, rovněž umožňuje odeslání HTTP požadavku na libovolný cílový bod v síti internet. Výsledky těchto dotazů jsou uživateli zobrazeny společně se stavovým kódem požadavku a zprávou o provedení, které si autor může dále zpracovat dle požadavků vlastní aplikace.
Anotace v angličtině
The bachelor's thesis focuses on the design and development of a library for programmers of web applications using the REST interface. The theoretical part deals with the analysis of the REST architecture and its other alternatives. In the practical part, an abstract layer is created in the PHP language between a specific program and the REST interface itself. The library allows the developer to manipulate data in the database through CRUD operations. For this purpose, the HTTP methods GET (for reading), POST (for writing), PUT (for modification) and DELETE (for deletion) are used. The programmer can use the functions of the library through a configuration file, where he lists individual methods for a given path of the web server together with the necessary information for its already specific implementation. Based on this information, one of the listed operations will be performed. The application provides resources for working with the MySQL database, it also allows sending an HTTP request to any
destination point on the Internet. The results of these queries are displayed to the user together with the status code of the request and the execution report, which the author can further process according to the requirements of his own application.
Klíčová slova
REST API, architektura rozhraní, webová knihovna, abstraktní vrstva, manipulace s daty, aplikační rozhraní, HTTP požadavky, CRUD operace, vývoj webových aplikací, back-end vývoj
Klíčová slova v angličtině
REST API, interface architecture, web library, abstract layer, data manipulation, application interface, HTTP requests, CRUD operations, web application development, back-end development
Zásady pro vypracování
V úvodní části bakalářské práce bude proveden úvod do problematiky REST API. Podrobně bude rozebrána architektura REST rozhraní, včetně zhodnocení přínosů a omezení užití tohoto rozhraní a uvedení případných alternativ. Dále bude provedena rešerše současného stavu implementací REST rozhraní ve vybraném programovacím/skriptovacím jazyce a bude provedena kritická komparace těchto implementací.
V aplikační části bakalářské práce bude vytvořena knihovna pro vývojáře webových aplikací pro tvorbu REST rozhraní. Knihovna bude vytvořena tak, aby naplňovala účel jednoduchosti a rychlosti tvorby REST rozhraní v procesu tvorby softwarových aplikací. Užití vytvořené knihovny bude demonstrováno a ověřeno na případové studii. V závěru práce budou zhodnoceny konkrétní přínosy a omezení užití takto vytvořené knihovny.
Zásady pro vypracování
V úvodní části bakalářské práce bude proveden úvod do problematiky REST API. Podrobně bude rozebrána architektura REST rozhraní, včetně zhodnocení přínosů a omezení užití tohoto rozhraní a uvedení případných alternativ. Dále bude provedena rešerše současného stavu implementací REST rozhraní ve vybraném programovacím/skriptovacím jazyce a bude provedena kritická komparace těchto implementací.
V aplikační části bakalářské práce bude vytvořena knihovna pro vývojáře webových aplikací pro tvorbu REST rozhraní. Knihovna bude vytvořena tak, aby naplňovala účel jednoduchosti a rychlosti tvorby REST rozhraní v procesu tvorby softwarových aplikací. Užití vytvořené knihovny bude demonstrováno a ověřeno na případové studii. V závěru práce budou zhodnoceny konkrétní přínosy a omezení užití takto vytvořené knihovny.
Seznam doporučené literatury
JIN Brenda, SAHNI Saurabh a Amir SHEVAT.Designing Web APIs: Building APIs That Developers Love, O'Reilly, 2018, ISBN 978-1492026921
MASSE Mark. REST API Design Rulebook, O'Reilly, 2011, ISBN 978-1449310509
Lubbers, Albers, Salim: Pro HTML 5 Programming: Powerful APIs for Richer Internet Application Development, Apress, 2010, ISBN 978-4302-2790-8
SUBRAMANIAN Harihara a Pethuru RAJ.Hands-On RESTful API Design Patterns and Best Practices: Design, develop, and deploy highly adaptable, scalable, and secure RESTful web APIs, Packt Publishing, 2019, ISBN 978-1788992664
Seznam doporučené literatury
JIN Brenda, SAHNI Saurabh a Amir SHEVAT.Designing Web APIs: Building APIs That Developers Love, O'Reilly, 2018, ISBN 978-1492026921
MASSE Mark. REST API Design Rulebook, O'Reilly, 2011, ISBN 978-1449310509
Lubbers, Albers, Salim: Pro HTML 5 Programming: Powerful APIs for Richer Internet Application Development, Apress, 2010, ISBN 978-4302-2790-8
SUBRAMANIAN Harihara a Pethuru RAJ.Hands-On RESTful API Design Patterns and Best Practices: Design, develop, and deploy highly adaptable, scalable, and secure RESTful web APIs, Packt Publishing, 2019, ISBN 978-1788992664
Přílohy volně vložené
-
Přílohy vázané v práci
ilustrace, tabulky
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Cílem bakalářské práce bylo vytvořit framework určený pro snadnou tvorbu REST rozhraní webových aplikací.
Logická stavba práce je na dobré úrovni. V rešeršní části práce je v dostatečné míře pracováno s bibliografickými zdroji. Vesměs se jedná o elektronické zdroje, což však vzhledem k charakteru zpracovávané oblasti není nikterak na závadu.
Pouze k jazykové stránce bakalářské práce má vedoucí práce několik výhrad.
Textová část bakalářské práce i vytvořený framework jsou zpracovány v požadovaném rozsahu respektujícím zadání. Všechny cíle bakalářské práce byly naplněny.
Obhajoba bakalářské práce proběhla na požadované úrovni. Student zodpověděl dotazy a reagoval na připomínky vedoucího práce, předsedy i členů komise pro státní závěrečné zkoušky.