Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 4

Liczba wyników na stronie
first rewind previous Strona / 1 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  GraphQL
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
1
Content available remote Comparative Review of Selected Internet Communication Protocols
EN
With a large variety of communication methods and protocols, many software architects face the problem of choosing the best way for services to share information. For communication technology to be functional and practical, it should enable developers to define a complete set of CRUD methods for the processed data. The research team compared this paper’s most commonly used data transfer protocols and concepts: REST, WebSocket, gRPC GraphQL and SOAP. A set of web servers was implemented in Python, each using one of the examined technologies. Then, the team performed an automated benchmark measuring time and data transfer overhead for a set of defined operations: creating an entity, retrieving a list of 100 entities and fetching details of one entity. Tests were designed to avoid the results being interfered with by database connection or docker-compose environment characteristics. The research team has concluded that gRPC was the most efficient and reliable data transfer method. On the other hand, GraphQL turned out to be the slowest communication method of all. Moreover, its server and client libraries caused the most problems with proper usage in a web server. SOAP did not participate in benchmarking due to limited compatibility with Python and a lack of popularity in modern web solutions.
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.
3
Content available Analiza porównawcza technologii REST i GraphQL
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.
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 aim of the study was to compare the performance of two data exchange styles commonly used in web applications, i.e. REST and GraphQL. For the purposes of the study two test applications were developed containing the same functionalities, one of which was REST and the other one was GraphQL. They were used for performance tests done with the help of the JMeter tool, during which measurements of the total processing time of requests and the volume of data downloaded and sent were performed. An experiment was developed that tested the basic operations found in most network services: display, add, update, and delete data. The most attention was devoted to the information display operation in the case of which load tests were done. On the basis of performed studies and obtained results, no differences in performance during the operation of adding, editing and deleting data by applications based on REST API and GraphQL were found. During the display operation under heavy load conditions and while downloading small portions of data, the service using GraphQL had a better performance. When downloading large portions of data, the REST-based service exhibited a higher performance.
PL
Zrealizowano badania, których celem było porównanie wydajności dwóch, szeroko stosowanych w aplikacjach webo-wych stylów wymiany danych REST i GraphQL. Na potrzeby badań opracowano dwie usługi testowe, zawierające te same funkcjonalności, z których jedna była serwisem REST, a druga GraphQL. Posłużyły one do testów wydajnościo-wych, przeprowadzonych za pomocą narzędzia JMeter, podczas których wykonywano pomiary całkowitego czasu przetworzenia żądań oraz wielkości pobieranych i wysyłanych danych. Opracowano eksperyment, w ramach którego testowano podstawowe operacje występujące w większości usług sieciowych: wyświetlanie, dodawanie, aktualizowanie oraz usuwanie danych. Najwięcej uwagi poświęcono operacji wyświetlania informacji, w przypadku której wykonano testy obciążeniowe. Na podstawie zrealizowanych badań i uzyskanych wyników nie stwierdzono różnic w wydajności podczas realizacji operacji dodawania, edycji i usuwania danych przez aplikacje oparte na REST API i GraphQL. Podczas operacji wyświetlania w warunkach dużego obciążenia i w przypadku pobierania małych porcji danych lepszą wydajność miała usługa wykorzystująca GraphQL. Natomiast w przypadku pobierania dużych porcji danych wyższą wydajność uzyskiwała usługa oparta na REST.
first rewind previous Strona / 1 next fast forward last
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ć.