Evaluating GraphQL and REST API Services Performance in a Massive and Intensive Accessible Information System

Currently, most middleware application developers have two choices when designing or implementing Application Programming Interface (API) services; i.e., they can either stick with Representational State Transfer (REST) or explore the emerging GraphQL technology. Although REST is widely regarded as...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Armin Lawi, Benny L. E. Panggabean, Takaichi Yoshida
Formato: article
Lenguaje:EN
Publicado: MDPI AG 2021
Materias:
Acceso en línea:https://doaj.org/article/29d4876f9d8f4aad983c2c84aa1da3da
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
id oai:doaj.org-article:29d4876f9d8f4aad983c2c84aa1da3da
record_format dspace
spelling oai:doaj.org-article:29d4876f9d8f4aad983c2c84aa1da3da2021-11-25T17:17:22ZEvaluating GraphQL and REST API Services Performance in a Massive and Intensive Accessible Information System10.3390/computers101101382073-431Xhttps://doaj.org/article/29d4876f9d8f4aad983c2c84aa1da3da2021-10-01T00:00:00Zhttps://www.mdpi.com/2073-431X/10/11/138https://doaj.org/toc/2073-431XCurrently, most middleware application developers have two choices when designing or implementing Application Programming Interface (API) services; i.e., they can either stick with Representational State Transfer (REST) or explore the emerging GraphQL technology. Although REST is widely regarded as the standard method for API development, GraphQL is believed to be revolutionary in overcoming the main drawbacks of REST, especially data-fetching issues. Nevertheless, doubts still remain, as there are no investigations with convincing results in evaluating the performance of the two services. This paper proposes a new research methodology to evaluate the performance of REST and GraphQL API services with two main ideas as novelties. The first novel method is the evaluation of the two services is performed on the real ongoing operation of the management information system, where massive and intensive query transactions take place on a complex database with many relationships. The second is the fair and independent performance evaluation results obtained by distributing client requests and synchronizing the service responses on the two virtually separated parallel execution paths for each API service, respectively. The performance evaluation was investigated using basic measures of QoS (Quality of Services), i.e., response time, throughput, CPU load, and memory usage. We use the term efficiency in comparing the evaluation results to capture differences in their performance measures. The statistical hypothesis parameters test using the two-tails paired t-test, and boxplot visualization was also given to confirm the significance of the comparison results. The results showed REST is still faster up to 50.50% in response time and 37.16% for throughput, while GraphQL is very efficient in resource utilization, i.e., 37.26% for CPU load and 39.74% for memory utilization. Therefore, GraphQL is the right choice when data requirements change frequently, and resource utilization is the most important consideration. REST is used when some data are frequently accessed and called by multiple requests.Armin LawiBenny L. E. PanggabeanTakaichi YoshidaMDPI AGarticleinformation systemsmiddleware applicationsapplication programming interfaces (APIs)web servicesquality of services (QoS)performance evaluationElectronic computers. Computer scienceQA75.5-76.95ENComputers, Vol 10, Iss 138, p 138 (2021)
institution DOAJ
collection DOAJ
language EN
topic information systems
middleware applications
application programming interfaces (APIs)
web services
quality of services (QoS)
performance evaluation
Electronic computers. Computer science
QA75.5-76.95
spellingShingle information systems
middleware applications
application programming interfaces (APIs)
web services
quality of services (QoS)
performance evaluation
Electronic computers. Computer science
QA75.5-76.95
Armin Lawi
Benny L. E. Panggabean
Takaichi Yoshida
Evaluating GraphQL and REST API Services Performance in a Massive and Intensive Accessible Information System
description Currently, most middleware application developers have two choices when designing or implementing Application Programming Interface (API) services; i.e., they can either stick with Representational State Transfer (REST) or explore the emerging GraphQL technology. Although REST is widely regarded as the standard method for API development, GraphQL is believed to be revolutionary in overcoming the main drawbacks of REST, especially data-fetching issues. Nevertheless, doubts still remain, as there are no investigations with convincing results in evaluating the performance of the two services. This paper proposes a new research methodology to evaluate the performance of REST and GraphQL API services with two main ideas as novelties. The first novel method is the evaluation of the two services is performed on the real ongoing operation of the management information system, where massive and intensive query transactions take place on a complex database with many relationships. The second is the fair and independent performance evaluation results obtained by distributing client requests and synchronizing the service responses on the two virtually separated parallel execution paths for each API service, respectively. The performance evaluation was investigated using basic measures of QoS (Quality of Services), i.e., response time, throughput, CPU load, and memory usage. We use the term efficiency in comparing the evaluation results to capture differences in their performance measures. The statistical hypothesis parameters test using the two-tails paired t-test, and boxplot visualization was also given to confirm the significance of the comparison results. The results showed REST is still faster up to 50.50% in response time and 37.16% for throughput, while GraphQL is very efficient in resource utilization, i.e., 37.26% for CPU load and 39.74% for memory utilization. Therefore, GraphQL is the right choice when data requirements change frequently, and resource utilization is the most important consideration. REST is used when some data are frequently accessed and called by multiple requests.
format article
author Armin Lawi
Benny L. E. Panggabean
Takaichi Yoshida
author_facet Armin Lawi
Benny L. E. Panggabean
Takaichi Yoshida
author_sort Armin Lawi
title Evaluating GraphQL and REST API Services Performance in a Massive and Intensive Accessible Information System
title_short Evaluating GraphQL and REST API Services Performance in a Massive and Intensive Accessible Information System
title_full Evaluating GraphQL and REST API Services Performance in a Massive and Intensive Accessible Information System
title_fullStr Evaluating GraphQL and REST API Services Performance in a Massive and Intensive Accessible Information System
title_full_unstemmed Evaluating GraphQL and REST API Services Performance in a Massive and Intensive Accessible Information System
title_sort evaluating graphql and rest api services performance in a massive and intensive accessible information system
publisher MDPI AG
publishDate 2021
url https://doaj.org/article/29d4876f9d8f4aad983c2c84aa1da3da
work_keys_str_mv AT arminlawi evaluatinggraphqlandrestapiservicesperformanceinamassiveandintensiveaccessibleinformationsystem
AT bennylepanggabean evaluatinggraphqlandrestapiservicesperformanceinamassiveandintensiveaccessibleinformationsystem
AT takaichiyoshida evaluatinggraphqlandrestapiservicesperformanceinamassiveandintensiveaccessibleinformationsystem
_version_ 1718412519482064896