Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Filip Pospíšil
Acad. year: 2022/2023
Supervisor: Ing. Ondřej Vašíček
Reviewer: Ing. Jan Fiedor, Ph.D.
The goal of this Bachelors thesis is the design and implementation of a plug-in that will provide language support for Apache Camel in the integrated development environment Apache NetBeans. The aim of the thesis is to enable integration of the language client for the integrated development environment Apache NetBeans. The client utilizes an existing language server for Apache Camel created by Red Hat. The thesis provides a basic introduction to the Microsoft Language Protocol, the Apache Camel framework, and the integrated development environment Apache Netbeans. Next, the design, implementation, and testing of the created language client are described. The result of this thesis is a plug-in module that provides comprehensive language support for the Apache Camel framework in the Apache Netbeans development environment. In the future the plug-in will be published in the Apache NetBeans Plugin Portal repository.
Apache Camel, Apache NetBeans, JSON-RPC, Language Server Protocol, LSP
Date of defence
13.06.2023
Result of the defence
Defended (thesis was successfully defended)
Grading
C
Process of defence
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.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (IT-BC-3)
Field of study
Information Technology (BIT)
Composition of Committee
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)
Supervisor’s reportIng. 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).
Grade proposed by supervisor: B
Reviewer’s reportIng. 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.
Evaluation level: průměrně obtížné zadání
Evaluation level: zadání splněno
Všechny body zadání byly splněny.
Evaluation level: 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.
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová