Software architects ought to continuously strive to develop secure, dependable, and effective software services that can cope with the scalability, revival, idleness, multi-occupancy, and other operational issues of cloud applications. To overcome these issues, the current microservice architecture (MSA) allows software architects to develop, install, evaluate, and tweak the individual microservice functions of large complex applications. Despite the benefits of sustaining rapid agile business applications, what are the challenges and solutions related to implementing efficient microservices in the software-as-a-service (SaaS) cloud computing model? Quina-Mera et al. discuss and illustrate the communication problems among microservices, and then present new ideas to demonstrate, intellectualize, and evaluate the elements of GraphQL in order to reveal its deficiencies and capabilities.
The representational state transfer (REST) architecture provides mechanisms for creating application programming interfaces (APIs) that facilitate communications among microservices. Even though REST is still popularly used to create microservices, the authors convincingly use a systematic analysis method to illuminate and compare the issues of over-fetching more data and under-fetching insufficient data required by applications in REST API versus GraphQL API. With the growing interest in its industrial use to overcome the current problems of REST technology, the authors comprehensively analyze a collection of reputable literature to present the pros and cons of adopting GraphQL.
The authors use formal specifications from GraphQL to present an abstract model to expound and represent its components. They scientifically examine the literature to identify research patterns and disparities within GraphQL. The research investigations reveal some surprising results: (1) European institutions are more involved with GraphQL research; (2) no scientific discipline or specialization can be associated with GraphQL research dissemination; (3) there is more interest in the exploration of GraphQL for implementing web APIs than the REST alternative; and (4) most research investigations into GraphQL are restricted to the exploration of queries, schemas, objects, and scalar data types.
The authors call on industry and software engineering researchers to create procedures for developing and implementing more effective APIs, including hybrid architectures among GraphQL, REST, and future cloud architecture designs. Indeed, developing and enforcing service-level agreements (SLAs) for services such as security and testing in GraphQL and REST-based systems is difficult. Research practitioners and industrial and software regulation experts will want to read more about the unresolved questions raised in this timely article.