Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Filip Pospíšil
Ak. rok: 2022/2023
Vedoucí: Ing. Ondřej Vašíček
Oponent: Ing. Jan Fiedor, Ph.D.
Předmětem této bakalářské práce je návrh a implementace zásuvného modulu poskytujícího jazykovou podporu pro Apache Camel v integrovaném vývojovém prostředí Apache NetBeans. Cílem práce je umožnit integraci jazykového klienta pro integrované vývojové prostředí Apache NetBeans. Klient ke své funkci využívá již existující jazykový server pro Apache Camel vytvořený společností Red Hat. Práce poskytuje základní úvod k jazykovému protokolu Microsoft Language Protocol, rámci Apache Camel a integrovanému vývojovému prostředí Apache NetBeans. Dále je popsán návrh, implementace a testování vytvořeného jazykového klienta. Výsledkem této práce je zásuvný modul poskytující komplexní jazykovou podporu pro rámec Apache Camel ve vývojovém prostředí Apache NetBeans. Zásuvný modul bude v budoucnu zveřejněn v repozitáři zásuvných modulů Apache NetBeans Plugin Portal.
Apache Camel, Apache NetBeans, JSON-RPC, Language Server Protocol, LSP
Termín obhajoby
13.06.2023
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
C
Průběh obhajoby
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázku oponenta. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědi studenta na dotaz oponenta rozhodla práci hodnotit stupněm dobře / C.
Otázky k obhajobě
Jazyk práce
čeština
Fakulta
Fakulta informačních technologií
Ústav
Ústav inteligentních systémů
Studijní program
Informační technologie (IT-BC-3)
Studijní obor
Informační technologie (BIT)
Složení komise
doc. Ing. Vladimír Janoušek, Ph.D. (předseda) doc. Ing. Lukáš Burget, Ph.D. (člen) prof. Ing. Jan M. Honzík, CSc. (člen) Ing. Vojtěch Mrázek, Ph.D. (člen) Ing. Radek Kočí, Ph.D. (člen)
Posudek vedoucíhoIng. Ondřej Vašíček
S aktivitou studenta v průběhu semestru jsem byl spokojen.
Výsledek práce splnil očekávání a předpokládá se jeho praktické využití po zveřejnění v marketplace vývojového prostředí.
Práce byla zadána a technicky vedena firmou RedHat. Jejím předmětem byl návrh a implementace jazykového klienta pro Apache Camel do vývojového prostředí Apache NetBeans. Náročnost implementace samotné funkcionality klienta považuji za spíše jednodušší. To ale na druhou stranu vyvažují komplikace, které přináší integrace klienta do vývojového prostředí (např. zastaralá dokumentace ze strany IDE). Celkově tedy náročnost hodnotím jako průměrnou. Zadání bylo splněno. Technický vedoucí z firmy RedHat je s výsledkem práce také spokojen.
Student si relevantní zdroje informací hledal sám a nebo ve spolupráci s technickým vedoucím.
Student se práci věnoval v průběhu celého semestru, účastnil se pravidelných schůzek a dodržoval domluvené termíny.
Práce byla dokončována v dostatečném předstihu. V průběhu sepisování jsem měl možnost pročíst několik pracovních verzí a poskytnout zpětnou vazbu, kterou se student snažil zapracovat.
Výsledek práce je v plánu zveřejnit v marketplace vývojového prostředí. Zveřejnění aktuálně brání nedostatky na straně vývojového prostředí (tedy problémy mimo kontrolu studenta).
Známka navržená vedoucím: B
Posudek oponentaIng. Jan Fiedor, Ph.D.
Jde o průměrně obtížné zadání, které bylo splněno. Technická zpráva je slušná po jazykové i typografické stránce, obsahově zahrnuje vše potřebné, ovšem forma podání obsahu není vůbec ideální. Více než technickou zprávu spíše připomíná slovník pojmů sloučený s vývojovým manuálem s minimem vysvětlených souvislostí mezi pojmy a cíli práce. Pochopení práce je tedy pro čtenáře značně obtížné.
Implementace je plně funkční a řádně otestována. Mírnou nevýhodou je nutnost restartu prostředí Apache NetBeans při změně konfigurace klienta.
Celkově bych tedy tuto práci označil za průměrnou a navrhuji hodnocení C.
Stupeň hodnocení: průměrně obtížné zadání
Stupeň hodnocení: zadání splněno
Všechny body zadání byly splněny.
Stupeň hodnocení: je v obvyklém rozmezí
Hodnotit prezentační úroveň technické zprávy je obtížné. Obsahově zahrnuje zpráva všechny potřebné informace, logické členění a návaznost kapitol je také v pořádku. Kapitoly popisující související techologie mají ovšem formu blízkou slovníku pojmů než že by popisovaly a diskutovaly tyto technologie. Kapitoly věnované implementaci by zase šly označit jako vývojové manuály než o nich mluvit jako o technickém textu.
Hlavním problémem tohoto přístupu je absence vysvětlení souvislostí mezi jednotlivými technologiemi a jejich návaznost a důležitost pro řešení práce. Práce je takto mnohem náročnější na pochopení čtenářem, protože si musí řadu souvislostí vydedukovat sám, aby mu text začal dávat smysl.
Práce je psána v češtině s minimem chyb a překlepů. Po typografické stránce je práce na slušné úrovni.
Práce je primárně implementačního charakteru, takže převážná většina citovaných zdrojů jsou online manuály souvisejících a použitých technologií. Všechny zdroje jsou řádně odcitovány.
Cílem práce bylo vytvořit LSP klienta pro Apache Camel ve formě zásuvného modulu pro nástroj Apache NetBeans. Implementované řešení je plně funkční a bylo otestováno na sadě uživatelských scénářů.
Samotná implementace klienta nebyla nikterak náročná, jelikož bylo možné využit existující knihovnu LSP4J poskytující většinu potřebné funkcionality. Během vývoje byly ovšem zjištěny nedostatky LSP modulu Apache NetBeans a bylo potřeba navrhnout úpravy tohoto modulu, aby bylo možné LSP klienta úspěšně implementovat.
Jde o zadání vypsané ve spolupráci s firmou Red Hat a předpokládá se tedy využití vytvořeného modulu firmou Red Hat, případně komunitou uživatelů Apache NetBeans.
Známka navržená oponentem: C
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová