Spelling suggestions: "subject:"déploiement dde logiciel"" "subject:"déploiement dee logiciel""
1 |
Contributions au déploiement dans les architectures réflexives basé sur les composantsKornaś, Jakub 23 October 2008 (has links) (PDF)
Les logiciels récents sont de plus en plus complexes en terme de leur développement et gestions associés. Pour adresser cette complexité, un approche fondé sur les composant a vu le jour qui vise une meilleure ingénierie des logiciels. En particulier, une approche à composants structure les logiciels comme un assemblage dynamique des composants qui doivent être déployés et gérés à l'exécution, en continu. Pour ce deploiement et cette gestion, nous avons adopté une approche fondée sur une architecture logicielle explicite de composants. Cette approche, communément appelée " gestion basée sur l'architecture ", a évolué de premières solutions ad-hoc vers des infrastructures génériques fondées sur des modèles de composants réflexifs. Une de ces infrastructures est la plateforme JADE. JADE vise à gérer autonomiquement des systèmes distribués complexes. Basé sur un modèle de composants réflexifs, JADE capture l'architecture logicielle complète des systèmes distribués, incluant non seulement les applications distribuées hébergées mais aussi les systèmes distribués qui les hébergent". En particulier, cette architecture réifie en continue certains aspects de l'exécution des systèmes distribués, tels que les défaillances de nœuds ou les caractéristiques de performance. Utilisant cette architecture réifiée, les gestionnaires autonomes observent et réagissent selon les changements de conditions. Chaque réaction de gestionnaires automatiques a pour but de planifier une reconfiguration de l'architecture en réponse à un changement des conditions d'exécution. Par exemple, un gestionnaire d'auto-réparation observant la défaillance d'un nœud aurait pour but de reconstruire, sur un autre nœud, la partie perdue du système distribué. Un gestionnaire d'auto-protection observerait une intrusion et planifierait la reconfiguration du système distribué pour isoler les composants compromis. Un gestionnaire d'auto-optimisation pourrait observer une disponibilité en baisse d'un serveur répliqué et planifier d'augmenter cette réplication cardinale des composants serveurs. Au coeur de cette gestion autonomique fournie par JADE se trouve le déploiement des composants. En effet, la plupart des reconfigurations de l'architecture de systèmes distribués s'appuient sur l'aptitude à instancier des composants sur des nœuds distants. Plus précisément, une fois que les gestionnaires autonomes ont générés un plan de reconfiguration du système distribué, l'exécution effective du plan est automatiquement distribuée, essentiellement par création et suppression de composants ainsi que leur édition de liens. La création et la suppression de composants requièrent une gestion locale des composants sur chaque nœud du système distribué. Cette gestion locale nécessite une infrastructure distribuée pour trouver, installer, charger et supprimer les composants. Le travail présenté dans cette thèse est le socle de JADE, fournissant les capacités de déploiement avancé dans un environnement distribué. En particulier, nous avons traité ce défi via une conception récursive où l'implémentation de composants a été modélisée par des composants. Cette approche fournie un déploiement uniforme qui suit les principes basés sur l'architecture. En particulier, nous pouvons déployer non seulement des composants d'applications mais aussi des composants " middleware ". De plus, au-delà du déploiement de composants normaux, nous pouvons également déployer des logiciels " legacy " qui sont gérés uniformément par JADE. En plus de fournir le socle du déploiement de JADE, ce travail a montré que le modèle de composant réflexif utilisé par JADE (appelé FRACTAL) a besoin d'être étendu pour capter les implémentations et leur spécificité. Bien que conçu spécifiquement pour FRACTAL et JADE, ces extensions présetent une applicabilité bien plus large, elles s'appliquent en effet à la plupart des modèles de composant courant. En effet, la plupart de ces modèles se focalisent sur l'assemblage fonctionnel de composants et ne proposent rien ou peu sur le déploiement des composants. Ce travail a également montré que l'architecture autonomique basée sur l'architecture a des besoins dynamiques spécifiques en terme de déploiement qui rend difficile la ré-utilisation de plateformes existantes pour la gestion dynamique de composants, tels que OSGI. Sur la base d'OSGi, cette thèse a expérimenté plusieurs conceptions et prototypes qui ont été utilisé avec succès, mais dont ultimement les limites sont apparues. Ces limites sont liées à une tension fondamentale entre les conceptions architecturales de JADE et OSGI. Une nouvelle conception et un nouveau prototype ont montré la faisabilité de supporter notre FRACTAL étendu sur la plateforme JAVA, servant de fondation à la gestion autonomique de systèmes distribués complexes fondée sur l'architecture.
|
2 |
Vers un environnement pour le déploiement logiciel autonomiqueMatougui, Mohammed el Amine 21 November 2013 (has links) (PDF)
Le déploiement de logiciels répartis dans des environnements à grande échelle et ouverts (tels les systèmes ubiquitaires, les systèmes mobiles et les systèmes P2P) est une problématique actuelle ouverte. Ces environnements sont distribués, hétérogènes et peuvent être de nature instable (dotés d'une topologie dynamique du réseau). Le déploiement dans ces environnements met en jeu un très grand nombre de machines, de liens réseau ainsi qu'un ensemble de contraintes de déploiement. Quelques solutions de déploiement existent aujourd'hui, mais ne sont exploitables que dans le cadre d'architectures figées et fiables. Dans la plupart des solutions, une personne en charge du déploiement doit décrire plus ou moins manuellement la topologie. En outre, la majorité de ces outils ne prennent pas en compte les problèmes dûs à la variabilité de la qualité de service du réseau, aux pannes des hôtes, aux défaillances des liens du réseau ou encore aux changements dynamiques de topologie, qui caractérisent les environnements ouverts. Dans ce mémoire, nous présentons les motivations de la réalisation d'une infrastructure de déploiement logiciel autonomique et les exigences sous-jacentes d'une telle plate-forme. Nous présentons un état de l'art du déploiement logiciel que nous analysons au regard du contexte visé. Ensuite, nous présentons notre contribution pour le déploiement autonomique. Notre proposition s'appuie sur une combinaison de technologies (composants logiciels, agents mobiles adaptables, intergiciel, langage dédié). Nous proposons j-ASD, un intergiciel qui exploite la complémentarité de ces technologies pour réaliser un déploiement logiciel autonomique. Le processus de déploiement contient trois étapes : description des contraintes de déploiement, résolution, et déploiement autonomique. Pour la première étape, nous avons défini un langage dédié (DSL) comme langage de haut niveau pour exprimer des contraintes de déploiement. Pour la deuxième, nous avons conçu une infrastructure répartie pour collecter les propriétés des sites cibles, ce qui permet de résoudre les contraintes de déploiement. Pour la troisième étape, nous proposons un intergiciel à base d'agents mobiles pour la réalisation et la supervision du déploiement autonomique. Enfin, nous donnons les éléments de conception du prototype que nous avons implémenté, ainsi que les résultats de certaines expérimentations pour montrer la validité de notre approche
|
3 |
Vers un environnement pour le déploiement logiciel autonomique / Towards an environment for autonomic software deploymentMatougui, Mohammed el Amine 21 November 2013 (has links)
Le déploiement de logiciels répartis dans des environnements à grande échelle et ouverts (tels les systèmes ubiquitaires, les systèmes mobiles et les systèmes P2P) est une problématique actuelle ouverte. Ces environnements sont distribués, hétérogènes et peuvent être de nature instable (dotés d’une topologie dynamique du réseau). Le déploiement dans ces environnements met en jeu un très grand nombre de machines, de liens réseau ainsi qu’un ensemble de contraintes de déploiement. Quelques solutions de déploiement existent aujourd’hui, mais ne sont exploitables que dans le cadre d’architectures figées et fiables. Dans la plupart des solutions, une personne en charge du déploiement doit décrire plus ou moins manuellement la topologie. En outre, la majorité de ces outils ne prennent pas en compte les problèmes dûs à la variabilité de la qualité de service du réseau, aux pannes des hôtes, aux défaillances des liens du réseau ou encore aux changements dynamiques de topologie, qui caractérisent les environnements ouverts. Dans ce mémoire, nous présentons les motivations de la réalisation d'une infrastructure de déploiement logiciel autonomique et les exigences sous-jacentes d'une telle plate-forme. Nous présentons un état de l’art du déploiement logiciel que nous analysons au regard du contexte visé. Ensuite, nous présentons notre contribution pour le déploiement autonomique. Notre proposition s'appuie sur une combinaison de technologies (composants logiciels, agents mobiles adaptables, intergiciel, langage dédié). Nous proposons j-ASD, un intergiciel qui exploite la complémentarité de ces technologies pour réaliser un déploiement logiciel autonomique. Le processus de déploiement contient trois étapes : description des contraintes de déploiement, résolution, et déploiement autonomique. Pour la première étape, nous avons défini un langage dédié (DSL) comme langage de haut niveau pour exprimer des contraintes de déploiement. Pour la deuxième, nous avons conçu une infrastructure répartie pour collecter les propriétés des sites cibles, ce qui permet de résoudre les contraintes de déploiement. Pour la troisième étape, nous proposons un intergiciel à base d’agents mobiles pour la réalisation et la supervision du déploiement autonomique. Enfin, nous donnons les éléments de conception du prototype que nous avons implémenté, ainsi que les résultats de certaines expérimentations pour montrer la validité de notre approche / Software deployment in large-scale and open distributed systems (such as ubiquitous systems, mobile systems and P2P systems) is still an open issue. These environments are distributed, heterogeneous and can be naturally unstable (fitted with a dynamic network topology). Deployment in such environments require the management of a large number of hosts, network links and deployment constraints. Existing distributed deployment solutions are usable only within static and reliable topologies of hosts, where a man in charge of the deployment has to describe more or less manually the topology. Moreover, majority of these tools do not take into account network and computer QoS variabilities, hosts crashes, network link failures and network topology changes, which characterize open and mobile environments. In this thesis, we discuss the motivations for an autonomic software deployment and the requirements underlying for such a platform. We carefully study and compare the existing work about software deployment. Then, we propose a middleware framework, designed to reduce the human cost for setting up software deployment and to deal with failure-prone and change-prone environments. We also propose an autonomic deployment process in three steps : deployment constraints description step, constraints resolution step and the autonomic deployment step. For the first step, we defined a high-level constraint-based dedicated language (DSL) as support for expressing deployment constraints. In the second step, we have designed a distributed infrastructure to collect target hosts properties used to solve deployment constraints. For the third step, we propose an agent-based system for establishing and maintaining software deployment. At last, we give an overview of our working prototype with some details on some experimental results
|
Page generated in 0.1187 seconds