Milena Vesić – Academy of Technical and Art Applied Studies Belgrade – Department School of Applied Studies for Information and Communication Technologies, Zdravka Celara 16, Serbia
Nenad Kojić – Academy of Technical and Art Applied Studies Belgrade – Department School of Applied Studies for Information and Communication Technologies, Zdravka Celara 16, Serbia
DOI: https://doi.org/10.31410/ITEMA.2020.17
4th International Scientific Conference on Recent Advances in Information Technology, Tourism, Economics, Management and Agriculture – ITEMA 2020, Online/virtual, October 8, 2020, CONFERENCE PROCEEDINGS published by the Association of Economists and Managers of the Balkans, Belgrade; Printed by: SKRIPTA International, Belgrade, ISBN 978-86-80194-36-3, ISSN 2683-5991, DOI: https://doi.org/10.31410/ITEMA.2020
Abstract
Web applications are the most common type of application in modern society since they can be accessed by a large number of users at any time from any device. The only condition for their use is an Internet connection. Most applications run using the HTTP protocol and client-server architecture. This architecture is based on the use of API (Application programming interface), most often REST architecture (Representational State Transfer). If there are several different functionalities on the website that fill their content with data from the web server, for most of them a special HTTP request must be generated with one of the existing methods (GET, POST, PUT, DELETE). This way of communication can be a big problem if the connection to the Internet is weak, there are a lot of HTTP requests because you have to wait for each request to be executed and for the web server to return the data.
In this paper, one implementation of GraphQL is presented. GraphQL is an open-source data query and manipulation language for APIs. GraphQL enables faster application development and has less server code. The key advantage is the number of HTTP requests because all the desired data of the page is obtained with one request. This paper will show a comparative analysis on the example of a real website in the case of using the REST architecture and GraphQL in the case of different qualities of Internet connections, code complexity and the number of required requests.
Keywords
Web page, GraphQL, REST, Performance.
References
Brito, G., & Valente, M. T. (2020, March). REST vs GraphQL: A Controlled Experiment. In 2020 IEEE International Conference on Software Architecture (ICSA) (pp. 81-91). IEEE.
Brito, G., Mombach, T., & Valente, M. T. (2019, February). Migrating to GraphQL: A practical assessment. In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 140-150). IEEE.
Fielding, R., & Gettys, J. (1998). Hypertext Transfer Protocol-HTTP/1.1.
Freeman, A. (2019). Understanding GraphQL. In Pro React 16 (pp. 679-705). Apress, Berkeley, CA.
Introduction to GraphQL, https://graphql.org/learn/
Kalmanek, C. R., Misra, S., & Yang, Y. R. (Eds.). (2010). Guide to reliable Internet services and applications. Springer Science & Business Media.
Porcello, E., & Banks, A. (2018). Learning GraphQL: declarative data fetching for modern web apps. ” O’Reilly Media, Inc.”.
Neumann, A., Laranjeiro, N., & Bernardino, J. (2018). An analysis of public REST web service APIs. IEEE Transactions on Services Computing.
Sud, K. (2020). Understanding REST APIs. In Practical hapi (pp. 1-11). Apress, Berkeley, CA.