Ce travail de thèse a pour objectif la définition d'une plate-forme logicielle pour l'interprétation d'orchestrations sur un cluster de bus logiciels. Nous proposons une approche qui permet d'offrir une haute disponibilité et une transparence d'utilisation aux usagers. Cette approche est dirigée par des modèles MDA où chaque niveau de modélisation est atteint après enrichissement de notre architecture avec des informations supplémentaires. Chaque enrichissement est défini comme une transformation entre deux niveaux adjacents. Notre premier niveau CIM se présente comme des spécifications formelles écrites en π-calcul polyadique d'ordre supérieur qui fournissent une définition formelle d'une architecture logicielle pour l'interprétation d'orchestration. Tout système distribué bâti sur cette architecture est capable d'interpréter différents types d'orchestrations de manière parallèle. Nos spécifications sont fortement inspirées du modèle classique bus logiciel, il décrit une architecture fortement modulable qui s'adapte au nombre d'orchestrations à traiter et au nombre de clients qui veulent accéder à ces orchestrations. Notre deuxième niveau PIM nous permet de définir un langage que nous avons baptisé π-DSL qui est un langage dédié aux orchestrations. Il introduit la notion de migration d'orchestrations au système de composition d'orchestration EIP défini par Gregor Hohpe. Le langage que nous définissons à ce niveau est dédié au domaine des orchestrations et permet de construire des orchestrations de façon simple et intuitive. Notre troisième niveau PSM nous permet d'enrichir le niveau précèdent en associant les concepts formels aux implantations concrètes. A ce niveau, nous introduisons des frameworks tels que les conteneurs OSGi, l'outil d'intégration de service Apache Camel ou bien le référentiel de code exécutable Apache Archiva. Ces frameworks sont enrichis dans le cadre de notre implantation afin qu'ils soient fidèles aux spécifications établies dans les niveaux supérieurs. Notre quatrième est dernier niveau est le niveau ISM qui présente le contexte d'exécution de l'architecture proposée. Il est obtenu en ajoutant des informations relatives à chaque outil. Nous avons transformé nos spécifications formelles définies en π-calcul d'ordre supérieur vers un réseau d'automates temporisés La définition complète des transformations d'une spécification à base d'EIP est une autre contribution de cette thèse. Ceci nous conduit à réaliser la transformation de notre spécification π-calcul dans le but de tendre vers une implémentation. Nous nous sommes intéressés à 2 types de propriétés liées à notre architecture : la transparence de localisation, la transparence d'échelle. Ces propriétés sont établies en utilisant notre réseau d'automates temporisés et avec l'emploi d'un outil reconnu dans le monde de la preuve par model-checking, l'outil UppAal. Ainsi, nous validons la possibilité d'établir des propriétés liées à la mobilité de code via un réseau d'automates. Dans le cadre de notre implantation, nous avons adapté les frameworks définis dans le cadre de notre PSM afin qu'ils respectent la modélisation formelle réalisée dans la première partie de cette thèse. Nous proposons aussi des outils en vue de l'édition. Ces outils couvrent tout le cycle de vie de l'architecture proposée. Notre framework d'interprétation apporte les transparences décrites dans nos modèles auxquelles s'ajoutent de nouvelles propriétés de transparences provenant de nos choix de réalisation. Pour mesurer le coût de la migration sur les orchestrations durant l'évaluation de notre framework nous utilisons SoapUI comme outil de mesure. Pour réduire au maximum les effets des perturbations sur le code source des différentes orchestrations, nous avons développé nos propres outils de mesure. Nos tests portent sur un comparateur de prix car il représente un scénario classique de benchmarking utilisé par d'autres frameworks d'orchestrations / This thesis aims to define a software platform for the interpretation of orchestrations on a cluster of ESBs. We propose an approach to provide high availability and transparency to users. This approach is model driven, where each modeling level is reached after enrichment of our architecture with additional information. Each enrichment is defined as a transformation between two adjacent levels. Our first level (CIM) is written as formal specifications in polyadic higher-order π-calculus that provide a formal definition of the software architecture that is used for the interpretation of orchestration. Any distributed system built on this architecture is able to interpret different types of orchestrations in parallel. Our specifications are based in traditional software model bus, it describes a highly scalable architecture that adapts to the count of orchestrations to be treated and the count of customers who want to access these orchestrations. Thus, location transparency, transparency of scale or the access transparency are enhanced through the specification of π-calculus terms. Our second level (PIM) allows us to define a language that we call π-DSL, this is a language dedicated to the orchestrations. It introduces the concept of migration of orchestrations system build on orchestration based on EIP composition defined by Gregor Hohpe. At this level, we define this language dedicated to the domain of orchestrations and helps build orchestrations in a simple and intuitive way. Our third level (PSM) enables us to enrich the previous level combining formal concepts to practical implementations. At this level, we introduce frameworks such as OSGi containers, the integration of Apache Camel Service or the Apache Archiva tool as repository of executable code. These frameworks are enhanced as part of our transformation, so they are compatible to the specifications laid down in the upper levels. The fourth and the last level (ISM) provides the executions context of the proposed architecture. It is obtained by adding information about each tool. This level represents the culmination of the MDA that we adopt in the context of our approach. We turned our formal specifications defined in higher order π-calculus to a network of timed automata. The definition of the complete transformation of an EIP based specification is another contribution of this thesis. Indeed, in order to automate our approach, we focused on the specification of the platform but also in the interpretation tools. This leads us to realize the transformation of our π-calculus specification in order to move towards an implementation. We are interested in two types of architecture related to our properties : Location transparency; Scale transparency. These properties are established using our network of timed automata and the use of a globally recognized proof using UppAal model-checking tool. Thus, we validate the feasibility of proofing the properties related to the mobility of code via a network of automata. As part of our implementation, we have adapted defined frameworks in our ISM in order to respect the formal modeling defined in the first part of this thesis. We also offer tools for editing, processing and the interpretation of orchestration in a distributed heterogeneous environment. These tools cover the entire life cycle of the proposed architecture. Our interpretation framework provides transparencies described in our models plus new properties transparencies from our implementation choices. To measure the cost of the migration of orchestrations during the evaluation of our framework, we use SoapUI as a measurement tool that interfaces with orchestrations by a web services interface. To minimize the effects of disturbances on the source code of different orchestrations, we have developed our own measurement tools
Identifer | oai:union.ndltd.org:theses.fr/2014PEST1186 |
Date | 29 November 2014 |
Creators | Mahmoudi, Charif |
Contributors | Paris Est, Mourlin, Fabrice |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | English |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0031 seconds