Have a personal or library account? Click to login
Comparative Review of Selected Internet Communication Protocols Cover

Abstract

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.

DOI: https://doi.org/10.2478/fcds-2023-0003 | Journal eISSN: 2300-3405 | Journal ISSN: 0867-6356
Language: English
Page range: 39 - 56
Submitted on: Sep 14, 2022
Accepted on: Dec 2, 2022
Published on: Mar 19, 2023
Published by: Poznan University of Technology
In partnership with: Paradigm Publishing Services
Publication frequency: 4 issues per year

© 2023 Lukasz Kamiński, Maciej Kozłowski, Daniel Sporysz, Katarzyna Wolska, Patryk Zaniewski, Radosław Roszczyk, published by Poznan University of Technology
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License.