APIs are the driving hubs of the modern service providing software architectures. Over the years, various API technologies have been developed to serve the needs of data sharing, with REST becoming the de facto standard for microservice-based architectures. REST serves the state-of-the-art needs of information sharing, however as the needs of the clients and the complexity of the service providing backend architectures grow, the question of how to optimize this client-provider relationship arises and whether this could be achieved by migrating the RESTful APIs to new technologies, such as GraphQL.
GraphQL is a query language and specification for APIs proposed by Facebook which was officially released in 2015. It is client empowering, as in, it was developed from a front-end point of view to provide a flexible syntax and system for enabling a more convenient way of data querying over network calls. It has many benefits; such as supporting API growth by removing the need of versioning, and eliminating over/under-fetching by allowing the users to only get the data they want.
The potential pay-off of adapting GraphQL led to corporations trying it out in their internal systems. As the interest in GraphQL grew, methods for easing the adaptation and transitioning process emerged. The aim of this work is to provide a snapshot of the current RESTful to GraphQL transition processes, to evaluate them, and to implement such a process along with a GraphQL gateway for a microservices architecture.
Keywords: API, GraphQL, REST, Frontend, Backend, Microservices Architecture
Name | Type | Size | Last Modification | Last Editor |
---|---|---|---|---|
BerkeGoezneli_Kickoff.pdf | 26,14 MB | 16.09.2020 | ||
Berke_Goezneli_Final.pdf | 935 KB | 16.09.2020 | ||
MA_thesis_Berke_Goezneli.pdf | 1,47 MB | 16.09.2020 |