Back to top

Master's Thesis Berke Gözneli

Last modified Sep 8, 2020
   No tags assigned

Identification and Evaluation of a Process for transition from REST APIs to GraphQL in a Microservices Architecture

Abstract

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. 

Research Questions

  1. What are the existing approaches for GraphQL transition?
  2. What could be a process for transitioning including stakeholders, activities and artifacts?
  3. What are lessons learned?

Keywords: API, GraphQL, REST, Frontend, Backend, Microservices Architecture

Files and Subpages

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