le 28 novembre 2025 à 10:00 à INRIA Lille
Dans les dix dernières années, le style d'architecture à microservices a pris une place majeure dans la conception des applications. La croissance de son importance s'est faite en symbiose avec le développement du cloud, la nature distribuée et indépendante des microservices trouvant sa pertinence en permettant aux applications d'exploiter les possibilités de l'infrastructure telles que la mise à l'échelle, la flexibilité et l'efficacité dans l'utilisation des ressources. Bien que le style d'architecture à microservices doit sa large adoption dans l'industrie à ses indéniables mérites, il a aussi apporté de nouvelles difficultés consubstantielles à ses avantages. La multiplication d'entités exécutables indépendantes rend la représentation du système difficile, et le fait de permettre l'indépendance des équipes de développement, bien que produisant des gains considérables dans les délais d'intégration, créé un risque accru de dérive vers des systèmes inutilement complexes et obscurs. Pour limiter ces conséquences néfastes, les architectes logiciels peuvent s'appuyer sur des Langages de Description d'Architecture (ADL). Par l'étude des ADL spécifiques aux applications à microservices existants, nous avons identifiés deux principaux manquements qui sont le partage d'un métamodèle ne faisant pas des structures architecturale abstraites des citoyens de première classe dans le langage et d'avoir pour finalité de produire du code métier procédural ce qui, d'une part, va contre l'agnosticité technologique qui est au cœur de l'esprit des applications à microservices, et d'autre part produit une inévitable désynchronisation entre la description architecturale et l'application puisque le code généré demande d'être adapté et complété. Pour répondre à ces limitations, nous avons conçu un nouveau métamodèle pour les ADL microservices ainsi qu'un language l'implantant nommé Concern Oriented Microservice Architecture (COMSA) accompagné d'une boîte à outils. Nous proposons ainsi une nouvelle manière de concevoir la description des applications à microservices, en utilisant le concept de préoccupation pour ancrer sémantiquement une structure syntaxique faisant de la description architecturale une nécessité de conception. Cette proposition est soutenue par des compilateurs produisant du code exécutable sans modification faisant de COMSA un langage exécutable. Par la réécriture d'un jeu de données d'applications décrites via le langage Docker Compose dans le langage COMSA, nous avons établi qu'une application écrite en COMSA demandait en moyenne trois fois moins de propriétés pour une description équivalente. Ce résultat indique immédiatement un gain considérable en cohérence et vient corroborer les améliorations qualitatives en intelligibilité, tolérance aux erreurs et efforts de maintenance.
M. Philippe MERLE Inria Directeur de thèse, M. Thomas LEDOUX IMT Atlantique Rapporteur, M. Christian PEREZ Inria Rapporteur, Mme Anne ETIEN Université de Lille Examinatrice, Mme Vania MARANGOZOVA Université Grenoble - Alpes Examinatrice, M. Anthony CLEVE Université de Namur Examinateur.