Streszczenie:
Tematem pracy jest zastosowanie frameworka Quarkus w tworzeniu aplikacji biznesowych w języku Java. Prezentacja wybranych możliwości Quarkus bazuje na przykładzie aplikacji wspomagającej funkcjonowanie fikcyjnej restauracji.
W pierwszej części pracy przedstawione zostały podstawowe informacje o frameworku Quarkus, motywacje do jego powstania oraz krótka charakterystyka głównych cech.
W następnej części znajduje się szczegółowe omówienie przykładu aplikacji. Część analityczna zawiera m.in.: cel biznesowy, scenariusze użycia i wymagania oraz definiuje podstawowe klasy obiektów. Część projektowa dla wybranych scenariuszy precyzuje oczekiwany sposób działania systemu w postaci diagramu stanu, diagramu aktywności, jak i projektu interfejsu użytkownika. Dokumentację analityczno-projektową uzupełniają diagramy, głównie w notacji UML.
Następnym przedstawionym zagadnieniem są szczegóły implementacyjne, gdzie kluczową rolę odgrywa Quarkus. Aplikacja została podzielona na część klienta (frontend) oraz część serwera (backend) oraz zdecydowano o użyciu GraphQL jako standardzie implementacji interfejsu w komunikacji pomiędzy frontendem a backendem. Opisane zostały wszystkie warstwy składające się na moduły aplikacji (warstwa bazy danych, warstwa API, warstwa GUI). Model danych został udokumentowany na trzech poziomach: na podstawowym diagramie klas, na diagramie klas JPA po oznaczeniu persystencji (implementacja zgodna z Java EE) oraz w postaci schematu tabel z bazy danych MySQL (Entity Relationship). Zaprezentowano widoki składające się na projekt aplikacji. Opisane zostały również narzędzia wspomagające proces tworzenia aplikacji w oparciu o wspomnianą technologię. Wymieniono oraz opisano użyte w projekcie adnotacje. Podano przykłady klas różnych typów m.in. DTO oraz kontrolera. Aplikacja została poddana przykładowym testom jednostkowym, w szczególności zademonstrowano testy interfejsu GraphQL. Kolejnym etapem jest pokazanie użycia przez aplikację możliwości jakie daje Quarkus w zakresie wdrażania aplikacji opartych o kontenery Docker. Aplikacja została wdrożona w trybie JVM oraz po kompilacji do trybu natywnego, porównane zostały wyniki trybu natywnego i JVM oraz zostały przytoczone wnioski. W celu lepszego zobrazowania sposobu pracy wybranych narzędzi załączono fragmenty wyników otrzymanych w terminalu. Dodatkowo w pracy zamieszczono instrukcję uruchomienia części backendowej na maszynie wirtualnej z wykorzystaniem platformy Microsoft Azure.
Ostatni fragment stanowi podsumowanie zawierające zestawienie zalet oraz wad frameworka Quarkus zakończone refleksją i wnioskami