Powiadomienia systemowe
- Sesja wygasła!
Identyfikatory
Warianty tytułu
The comparative analysis of Java frameworks: Spring Boot, Micronaut and Quarkus
Języki publikacji
Abstrakty
Przedmiotem tej pracy jest analiza porównawcza trzech szkieletów programistycznych do budowy aplikacji interneto-wych dla języka Java: Spring Boot 2.4.4, Micronaut 2.5.4 oraz Quarkus 1.13.4.Final. Przygotowano aplikacje testowe, wyposażone w tą samą funkcjonalność, które wykorzystano w eksperymencie, polegającym na pomiarze czasów odpowiedzi serwera na żądania typu POST, GET, PUT i DELETE – realizujące operacje na bazie danych. Dla każdej aplikacji testowej, powtórzono pięciokrotnie scenariusz, który miał na celu zmierzyć czas obsługi żądań w różnych warunkach obciążeniowych. Podczas każdego powtórzenia zwiększano wielkość obciążenia, które oznaczało średnią liczbę wysyłanych żądań na sekundę przez wirtualnych użytkowników. Równolegle z badaniami wydajności wykonano pomiary niezawodności aplikacji testowych. Niezawodność zdefiniowano jako odsetek żądań wysyłanych do serwera, które zakończyły się niepowodzeniem. W porównaniach wzięto również pod uwagę objętość kodu aplikacji testowych opartych na wybranych szkieletach. Z przeprowadzonych analiz wynikło, że pod względem większości rozpatrywanych w ramach tej pracy kryteriów najlepszym szkieletem programistycznym okazał się Micronaut.
The aim of the work is a comparative analysis of three frameworks designed for building web applications for the Java programming language: Spring Boot 2.4.4, Micronaut 2.5.4 and Quarkus 1.13.4.Final. Test applications were prepared, equipped with the same functionality as used in the experiment consisting in measuring the server response times to a request of POST, GET, PUT and DELETE performing operations on the database. For each test application, the scenario aimed at measuring the time of handling requests under various load conditions was repeated five times. During each repetition of the scenario, the load which was the average number of requests sent per second by virtual users was increased. In parallel with performance tests, the reliability of the test applications was measured. Reliability was defined as the percentage of requests sent to the server that ended in a failure. The comparative analysis also took into consideration the volume of the code of the test applications based on the selected frameworks. The performed analyses showed that in terms of most of the criteria considered in this work Micronaut proved to be the best framework.
Czasopismo
Rocznik
Tom
Strony
287--294
Opis fizyczny
Bibliogr. 21 poz., rys., tab.
Twórcy
autor
- Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
autor
- Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
Bibliografia
- [1] E. K. Smyk, Overview of technologies and methods designed to build Java Enterprise web applications. Comparison of Spring and Play Frameworks based on proprietary application (praca magisterska), Politechnika Warszawska, 2014.
- [2] P. Dutta, V. Gupta, S. Rana, Performance Comparison on Java Technologies – A Practical Approach, Centre for development of Advanced Computing, Third International Conference on Computer Science, Engineering & Applications (2013) 349-357, https://doi.org/10.5121/CSIT.2013.3536.
- [3] M. Šipek, D. Muharemagić, B. Mihaljević, A. Radovan, Enhancing Performance of Cloud-based Software Applications with GraalVM and Quarkus, 43rd International Convention on Information, Communication and Electronic Technology (MIPRO) (2020) 1746-1751, DOI: 10.23919/MIPRO48935.2020.9245290.
- [4] H. K. Dhalla, Performance Comparison of RESTful Applications Implemented in Spring Boot Java and MS.NET Core, Journal of Physis: Conference Series 1933 (2021), https://doi.org/10.1088/1742-6596/1933/1/012041.
- [5] M. Pucek, M. Błaszczyk, P. Kopniak, Porównanie lekkich szkieletów dla języka Java poprzez analizę autorskich aplikacji internetowych, Journal of Computer Sciences Institute 19 (2021) 159-164.
- [6] TIOBE Index, https://www.tiobe.com/tiobe-index/, [02.07.2021].
- [7] Oracle Java SE Support Roadmap, https://www.oracle.com/java/technologies/java-se-support-roadmap.html, [06.07.2021].
- [8] M. Masse, REST API Design Rulebook, O’Reilly Media, 2012.
- [9] B. Miłosierny, M. Dzieńkowski, Analiza porównawcza szkieletów do budowy aplikacji internetowych w ekosystemie Node.js, Journal of Computer Sciences Institute 18 (2021) 42-48.
- [10] M. Herber, Gatling. Testy wydajnościowe w innej formie, https://testerzy.pl/baza-wiedzy/gatling-testy-wydajnosci-w-innej-formie-czesc-1, [02.07.2021].
- [11] Xie A., Performance Testing Tutorial: Automation, Gatling, and Jenkins, https://www.educative.io/blog/performance-testing-tutorial-gatling-jenkins, [21.07.2021].
- [12] Lee G., Gatling Load Testing: How-To, Distributed Tests & Examples, https://www.loadview-testing.com/blog/gatling-load-testing-how-to-distributed-tests-examples/, [21.07.2021].
- [13] A. Ludwikowski, Gatling vs JMeter – czego użyć do testowania wydajności, https://softwaremill.com/gatling-vs-jmeter-testy-wydajnosci/, [02.07.2021].
- [14] Gatling, https://gatling.io/docs/gatling/reference/current/general/concepts/, [21.07.2021].
- [15] B. Nius, Jak Spring Boot ułatwia tworzenie aplikacji w Javie? https://global4net.com/ecommerce/jak-spring-boot-ulatwia-tworzenie-aplikacji-w-javie/, [05.12.2019].
- [16] Spring Initializr, https://start.spring.io/, [02.07.2021].
- [17] P. Bykowski, Micronaut – framework dedykowany dla mikroserwisów, https://bykowski.pl/micronaut-framework-dedykowany-dla-mikroserwisow/, [17.10.2019].
- [18] Micronaut, https://micronaut.io/, [03.07.2021].
- [19] Quarkus – Supersonic Subatomic Java, https://quarkus.io/, [05.07.2021].
- [20] Quarkus – start coding with code.quarkus.io, https://code.quarkus.io/, [06.07.2021].
- [21] Oficjalna dokumentacja szkieletu Quarkus, https://quarkus.io/, [28.02.2021].
Uwagi
Opracowanie rekordu ze środków MNiSW, umowa Nr 461252 w ramach programu "Społeczna odpowiedzialność nauki" - moduł: Popularyzacja nauki i promocja sportu (2021).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-9a9d4d7d-eb65-4f51-a04e-01d7b6c2cb1b