Un support d'exécution pour l'adaptation des aspects non-fonctionnels des applications réparties
Auteur / Autrice : | Eric Bruneton |
Direction : | Michel Riveill, Fabienne Boyer |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique. Systèmes et communications |
Date : | Soutenance en 2001 |
Etablissement(s) : | Grenoble INPG |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....) |
Partenaire(s) de recherche : | Equipe de recherche : Equipe-projet Systèmes informatiques répartis pour applications coopératives (Montbonnot, Isère ; 1996-2001) |
Mots clés
Résumé
En général, les propriétés non-fonctionnelles des applications distribuées, comme la persistance, la protection ou la mobilité, ont besoin d'être adaptées en fonction de l'environnement d'exécution et des besoins des utilisateurs, comme nous le montrons à l'aide d'une application particulière, appelée BAGHERA. Malheureusement cette adaptation est difficile à réaliser à l'aide des plates-formes middleware classiques comme CORBA. La plate-forme Enterprise Java Beans (EJB), ainsi qu'un certain nombre de plates-formes expérimentales, apportent des débuts de solution à ce problème. Mais, comme nous le montrons, ces propositions ne sont pas encore complètement satisfaisantes. Nous proposons donc dans cette thèse une nouvelle architecture de plate-forme, afin d'essayer de résoudre les limitations des propositions existantes. Cette nouvelle architecture, inspirée de celle des EJB, et complétée en utilisant un nouveau mécanisme de composition d'objets, offre un modèle de programmation très général, inspiré du modèle Open Distributed Processing (ODP). Nous présentons ensuite la plate-forme expérimentale JavaPod, basée sur l'architecture précédente, et que nous avons réalisé à des fins d'évaluation. Ce prototype est constitué d'un noyau, qui se contente de définir un cadre de travail (ou framework), et de plusieurs couches d'extensions du noyau, qui fournissent toutes les fonctionnalités de la plate-forme (protocoles, propriétés non-fonctionnelles, déploiement. . . ). Le tout est mis en œuvre dans un nouveau langage appelé ejava, une extension de Java dans laquelle les objets peuvent être directement composés selon notre nouveau mécanisme de composition. Finalement, nous présentons comment nous avons réalisé l'application BAGHERA avec la plate-forme JavaPod, et comment nous avons pu adapter ses propriétés non-fonctionnelles. Le résultat de ces expérimentations est que notre architecture permet d'adapter les propriétés non-fonctionnelles des applications distribuées plus facilement qu'avec les plates-formes expérimentales existantes, même s'il reste encore plusieurs problèmes non résolus