PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Analiza porównawcza technologii REST i GraphQL

Treść / Zawartość
Identyfikatory
Warianty tytułu
EN
REST and GraphQL comparative analysis
Języki publikacji
PL
Abstrakty
PL
W artykule przeprowadzono analizę porównawczą dwóch najczęściej stosowanych standardów projektowania internetowego API – REST oraz GraphQL. Badano czas oraz rozmiar odpowiedzi HTTP zwracanych przez aplikacje. Do badań wykorzystano dwie aplikacje o takich samych funkcjonalnościach, realizujących operacje CRUD, na danych przechowywanych w nierelacyjnej bazie MongoDB. Obie aplikacje stworzono w oparciu o technologię NodeJS. Do zebrania i analizy danych zastosowano narzędzie JMeter. Na podstawie otrzymanych wyników stwierdzono brak znacznych różnic w odczycie danych przy małej liczbie zapytań oraz podczas usuwania zasobów. Wraz ze wzrostem liczby zapytań zaobserwowano wyraźną przewagę standardu REST. Przewagę GraphQL, zarówno w czasie jak i rozmiarze odpowiedzi, wykazano w przypadku pobierania specyficznych danych.
EN
The article presents a comparative analysis of the two most commonly used API web design standards - REST and GraphQL. The time and size of HTTP responses returned by applications were tested. Two applications with the same functionalities, performing CRUD operations, on data stored in the non-relational MongoDB database were used for the research. Both applications were based on NodeJS technology. The JMeter tool was used to collect and analyze the data. On the basis of the obtained results, it was found that there were no significant differences in reading the data with a small number of queries and when removing resources. With the increase in the number of queries, a clear advantage of the REST standard was observed. The advantage of GraphQL, both in response time and size, was demonstrated when retrieving specific data.
Słowa kluczowe
Rocznik
Tom
Strony
89--94
Opis fizyczny
Bibliogr. 9 poz., rys., tab.
Twórcy
  • Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
  • Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
Bibliografia
  • [1] M. Miłosz, Aplikacje internetowe - od teorii do praktyki, Polskie Towarzystwo Informatyczne, Warszawa, 2008.
  • [2] What is an API?, Mulesoft, https://www.mulesoft.com/resources/api/what-is-an-api, [22.01.2021].
  • [3] R. T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, Dissertation, University of California, Irvine, 2020, https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm, [01.12.2020].
  • [4] P. Erlandsson, J. Remes, Performance Comparison between GraphQL, REST & SOAP, University of Skovde, Dissertation, http://his.divaportal.org/smash/record.jsf?pid=diva2%3A1449837&dswid=7389, 2020, [19.01.2021].
  • [5] G. Brito, M. T. Valente, REST vs GraphQL: A Controlled Experiment, IEEE International Conference on Software Architecture (ICSA), Salvador, Brazil, (2020) 81-91, doi: 10.1109/ICSA47634.2020.00016, [21.01.2021].
  • [6] C. Oggier, How fast GraphQL is compared to REST APIs, Haaga-Helia University of Applied Sciences, 2020, http://urn.fi/URN:NBN:fi:amk-2020052714286, [28.01.2021].
  • [7] T. Eizinger, API Design in Distributed Systems: A Comparison between GraphQL and REST, Master Thesis, University of Applied Science Technikum Wien, 2017, [20.01.2021].
  • [8] M. Seabra, M. E. Nazario, G. Pinto, REST or GraphQL?: A Performance Comparative Study, Proceedings of the XIII Brazilian Symposium on Software Components, Architectures, and Reuse. Association for Computing Machinery, New York, NY, USA, 2019, https://doi.org/10.1145/3357141.3357149, [29.01.2021].
  • [9] Apache JMeter, https://jmeter.apache.org/, [20.11.2020].
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-5890849b-54ab-46b2-96f4-5cf2c4c95332
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.