Ir al contenido

Documat


Resumen de Model-driven round-trip engineering of rest apis

Hamza Ed douibi

  • Web APIs have increasingly becoming a key asset for businesses, thus boosting their implementation and integration in companies’ daily activities. Such importance is reflected by the growing number of available public Web APIs, listed in a number of catalogs (e.g., APIS.guru with more than 800 APIs or ProgrammableWEB with more 19000 APIs). In practice, most of these Web APIs are “REST-like”, meaning that they adhere partially to the Representational State Transfer (REST) architectural style. REST is a technical description which outlines the principles, properties, and constraints to build Internet-scale distributed hypermedia systems. Indeed, REST is a design paradigm and does not propose any standard. Thus, both developing and consuming REST APIs are challenging and time-consuming tasks for API providers and clients, respectively. In fact, API providers should have a sound API strategy fostering ease of use while respecting REST constraints. On the other hand, writing applications to consume these APIs typically requires sending HTTP requests and using JSON or XML to represent data. This task is fully manual and developers are having a hard time integrating Web APIs to their applications due to the lack of machine-readable definitions. In fact, Web APIs adopted a human-oriented approach based on informal textual descriptions explaining what they propose. Recently, and aiming at standardizing the way to describe REST APIs, a consortium of major actors in the API market has launched the OpenAPI Initiative (OAI). This initiative has the objective of creating a vendor-neutral, portable, and open specification for describing REST APIs. OAI has succeeded in attracting major companies and the OpenAPI specification has become the choice of reference to describe REST APIs. On the other hand, Open Data Protocol (OData), is an emerging specification for Web APIs which is specially useful to expose and query data sources as REST APIs. The current version of OData (version 4.0) has been approved as an OASIS standard.

    The objective of this thesis is to facilitate the design, implementation, composition and consumption of REST APIs, targeting specially the OpenAPI specification and OData protocol, by relying on Model-Driven Engineering (MDE). MDE is a methodology that promotes the use of models and transformations to raise the level of abstraction and automation in software development, respectively. This thesis proposes the following contributions: (i) EMF-REST, an approach to generate REST APIs for models, thus promoting model management in distributed environments; (ii) APIDiscoverer, an example-based approach to automatically infer OpenAPI specifications for REST APIs, thus helping developers increase the exposure of their APIs without fully writing API specifications; (iii) APITester, an approach to generate test cases for REST APIs relying on their OpenAPI specifications to assess that the behavior of an API conforms to its specification; (iv) APIGenerator, a model-driven approach to automate the generation of ready-to-deploy OData REST APIs from conceptual models; and (v) APIComposer, a lightweight model-based approach to automatically compose REST APIs based on their data models. These contributions constitute an ecosystem which advances the state of the art of automated software engineering for REST APIs development and consumption. We believe such contributions to be of a great value to Web APIs developers who want to bring more agility to their development tasks.


Fundación Dialnet

Mi Documat