Treffer: Moderna mikroservisna arhitektura i ekosustav mikroservisa

Title:
Moderna mikroservisna arhitektura i ekosustav mikroservisa
Authors:
Contributors:
Krpić, Zdravko
Publisher Information:
Sveučilište Josipa Jurja Strossmayera u Osijeku. Fakultet elektrotehnike, računarstva i informacijskih tehnologija Osijek. Zavod za programsko inženjerstvo. Katedra za programske jezike i sustave., 2024.
Publication Year:
2024
Document Type:
Dissertation Master thesis
File Description:
application/pdf
Language:
Croatian
Accession Number:
edsair.od......3912..c9254f7780091d2b2efc05cf4e8375ad
Database:
OpenAIRE

Weitere Informationen

Mikroservisna arhitektura je jedna od modernih i popularnih arhitektura softvera. Često je korištena jer omogućuje razvoj aplikacije kao grupe raspodijeljenih servisa koji zajedničkom suradnjom pružaju kompletnu uslugu koju nudi cijela aplikacija. Neki od primjera aplikacija koje se zasnivaju na mikroservisnoj arhitekturi su i aplikacije za rezerviranje smještaja, poput Airbnb i Booking.com. U svrhu prikaza prednosti navedene arhitekture, ali i kako bi se predstavili izazovi u izradi iste u ovom diplomskom radu izrađena je jednostavna aplikacija za rezervaciju smještaja. U tu su svrhu detaljno definirani zahtjevi na aplikaciju te njezina strukture. Aplikacija je izrađena u Java programskom jeziku upotrebom programskog okvira Spring Boot. Također, korišten je alat za upravljanje projektima Maven kako bi se dodatno pojednostavio proces izrade aplikacije. Komunikacija između servisa obavlja se sinkrono putem definiranih REST API-ja te asinkrono putem brokera RabbitMQ. Brigu o korisnicima vodi autorizacijski poslužitelj Keycloak koji osigurava pristup aplikaciji upotrebom JSON Web Tokena. Baza podataka napravljena je pomoću PostgreSQL sustava za upravljanje bazama podataka, dok je za verzioniranje i migracije odgovoran alat Flyway. Koristeći Docker spremnike pokreću se sustavi RabbitMQ, Keycloak i PostgreSQL. Aplikacija je vrednovana pozivanjem implementiranih metoda i time je pokazano kako aplikacija ispunjava funkcionalne zahtjeve.
Microservices architecture is a modern and popular software architecture. It is often chosen because it enables the implementation of an application as a collection of distributed services, whose mutual cooperation provides the full service intended by the application. Notable examples of accommodation booking applications developed using microservices architecture include Airbnb and Booking.com. This architecture's advantages, as well as some challenges encountered during its development, are highlighted in a master's thesis, for which an accommodation booking application was developed. Detailed requirements for this application were established, covering both its structure and functional needs. The application was developed in the Java programming language, utilizing the Spring Boot framework. The Maven automation tool was selected to simplify the application building process. Communication between services is facilitated synchronously through REST API calls and asynchronously via the RabbitMQ broker. User management is handled by Keycloak, which employs JSON Web Tokens for authorization. The database is managed using the PostgreSQL Database Management System, with Flyway overseeing versioning and migrations. Docker containers are utilized to deploy RabbitMQ, Keycloak, and PostgreSQL. The application was evaluated by testing the implemented methods, confirming that all functional requirements were met.