Towards an extensible framework for modelling and implementing correct and evolutive web applications, under variability hypothesis
Plateforme extensible de modélisation et de construction d'applications web correctes et évolutives, avec hypothèse de variabilité
Résumé
Lots of software companies rely on web technologies to test market hypotheses and thereby develop viable businesses. They often need to be able to quickly build web services that are at the core of their "Minimum Viable Products" (MVP). In this context, building web services must allow the variability of technologies and specifications and improve developers' efficiency. Even if numerous approaches to build web services exist, the industrial context lacks methods that ensure an easy and flexible building, a proper functioning and a good maintainability of the web services, while being accessible by generalist developers.
For the purpose of reducing these limitations, we propose a method based on Model-Driven Engineering (MDE) to develop web services. It focuses on (i) rapid prototyping, (ii) model verification, (iii) compatibility with common programming languages and (iv) alignment between documentation and implementation. This method is based on a voluntarily minimalist meta-model, along with rules for semantic consistency. Models can be derived from extended OpenAPI 3.0 models.
We also provide a tool, SWSG, that automatize parts of this process. Especially, SWSG allows to generate code in order to integrate the described web services inside an application made with the Laravel PHP framework. Finally, the whole approach is evaluated through case studies.
De nombreuses sociétés œuvrant dans le logiciel dépendent des technologies web pour tester des hypothèses de marché et ainsi développer des entreprises viables. Elles ont souvent besoin de construire rapidement des services web qui sont au cœur de leurs « Minimum Viable Products » (MVP). Dans ce contexte, la construction des services web doit permettre la variabilité des technologies et des spécifications, et favoriser la productivité des développeurs. Même si de nombreuses solutions existent pour développer des services web, le contexte industriel manque de techniques assurant une construction aisée et flexible, un bon fonctionnement et une facilité de maintenance des services web, tout en étant abordables par des développeurs généralistes.
Dans le but de réduire ces limitations, nous proposons une méthode de développement de services web basée sur l'Ingénierie Dirigée par les Modèles et adaptée pour (i) le prototypage rapide, (ii) la vérification de modèle, (iii) la compatibilité avec les langages de programmation classiques et (iv) l'alignement automatique entre documentation et implémentation. Cette méthode se base sur un méta-modèle volontairement minimaliste, qui est accompagné de règles de cohérence sémantique, et dont les modèles peuvent être dérivés de modèles OpenAPI 3.0 étendus.
Nous fournissons également un outil, SWSG, qui automatise une grande partie de ce processus. SWSG permet notamment de générer le code des services web de manière à l'intégrer à une application utilisant le framework PHP Laravel. Enfin, nous évaluons notre approche au travers de cas d'étude.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...