Back to top

Master's Thesis of Niklas Scholz

Last modified Nov 20, 2018
   No tags assigned

A Model-Based Approach to Consume REST Services in Single Page Applications

 

Abstract

Single Page Applications are often communicating with backend servers to transfer data. To make backend services accessible for the client, the backend provides those via RESTful APIs. A lot of research and code generation tools focus on the server side of such RESTful APIs. Whereas, this thesis deals with the client-side, meaning the consumption of RESTful APIs. Consuming APIs leads to an overhead in the client when the data comes from several different APIs. This is a common case when applying the microservice architectural style or when the client accesses several third party APIs (e.g. GitHub, JIRA, Facebook, Google API etc.).
This work presents an approach to shift away the responsibility of the API consumption from the client by introducing a web service which handles the communication with the APIs as well as the data transformations. After analysing the state-of-the-art, a model-driven approach is being proposed for the generation of such a web service. Firstly, a model will be introduced describing the consumption of RESTful services. Secondly, a tool will be described to semi-automatically generate such a web service based on model-transformations. Subsequent to the presentation of the implementation, the approach will be evaluated by developing a sample application with the help of the tool. The outcomes of this thesis are a reference architecture, a meta-model describing RESTful service consumption, and a code generation tool. The conducted research leads to the conclusion that consuming several RESTful API leads to complexity in the client and that this consumption can be modelled. Furthermore, evaluating the approach implies that this complexity can be reduced with the presented approach.

 

Keywords

Model-Driven Software Engineering, Model Transformation, RESTful Web Services, RESTful APIs

 

Research Questions

  • What is the state-of-the-art in model-based RESTful API integration?
  • How does a model-based approach for RESTful API integration in single page applications look like?
  • What are the benefits and limitations of a model-driven approach for RESTful API integration?

Files and Subpages

Name Type Size Last Modification Last Editor
FinalPresentation_NiklasScholz.pdf 3,51 MB 09.10.2017
KickOff_NiklasScholz.pdf 2,04 MB 19.06.2017
NiklasScholz_Thesis.pdf 2,07 MB 11.10.2017