PL EN


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

Porównanie wydajności interfejsów programistycznych na przykładzie REST API, GraphQL i gRPC

Treść / Zawartość
Identyfikatory
Warianty tytułu
EN
Performance comparison of programming interfaces on the example of REST API, GraphQL and gRPC
Języki publikacji
PL
Abstrakty
PL
W artykule przedstawiono porównanie wydajności trzech sposobów realizacji interfejsów programistycznych stosowa-nych w aplikacjach webowych – REST, GraphQL oraz gRPC. Na potrzeby badań opracowano trzy aplikacje, które zostały wykonane w każdej ze wskazanych technologii i o takich samych funkcjonalnościach. Aplikacje wykorzystano do testów wydajnościowych, przeprowadzonych z użyciem narzędzia k6. Aplikacje zastosowano do zmierzenia czasu wykonania, wydajności i objętości przetwarzanych danych podczas operacji wyświetlania oraz dodawania rekordów. Uzyskane wyniki pozwoliły na sformułowanie wniosku, że najlepszym interfejsem pod względem wydajności (mierzonych jako liczba wykonywanych transakcji na sekundę) oraz czasu odpowiedzi serwera jest REST. Natomiast pod względem najmniejszej objętości danych, najlepszym wyborem jest gRPC.
EN
The article presents a comparison of the performance of three ways of implementing programming interfaces used in web applications - REST, GraphQL and gRPC. For the purposes of the research, three applications were developed, which were made in each of the indicated technologies and with the same functionalities. The applications were used for performance tests carried out with the use of the k6 tool. The applications are used to measure the execution time, performance and volume of processed data during display and adding operations. The obtained results allowed for the conclusion that the best interface in terms of performance (measured as the number of transactions per second) and server response time is REST. However, in terms of the smallest data volume, gRPC is the best choice.
Słowa kluczowe
Rocznik
Tom
Strony
356--361
Opis fizyczny
Bibliogr. 8 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] What is an API? (Application Programming Interface), https://www.mulesoft.com/resources/api/what-is-an-api, [10.09.2021]
  • [2] B. M. Balachandar, RESTful Java Web Services: A pragmatic guide to designing and building RESTful APIs using Java, 3rd Edition, Packt Publishing, 2017.
  • [3] Dokumentacja gRPC, https://grpc.io/docs, [01.03.2021]
  • [4] A. Tuban, REST vs gRPC vs GraphQL, https://technologyrivers.com/blog/rest-vs-grpc-vs-graphql, [01.03.2021]
  • [5] R. Rocha, APIs REST, GraphQL or gRPC – Who wins this game?, https://www.sensedia.com/post/apis-rest-graphql-or-grpc-who-wins-this-game, [01.03.2021]
  • [6] A. F. Helgason, Performance analysis of Web Services: Comparison between RESTful & GraphQL web services, University of Skövde, http://his.diva-portal.org/smash/record.jsf?pid=diva2:1107850, 2017, [01.03.2021]
  • [7] Wprowadzenie do .NET, https://docs.microsoft.com/en-us/dotnet/core/introduction, [10.09.2021]
  • [8] Dokumentacja JavaScript-owego API biblioteki k6, https://k6.io/docs/javascript-api, [10.09.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-cac23608-8fd1-4981-8daf-dca7ab657f34
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ć.