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.
In order to provide you with the best online experience this website uses cookies.
By using our website, you agree to our use of cookies. Learn more