Mariusz Trzaska PJATK (public)
Publiczna strona poświęcona mojej działalności w PJATK

Wykorzystanie podejścia low-code w generowaniu sieci mikroserwisów

Mariusz MGR

Pobierz

Rozmiar pliku: 1.79 MB

Praca magisterska obroniona w PJATK.

Tytuł: Wykorzystanie podejścia low-code w generowaniu sieci mikroserwisów

Autor: Karol Gzik

Promotor: dr inż. Mariusz Trzaska

Streszczenie:

Celem pracy jest zaprezentowanie alternatywnego rozwiązania powtarzalnego tworzenia mikroserwisów. Praca porusza problem powtarzalnej, praktycznej implementacji projektów bazujących na architekturze mikroserwisów. Dotychczasowe rozwiązanie tego problemu polega na rozpoczęciu całości od początku samodzielnie lub skorzystanie ze zbyt ogólnych dostępnych generatorów. Rosnące zainteresowanie architekturą tego typu doprowadziło do powtarzalności i podatności na błędy ludzkie.
W dalszej części pracy przedstawione zostały konkurencyjne pomysły na wspomaganie programisty w scaffoldingu aplikacji. Generatory projektów wbudowane w środowiska programistyczne lub pakiety kompilacyjne oferują ograniczone możliwości konfiguracji generowanych projektów, a także pomijają wymogi dotyczące tego konceptu architektonicznego.
Przedstawione podejście low-code może rozwiązać złożoność tego problemu oraz uprościć definiowanie konfiguracji sposobu integracji mikroserwisów między sobą. W tym celu utworzono prototyp, który oferuje utworzenie projektów, połączenie siecią wewnętrzną oraz utworzenie obrazów kontenerów. Jako wewnętrzną notację konfiguracji prototypu generatora wykorzystano format JSON. W przyszłości notacja ta może być rozwinięta na obsługę edytora wizualnego co ułatwi definiowanie intencji użytkownika.
Dokonano analizy oraz porównania utworzonego prototypu wraz z konkurencyjnym rozwiązaniem JHipster. Analiza zawiera informacje o wielkości budowanych aplikacji, dostępnych funkcjonalnościach oraz możliwościach przyszłego rozwoju.
Zwieńczeniem pracy jest prezentacja ogólnych problemów każdego rodzaju aplikacji generujących projekty. Opisane zostały także problemy architektury mikroserwisów oraz problemy w generowaniu tego typu aplikacji.

Słowa kluczowe: mikroserwis, automatyzacja, parsowanie, low-code, C#, .NET, Python, SQLite, HTTP, REST, API, OpenAPI, Swagger, JSON, Docker, Docker Compose, konteneryzacja