Research Group for Applied Software Engineering
Forschungsgruppe für Angewandte Softwaretechnik
Master's Thesis
Declarative Development of Interface-Type-Agnostic Web Services
Advisor
Author
Lukas Kollmer
Start Date
October 15, 2021
Abstract

The thesis aims to identify and address the challenges faced when using domain-specific languages (DSLs) to declaratively express the interface of a web service based on the service’s structure and the semantics of its implementation. Apodini proposes an internal DSL, with the intention of using a web service’s structure in combination with run-time type introspection to automatically generate, by the means of so-called interface exporters, client-facing interfaces for a variety of different protocols, such as REST, HTTP, WebSockets, or others. The approach of deriving service interfaces dynamically from an implementation presents an interface exporter developer with several new challenges, such as properly mapping the semantics of the service as expressed in Swift to the semantics of the respective protocols. We will conduct an expansive evaluation by adding two new interface exporters to Apodini: gRPC and GraphQL. These two interface exporters will serve as a validation of our general work on Apodini, and will be used to determine the quality, accuracy, and reliability of the API mappings generated by Apodini.