Vers une architecture dynamique pour les serveurs d'applications.
Date limite de soumission 13/10/2005
Jeudi 13 octobre 2005Mikael DESERTOT (IMAG)
Ce travail cible les serveurs d'applications et plus particulièrement les serveurs J2EE. Cette spécification*,* établie par Sun, offre un environnement proposant différents services non fonctionnels (transaction, mail, base de données,…) sur lesquels s'appuie une architecture à composants pour la partie métier. Si la spécification J2EE et la JSR 88 se préoccupent de faciliter le déploiement et le démarrage des applications métiers, rien n'est prévu pour la partie service intégrée au serveur. Cette partie est traitée différemment suivant les différentes implémentations de la spécification et offre plus ou moins de dynamisme. Au travers de ce travail nous proposons une façon de traiter les services non fonctionnels de la même façon que les composants métiers. Cela inclut de pouvoir déployer dynamiquement ces services, les démarrer, les arrêter, les désinstaller ou éventuellement les rétracter (faire migrer un ou plusieurs services ainsi que leurs états vers un autre serveur). Nous verrons dans un premier temps les différentes façons dont est abordé le dynamisme de ces services dans les différentes implémentations open sources existantes puis différentes solutions possibles pour introduire le dynamisme désiré à ce niveau du serveur. Une de ces solutions a été prototypée, utilisant une Architecture Orientée Service (SOA) comme base pour assurer le dynamisme. En pratique, c'est une plate-forme OSGi qui est mise en œuvre au sein même du serveur. Nous verrons donc les avantages et les limites d'une telle solution. Nous finirons par un cas d'utilisation pour lequel le dynamisme du serveur est important: le Edge Computing. C'est un modèle pour les fournisseurs de services Internet qui leur permet de mettre en cache des pages web statiques ou des flux multimédia au plus près des usagers. Ce modèle, efficace, est néanmoins difficile à gérer; dans ce cadre nous avons étudié la mise en œuvre d'un système de management autonomique pour piloter les réactions de l'environnement.