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...
Guardado en:
Autores principales: | , , |
---|---|
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 |