Publicidad

WAPIml: Towards a Modeling Infrastructure for Web APIs

CS Research Professor, Software Engineer en ICREA - Internet Interdisciplinary Institute (UOC)
22 de Sep de 2019
Publicidad

Más contenido relacionado

Similar a WAPIml: Towards a Modeling Infrastructure for Web APIs(20)

Más de Jordi Cabot(20)

Publicidad

WAPIml: Towards a Modeling Infrastructure for Web APIs

  1. WAPIML: Towards a Modeling Infrastructure for Web APIs Hamza Ed-douibi1, Javier Luis Cánovas Izquierdo1, Francis Bordeleau2, Jordi Cabot3 1Internet Interdisciplinary Institute (IN3) - Universitat Oberta de Catalunya (UOC), Barcelona, Spain 2École de technologie supérieure, Université du Québec, Montreal, Canada 3Internet Interdisciplinary Institute (IN3) - ICREA, Barcelona, Spain Munich, September 19, 2019
  2. REST Representational state transfer (REST) ProgrammableWeb: more than 21 000 APIs
  3. …consortium of forward-looking industry experts who recognize the immense value of standardizing on how REST APIs are described… …is focused on creating, evolving and promoting a vendor neutral description format… https://www.openapis.org
  4. 4 OpenAPI E x a m p le "info": { "description": "This is … ", "version" : "1.0.0", "title": “…", "contact": {…},… } Metadata { "swagger": "2.0", "info": { "version": "1.0.0", "title": "Swagger Petstore", "license": { "name": "MIT" } }, "host": "petstore.swagger.io", "basePath": "/v1", "schemes": [ "http" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/pets": { "get": { "summary": "List all pets", "operationId": "listPets", "tags": [ "pets" ], "parameters": [ { "name": "limit", "in": "query", "description": "How many items to return at one time (max 100)", "required": false, "type": "integer", "format": "int32" } ], "responses": { "200": { "description": "An paged array of pets", "headers": { "x-next": { "type": "string", "description": "A link to the next page of responses" } }, "schema": { "$ref": "#/definitions/Pets" } }, "default": { "description": "unexpected error", "schema": { "$ref": "#/definitions/Error" } } } }, OpenAPI definition "paths":{ "/pet/{petId}":{ "get":{ "parameters":[ { "name":"petId", "in":"path",... } ], "responses":{ "200":..., },... },... }, Operations "definitions":{ "Pet":{ "type":"object", "properties":{ "id":..., "category":..., "name":..., ... } } Schema
  5. 5 Motivation
  6. 6 Proposal Better visualization and understanding of the data model and operations of a REST API. Easier integration of REST APIs in all kinds of model- based processes. OpenAPI to UML and back Model–based editor for OpenAPI definitions
  7. 7 Approach
  8. 8 OpenAPI metamodel
  9. 9 OpenAPI profile
  10. Demo time
  11. 11 Conclusions and future work What we have shown What we plan to do Support OpenAPI 3 Support new UML diagrams Support other Web APIs specifications (e.g., OData) An OpenAPI round-trip tool that leverages model-driven techniques to create, visualize, manage, and generate OpenAPI definitions using an OpenAPI DSL also expressed as a UML profile
  12. Thank you! WAPIML: Towards a Modeling Infrastructure for Web APIs Hamza Ed-douibi, Javier Luis Cánovas Izquierdo, Francis Bordeleau, Jordi Cabot https://github.com/opendata-for-all/wapiml
Publicidad