Modèles de composants

Dimension: px
Commencer à balayer dès la page:

Download "Modèles de composants"

Transcription

1 Master 2 Recherche Informatique Université de Bretagne Occidentale Modèles de composants Nassima Saididj Encadrant : M. Beugnard 29 janvier

2 Résumé L ingénierie des composants est une discipline très prometteuse en pleine croissance dans les domaines académique et industriel. L approche de développement orientée composants consiste à concevoir et développer des applications par assemblage de composants pré-existants. Cette approche tente de réduire les coûts et délais de développement, de faciliter l évolution et la maintenance des applications en favorisant l adaptabilité pour produire de nouvelles fonctionnalités. Ce rapport présente un état de l art sur les notions de base relatives à l Ingénierie des composants et quelques modèles de composants connus tels que CCM (CORBA Component Model), EJB (Entreprise Java Bean), Fractal et SOFA. Abstract Mots clefs : composant, composant logiciel, modèles de composants. Component engineering is a very promising and growing discipline in both industry and academia. Component-based development consists on developing applications by assembling preexisting components. This approach tries to reduce costs and development time, facilitate upgrade and applications maintenance with promoting adaptability in order to produce new features. This report presents a review on the basic concepts regarding to component engineering and some known components models as CCM (CORBA Component Model), EJB (Enterprise Java Bean), Fractal and SOFA. Keywords : component, software component, component models. 2

3 Table des matières 1 Introduction 4 2 Les composants logiciels Objet vs composant Définitions Notions de base Boîte noire, boîte blanche et boîte grise Spécification d un composant Interfaces Propriétés Contrats Développement de logiciels à base de composants Cycle de vie d un composant Cycle de développement à base de composants Les modèles de composants Modèles industriels EJB CCM Modèles académiques Fractal SOFA Comparaison Conclusion et discussion 14 3

4 1 Introduction Durant les dernières années, l approche basée sur les composants a eu beaucoup de succès dans de nombreux domaines d application. Les applications web, distribuées ou encore graphiques sont des exemples typiques de domaines où cette approche a fait ses preuves. Dans ces domaines des technologies telles que. NET, EJB et CCM sont utilisées. L approche orientée composants a pour vocation d offrir des avantages là où l approche orientée objets a échoué c est-à-dire : augmenter la fiabilité des applications grâce à la réutilisation de composants préexistants et pré-testés, maîtriser le passage à l échelle, les coûts et délais de développement... Le stage se déroulera au département informatique de TELECOM Bretagne à Brest, dans l équipe CAMA (Composants pour Architectures Mobiles Adaptables) qui s intéresse aux problèmes de conception et de réalisation de logiciels répartis et adaptables à l aide de modèles et de composants. Le but de se stage est de proposer un nouveau modèle de composants qui prenne en compte l évolution du composant tout au long de son cycle de vie. Ce rapport est organisé en deux parties. Dans la première partie est présenté le concept du composant logiciel suivi de quelques notions de base. La deuxième partie de ce rapport est consacrée à la présentation de quelques modèles de composants dans les domaines industriel et académique suivie d une comparaison entre les des différents modèles présentés. Le rapport se termine avec une conclusion. 4

5 2 Les composants logiciels Cette première partie est consacrée à l introduction des notions de base. Dans un premier temps une comparaison est faite entre l approche à base de composants et l approche orientée objets puis les limites de cette dernière sont données. Ensuite, des notions relatives à l approche orientée composants sont présentées. Enfin, sont abordés le cycle de vie d un composant et le cycle de développement à base de composants. 2.1 Objet vs composant Une application orientée objets doit être vue comme une collection d objets collaborant dans laquelle chaque objet résume les données et le comportement d une entité de l application. L interaction avec cette entité se fait par le biais d une interface bien définie. Dans les applications orientées objets, l héritage est le mécanisme de partage et de réutilisation des modèles génériques. Malgré l avantage qu offre l héritage, il en reste qu il n est pas possible de réutiliser les classes sans la programmation de nouvelles classes [ND95]. Le faible niveau de réutilisation est dû au fort couplage des objets, qui en effet, peuvent communiquer sans passer par leurs interfaces. L approche objet présente d autres limites [O + 05]parmi lesquelles on peut citer : La plupart des mécanismes objets sont manuels (création des instances, gestion des dépendances entre classes,...) ; Seuls les services fournis sont spécifiés et l approche ne définit pas les besoins requis ; Il n existe pas d outils pour déployer les exécutables sur les différents sites ; L évolution des objets est difficilement prise en compte par l approche ; L approche a montré des limites importantes en termes de passage à l échelle. L approche orientée composants a pour vocation d offrir des avantages là où l approche orientée objets a échoué. Le principe de développement de systèmes à partir des composants n est pas nouveau étant donné que même l approche objet repose sur l identification dans un premier lieu des différentes entités du système, puis, des différents modules et classes associés à chaque entité... Toutefois, la nouveauté est que l approche orientée composants repose sur le principe de la réutilisation de composants préexistants et leur assemblage pour construire de nouvelles applications. Cette méthode basée sur l assemblage a comme principaux avantages la simplification du développement des applications complexes et la fiabilité des systèmes grâce à l utilisation de composants pré-testés. 2.2 Définitions Selon Wikipédia 1, un composant est défini comme étant «un élément de base d un ensemble complexe (structuré ou composite) lequel est un assemblage de composants souvent différents». Cette première définition quoique générale, fait apparaître deux concepts importants dans l approche dite de développement à base de composants qu on retrouve plus loin dans ce rapport. Il s agit de «composant composite» et d «assemblage de composants». Le premier désigne un composant construit à partir d un ensemble d autres composants plus élémentaires dits primitifs. 1 http ://fr.wikipedia.org/wiki/composant 5

6 L assemblage de composants constitue quant à lui avec la réutilisation le principe sur lequel repose le développement à base de composants. Tous ces concepts sont explicités plus loin dans ce rapport. Harris dans [HH99] définit un composant comme suit : «Un composant est un morceau de logiciel assez petit pour qu on puisse le créer et le maintenir, et assez grand pour qu on puisse l installer et en assurer le support. De plus, il est doté d interfaces standards pour pouvoir interopérer» 2. Meyer dans [Mey99] donne une autre définition pour le composant logiciel : «Un composant logiciel est un élément logiciel avec les propriétés suivantes : l élément peut être utilisé par d autres éléments logiciels (clients) ; les clients et leur «auteurs» n ont pas besoin de connaître l «auteur» de l élément» 3. Bien qu il n existe pas une définition consensuelle, la plus reconnue est celle de Szyperski [SBW98] : «Un composant est unité de composition avec des interfaces contractuellement spécifiées et des dépendances explicites au contexte. Un composant logiciel peut être déployé de façon indépendante et être sujet à composition par des tierces parties» 4. Cette définition souligne les propriétés suivantes : un composant constitue l unité de composition ; il est défini par ses fonctions et ce dont il a besoin qui sont définis explicitement par des contrats ; il peut être déployé de façon indépendante ; donc il est autonome ; il est composable avec d autres composants. Szyperski dans [Szy02], explique ces propriétés de la manière suivante. D abord, pour qu un composant soit à même d être déployé de façon autonome, il doit être bien séparé de son environnement et des autres composants. Un composant encapsule donc l ensemble de ses fonctions. Aussi, étant donné qu il est une unité de déploiement, un composant ne sera jamais déployé partiellement. Dans ce contexte, une tierce partie est celle qui ne peut pas avoir accès aux détails de construction dudit composant. Pour qu un composant soit composable avec d autres composants d une telle tierce partie, il doit être suffisamment autonome. Aussi, les spécifications concernant ce que le composant fournit et ce dont il a besoin doivent être claires. En d autres termes, un composant a besoin d encapsuler son implémentation et d interagir avec son environnement à travers des interfaces bien définies. Il existe également une divergence concernant la définition d un composant entre les chercheurs du milieu académique et ceux du milieu industriel. Les premiers définissent un composant comme étant une entité bien définie, souvent petite avec des propriétés fonctionnelles et nonfonctionnelles. Les seconds voient un composant comme étant une partie réutilisable du système, 2 «A component is a piece of software small enough to create and maintain, big enough to deploy and support, and with standard interfaces for interoperability» 3 «A software component is a program element with the following properties : The element may be used by other program elements (clients) The clients and their authors do not need to be known to the element s authors.» 4 «A software component is a unit of composition with contractually specified interface and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parts.» 6

7 mais que celle-là n est pas nécessairement bien définie dans ses interfaces et sa conformité à un modèle de composant. La deuxième partie de ce rapport présente quelques modèles de composants des domaines industriel et académique. 2.3 Notions de base Boîte noire, boîte blanche et boîte grise Dans [Szy02], l auteur décrit les concepts de boîte noire et boîte blanche comme se référant à la visibilité des implémentations des interfaces. Ainsi, dans une boîte noire, aucun détail au-delà de l interface et de ses spécifications n est connu par le client. En revanche, dans une boîte blanche, l implémentation de l interface est complètement visible et donc permet de comprendre son fonctionnement. Une boîte grise quant à elle, révèle des propriétés de l implémentation [BW99] Spécification d un composant La spécification d un composant est donnée par trois éléments : Type : c est la définition abstraite du composant. Implémentation : l implémentation d un composant est la mise en œuvre des aspects fonctionnels et non-fonctionnels de son type. Instance : une instance d un composant est une entité exécutable du composant dans un système. La spécification d un composant repose essentiellement sur son type qui est caractérisé par deux éléments : ses interfaces et ses propriétés [O + 05] Interfaces Une interface d un composant peut être définie comme étant une spécification de ses points d accès [Szy02]. Le client accède aux services fournis par le composant via ces points d accès. Si un composant en possède plusieurs, chacun représente un service offert par ce composant. Il est important de souligner qu une interface n implémente aucune de ses opérations. En effet, une interface décrit uniquement un ensemble d opérations ainsi que leurs contrats. Il existe deux types d interfaces : les interfaces fournies et les interfaces requises. Les interfaces fournies décrivent les services offerts par le composant à son environnement tandis que les interfaces requises spécifient les services requis par le composant Propriétés On peut distinguer deux types de propriétés pour un composant, les propriétés dites fonctionnelles et les propriétés dites non-fonctionnelles. Les propriétés fonctionnelles sont celles qui décrivent la structure, le comportement et les fonctionnalités du composant. En revanche, les propriétés nonfonctionnelles concernent les services utilisés par le composant qui ne font pas partie des services applicatifs (sécurité, performance,...). 7

8 2.3.5 Contrats Un contrat comme il a été mentionné dans [Mey00], liste l ensemble des contraintes que le composant doit maintenir (l invariant). Pour chaque opération du composant, le contrat spécifie également la liste des contraintes qui doivent être remplies par le client (la pré-condition), et ce que le composant s engage à fournir en retour (la post-condition). La pré-condition et la post-condition constituent la spécification du comportement d un composant [Crn02]. 2.4 Développement de logiciels à base de composants Bien que le développement d application à base de composants logiciels n ait commencé à émerger qu à partir des années 1990, l idée de la réutilisation est bien plus antérieure. Le premier à en avoir introduit l idée fut McIlroy lors d une conférence de l OTAN en Celui-ci, expliqua la crise que vivait l industrie du logiciel par l absence d une industrie sous-jacente de composants et qu une telle industrie pouvait être couronnée de succès 5. Le but principal de l ingénierie à base de composants, est d aborder le développement des applications comme étant un assemblage de composants réutilisables, et la maintenance de ces applications s effectue en modifiant ou en remplaçant ces composants [Crn03]. L ingénierie des composants inclut aussi bien le développement des composants que le développement de systèmes à base de composants. En effet, dans le premier cas, les composants sont développés dans le but d être réutilisés dans plusieurs applications, tandis que dans le deuxième cas, il s agit de construire des applications par assemblage de composants préexistants après leur adaptation. Dans la suite sont présentés les deux cycles de vie correspondant à chaque cas Cycle de vie d un composant Le processus de développement d un composant peut suivre un modèle de cycle de développement arbitraire. Toutefois, ce modèle nécessitera certaines modifications pour s adapter aux spécificités du développement des composants. En effet, en plus des exigences en matière de fonctionnalités du composant, celui-ci est conçu pour être réutilisé [CLC05]. Les phases du cycle de vie d un composant telles que décrites dans [O + 05] sont : Analyse des besoins en termes de composants L objectif de cette étape est de produire en sortie des composants réutilisables. Pour cela, des techniques d analyses sont utilisées pour identifier parmi les composants existants, ceux qui pourront être réutilisés. À l issue de cette étape, un langage de modélisation (tels que les diagrammes UML) est utilisé pour décrire les besoins en termes de fonctionnalités d un type de composant, un type de composant étant sa définition abstraite. Conception des types de composants Cette étape s appuie sur la définition des besoins de l étape précédente pour spécifier les types 5 «My thesis is that the software industry is weakly founded, in part because of the absence of a software components subindustry.... A components industry could be immensely successful» 8

9 de composants. Durant la phase de conception des types, un langage est utilisé pour spécifier les interfaces, les propriétés et les contrats des composants. Cette étape fait également appel à certains mécanismes qui sont : L adaptation : modification apportées aux composants afin qu ils deviennent appropriés à des utilisations particulières. L intégration : intégration d un composant à l application en cours de développement. La recherche : recherche des composants qui répondent à des besoins particuliers. La sélection : choix parmi les composants candidats, de celui qui est le plus proche des besoins. Implantation des types de composants Durant cette phase, les parties fonctionnelles d un type de composant sont implantées en respectant sa spécification et en utilisant le langage défini par le modèle de composants choisi. Paquetage et diffusion des implantations de composants Après l implantation des composants, ceux-ci sont archivés dans des paquetages. Un paquetage regroupe dans une seule unité les éléments nécessaires au déploiement d un composant. Ces éléments sont le type de composant, son implantation ainsi qu un ensemble de descripteurs qui aident à son déploiement. Un paquetage possède un format défini par le modèle utilisé pour faciliter sa diffusion et son échange. Assemblage L assemblage est l opération qui consiste à assembler tous les composants d une application. Le résultat de l assemblage est ensuite empaqueté avant sa diffusion et son utilisation. Aussi, il est nécessaire que le résultat de l assemblage soit un composant afin qu il puisse être assemblé avec d autres composants. Afin de décrire cet assemblage, des ADL (Architecture Description Language) peuvent être utilisés. Les ADL sont des langages qui, en se basant sur les notions de composant, connecteur, et de configuration permettent de décrire l architecture d un système. Un connecteur est utilisé pour modéliser de façon précise les interactions entre deux ou plusieurs composants en définissant l ensemble des conditions devant être remplies. La complexité d un connecteur peut varier en fonction des interactions entre les composants (de simple appel de procédure jusqu à des protocoles d accès à des bases de données par exemple). Une configuration quant à elle, est la description de la manière dont les composants et les connecteurs sont reliés. Déploiement On désigne par déploiement le processus d intégration d un composant dans son environnement après son extraction du paquetage le contenant. L instanciation du composant se fait en se basant sur les descripteurs qui lui ont été associés lors de son empaquetage. Ces descripteurs permettent aussi de vérifier l adéquation de la structure d accueil avec leurs spécifications. Utilisation et maintenance Après le déploiement du composant, il sera ensuite possible de l utiliser et exploiter ses services. La 9

10 maintenance inclut quant à elle, la modification d un composant existant et la création d un nouveau Cycle de développement à base de composants Différents modèles de cycle de vie établis en génie logiciel peuvent être utilisés dans le développement à base de composants. Ces modèles seront modifiés pour souligner les activités centrées sur les composants de ce développement qui se concentre sur l identification des composants réutilisables et des relations entre eux à partir des exigences du système. Les différentes étapes dans le processus de développement de systèmes à base de composants telles que présentées dans [Crn03] peuvent être résumées comme suit : Recherche des composants susceptibles d être utilisés dans le système : tous les composants candidats sont listés. Afin d effectuer efficacement cette procédure des outils pour retrouver les composants candidats sont utilisés. Sélection des composants qui répondent aux exigences du système. Souvent, les exigences ne peuvent pas être remplies entièrement et une adaptation des composants existants est nécessaire afin de permettre leur utilisation. Si aucun composant ne répond aux exigences, il faut développer des composants pour qu ils soient utilisés dans le système. Adaptation des composants sélectionnés en tenant compte du modèle utilisé et des spécifications des exigences. Assemblage et déploiement des composants en utilisant un framework de composants. Ce sont généralement les modèles de composants qui offrent cette fonctionnalité. La différence entre le concept de modèle et celui de framework de composants [BBB + 00] est que le premier définit un ensemble de normes et de conventions utilisées par le développeur, tandis que le deuxième est une infrastructure de support pour un modèle de composants. Remplacement des anciennes versions de composants par des versions plus récentes ce qui correspond à la maintenance du système. Dans cette partie, nous avons présenté les principaux concepts des composants logiciels en ressortissant leurs caractéristiques, leur cycle de vie ainsi que le cycle de développement à base de composants. La suite de ce rapport est consacrée à la présentation de quelques modèles de composants. 10

11 3 Les modèles de composants Dans cette partie, nous présentons brièvement quelques modèles de composants en se focalisant sur la vision de chacun, de la conception d une application à base de composants. Cette présentation est suivie d une comparaison des avantages et inconvénients de chaque modèle par laquelle nous cherchons à mettre en avant les caractéristiques souhaitées d un modèle de composants. 3.1 Modèles industriels EJB Le modèle des composants EJB (Enterprise Java Bean) a été défini par Sun dans le cadre de J2EE avec comme objectifs la normalisation du développement, l assemblage et le déploiement des applications distribuées [Mic05]. L architecture de l environnement d exécution des EJB comprend un serveur, un conteneur ainsi que des services fournis par le serveur aux composants (services de gestion des transactions, d exceptions, de persistance et un support pour la sécurité). Un composant est défini par deux interfaces : une définissant ses fonctions et une autre contenant les opérations de création, suppression et recherche. Un composant est également défini par une classe qui réalise les fonctions du composant et des méthodes spécifiques imposées par la spécification EJB. Chaque composant est localisé dans un conteneur, qui lui assure une indépendance vis-à-vis l implantation du serveur. Un conteneur possède une EJB Home dont le rôle est de créer de nouveaux composants, de retrouver des composants existants, et de détruire des composants à l intérieur du conteneur. Les EJB Objects quant à eux, permettent aux clients d accéder aux composants encapsulés à l intérieur du conteneur. En effet, le conteneur s interpose aussi entre le composant qu il contient et les clients ; l accès au composant n est possible qu à travers les EJB Objects. Le descripteur de déploiement d un composant est un fichier dans lequel sont déclarées des propriétés de déploiement en termes de ressources nécessaires à son exécution. Il existe plusieurs implémentations de la spécification EJB parmi lesquelles : Jonas, JBoss et Tomcat CCM CCM (COBA Component Model) est le modèle spécifié par l OMG (Object Management Group) pour les composants. Ce modèle se distingue des autres par le fait qu il n est pas restreint à un langage ni à un environnement d exécution particuliers. Un composant CCM est localisé dans un conteneur qui lui offre un environnement d exécution. Chaque composant est défini par des attributs et des ports. Les attributs sont utilisés pour sa configuration et les ports représentent des interfaces à travers lesquelles les clients et les autres éléments de l environnement d une application peuvent interagir [Gro06]. Ce modèle de composants supporte les quatre types de ports suivants : Une facette : c est une interface fournie par un composant et qui peut être utilisée par des clients. Un réceptacle : c est un point de connexion qui décrit la capacité du composant à utiliser une référence fournie par d autres composants. Une source d événements : c est un point de connexion qui émet des événements à des récepteurs d événements ou dans un canal. 11

12 Un puits d événements : c est un point de connexion qui permet au composant de recevoir des événements émis par d autres composants. Pour appeler un composant, il faut référencer un de ses ports d entrée. Les connexions sont ensuite établies entre des ports de sortie du composant appelant et des ports d entrée du composant appelé, à condition que ces ports aient des interfaces identiques. Toutes les communications s effectuent en utilisant le bus CORBA. Les interfaces des composants sont décrites en utilisant le langage de description d interface l IDL (Interface Definition Language) de CORBA. L utilisation de l IDL permet de programmer les composants dans des langages différents et indépendamment de leurs environnements d exécution. A l instar de EJB, CCM utilise aussi un descripteur de déploiement où sont spécifiées les propriétés de déploiement des composants. Il existent plusieurs implémentations de CCM parmi lesquelles : OpenCCM, MicoCCM et FreeCCM. 3.2 Modèles académiques Fractal Fractal est le modèle de composants défini par France Telecom R&D et l INRIA dont les caractéristiques principales sont motivées par l objectif de pouvoir construire, déployer et administrer des systèmes complexes [BCS04]. Un composant Fractal est formé d un contenu et d une membrane. Le contenu est constitué d un nombre fini de composants appelés sous-composants. La membrane est constituée d interfaces fonctionnelles correspondant à des fonctionnalités fournies ou requises ainsi que des interfaces de contrôle correspondant à des aspects non-fonctionnels comme l introspection, la configuration ou la reconfiguration. Les interfaces d une membrane peuvent être internes ou externes. Les interfaces externes sont accessibles depuis l extérieur du composant, tandis que les interfaces internes ne sont accessibles qu à ses sous-composants. Le modèle Fractal fournit deux mécanismes permettant de définir l architecture d une application : la liaison et l imbrication. La liaison est ce qui permet aux composants Fractal de communiquer. Il existe deux types de liaisons : Les liaisons primitives sont celles qui lient une interface client et une interface serveur de deux composants du même espace d adressage. Les liaisons composites sont des chemins de communication complexes entre deux interfaces de composants. L imbrication est possible grâce à la notion du composant composite par laquelle on désigne un composant qui contient des sous-composants. Cela permet de donner une vue uniforme d une application à différents niveaux d abstraction. En revanche, un composant primitif ne contient aucun sous-composant. Une autre caractéristique du modèle Fractal est qu il permet la construction de composants partagés. Un composant partagé est un composant inclus dans plusieurs composites et est particulièrement adapté à la modélisation de ressources. Il existe plusieurs plates-formes mettant en œuvre le modèle Fractal parmi lesquelles Julia qui est l implémentation de référence. 12

13 3.2.2 SOFA SOFA (Software Appliances) est un projet [PBJ98] dont l objectif est de fournir une plateforme pour les composants logiciels. Dans le modèle de composants SOFA [Con08], les applications sont considérées comme une hiérarchie de composants imbriqués. Un composant peut être primitif (ne contient pas de sous-composant) ou composite (contient des sous-composants). Toutes les fonctionnalités sont définies dans les composants primitifs. Un composant est décrit par son frame et son architecture. Le frame est une vue «boîte noire» du composant. Il définit des interfaces fournies et requises, et déclare éventuellement des propriétés pour le paramétrage du composant. L architecture reflète une vue «boîte grise» du composant. Elle définit le premier niveau d imbrication dans une hiérarchie de composants. L ensemble de la hiérarchie de composants de l application (tous les niveaux d imbrication) est décrit dans le descripteur de déploiement. Les interfaces, les frames et les architectures des composants SOFA sont décrites en utilisant un langage de définition de composants appelé CDL (Component Definition Language). Ce langage est basé sur l IDL de l OMG qu il étend avec d autres caractéristiques pour permettre les spécifications des composants logiciels. Les composants sont reliés par des connecteurs. En SOFA, les connecteurs sont des entités comme les composants. Chaque connecteur est décrit de la même manière qu un composant, i.e. par un frame et une architecture. SOFA 2.0 [BHP06], est le successeur de SOFA, qui a amélioré certains concepts déjà existants et a introduit d autres concepts omis dans la première version (comme la reconfiguration dynamique). 3.3 Comparaison Dans cette partie, un aperçu sur quatre modèles de composants logiciels est présenté en mettant l accent sur la vision de chacun des modèles, de la conception d une application à base de composants. Cette section discute des principaux avantages et inconvénients de ces modèles [O + 05]. EJB,CCM et SOFA utilisent tous un descripteur de déploiement dans lequel ils précisent les propriétés de déploiement en termes de ressources nécessaires. Cela confère aux modèles une capacité de configuration. Dans EJB, le travail de l utilisateur est facilité par la génération automatique de plusieurs classes (classes fournies par le conteneur et le fournisseur du composant). Il reste cependant, toute une partie de code à mettre en œuvre à cause de la non-prise en compte des propriétés non-fonctionnelles. EJB et Fractal ont une limite qui réside dans le fait qu ils n utilisent pas de langage de description d interface ce qui fait qu ils sont dépendants du langage d implantation (Java). Par contraste CCM semble être le plus indépendant vis-à-vis des langages d implantation grâce à l utilisation de l IDL et des règles de projection vers différents langages de programmation. CCM supporte plus ou moins l assemblage. En effet, celui-ci définit séparément les interfaces requises (dans un modèle conceptuel) et les connecteurs (dans un modèle de déploiement). La réutilisation et l assemblage sont moins supportés par EJB qui ne définit aucun moyen de description des interfaces requises et des connecteurs, ni de référentiel de composant. Les modèles Fractal et SOFA fournissent des avantages de réutilisation et tendent plus à offrir une composition hiérarchique. La notion de configuration n existe pas dans Fractal, l architecture est définie comme un composant composite. Un autre inconvénient de ce modèle est le fait qu il se limite à une définition implicite des connecteurs en ne considérant que les composants et leurs structures. 13

14 En revanche, SOFA définit des connecteurs adaptables aux interfaces, mais il présente l inconvénient d ignorer l implémentation et de se concentrer sur la partie interface/connecteur. Les propriétés nonfonctionnelles ne sont pas prises en compte ni dans Fractal ni dans SOFA. Cependant, SOFA est le seul parmi les modèles présentés, à prendre en compte la mise à jour dynamique des composants. Fractal quant à lui, a la particularité d être introspectable et d autoriser le partage de composants. 4 Conclusion et discussion À travers les avantages et inconvénients présentés précédemment, les qualités et caractéristiques principales [O + 05] devant être satisfaites dans un modèle de composants sont la réutilisabilité et l adaptabilité. Par la réutilisabilité, on désigne le degré de réutilisation permis par un modèle de composants. L adaptabilité quant à elle, exprime l aptitude à contrôler et permettre à un modèle de composant d évoluer dynamiquement. Pour accroître la réutilisabilité d un modèle de composants, certains critères sont préconisés comme : L extensibilité : traduit le fait que l ajout de nouveaux services ne doit pas interférer ceux déjà existants. L évolutivité : signifie que la mise à jour de l implémentation d un composant ne doit pas avoir d impact sur les composants utilisant ses services. La compositionalité : est obtenue par exemple si un composant inclut d autres composants et délègue et envoie ses services d interfaces aux interfaces de ses composants internes. La remplaçabilité : est la possibilité de remplacer un composant par un autre composant qui réalise la même interface. Plusieurs modèles de composants ont été proposés. Ces modèles offrent différentes façons de concevoir une application. Dans ce rapport, nous avons présenté des exemples de modèles issus d initiatives industrielles et d autres issus de travaux d équipes de recherche académiques. D autres modèles de composants ont aussi été développé. Des exemples de modèles existants sont :.Net, Darwin, OSGi, UniCon, Wright... Cependant, ces modèles sont caractérisés par le fait qu ils sont trop proches de la mise en œuvre et imposent des choix de conception dès les premières phases du développement. Or, nous pensons qu il serait utile d introduire ces contraintes progressivement. Dans la première partie de ce rapport, on a vu qu un composant connait plusieurs changements depuis sa spécification jusqu à son utilisation. L objectif de ce stage est de proposer un nouveau modèle de composant qui prend en compte les changements et l évolution du composant. Nous souhaiterions donc élaborer un modèle qui prenne en compte le cycle de vie du composant et qui soit, en outre abstrait. Nous pensons qu il serait ensuite possible d utiliser un langage de méta-modélisation et de transformation comme Kermeta 6 pour raffiner notre modèle vers des modèles concrets. 6 http :// 14

15 Références [BBB + 00] F. Bachmann, L. Bass, C. Buhrman, S. Cornella-Dorda, F. Long, J. Robert, R. Seacord, and K. Wallnau. Volume II : Technical Concepts of Component-based Software Engineering. Carnegie Mellon University, Software Engineering Institute, [BCS04] E. Bruneton, T. Coupaye, and J. Stefani. The fractal component model specification. ObjectWeb Consortium, February, 5, [BHP06] T. Bureš, P. Hnětynka, and F. Plášil. SOFA 2.0 : Balancing Advanced Features in a Hierarchical Component Model. In Proc. of SERA, [BW99] [CLC05] M. Buchi and W. Weck. The greybox approach : When blackbox specifications hide too much. Turku Centre for Computer Science, I. Crnkovic, S. Larsson, and M. Chaudron. Component-based Development Process and Component Lifecycle. JOURNAL OF COMPUTING AND INFORMATION TECHNO- LOGY, 13(4) :321, [Con08] ObjectWeb Consortium. SOFA Component Model. Technical report, [Crn02] I. Crnkovic. Building Reliable Component-Based Software Systems. Artech House, [Crn03] I. Crnkovic. Component-Based Software Engineering :New Challenges in Software Development. Journal of Computing and Information Technology, 11(3) : , [Gro06] Object Management Group. Corba component model 4.0 specification. Specification Version 4.0, Object Management Group, April [HH99] J. Harris and A. Henderson. A better mythology for system design. In Proceedings of the SIGCHI conference on Human factors in computing systems : the CHI is the limit, pages ACM New York, NY, USA, [Mey99] B. Meyer. On To Components [Mey00] B. Meyer. Contracts for Components Interface Definition Languages as we know them today are doomed. SOFTWARE DEVELOPMENT-SAN FRANCISCO-, 8(7) :51 53, [Mic05] S. Microsystems. Enterprise JavaBeans Specification Version 3.0. Technical report, [ND95] O. Nierstrasz and L. Dami. Component-Oriented Software Technology. Object-Oriented Software Composition, 1 :3 28, [O + 05] M. Oussalah et al. Ingénierie des composants : concepts, techniques et outils. Vuibert informatique, [PBJ98] F. Plášil, D. Bálek, and R. Janecek. SOFA/DCUP : Architecture for Component Trading and Dynamic Updating. In Proceedings of the International Conference on Configurable Distributed Systems, [SBW98] C. Szyperski, J. Bosch, and W. Weck. Component Oriented Programming. Springer, [Szy02] C. Szyperski. Component Software : Beyond Object-Oriented Programming. Addison- Wesley Professional,

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants Architecture à base de composants pour le déploiement adaptatif des applications multicomposants Dhouha Ayed, Chantal Taconet, et Guy Bernard GET / INT, CNRS Samovar 5157 9 rue Charles Fourier 91011 Évry,

Plus en détail

OpenCCM : une infrastructure à composants pour le déploiement d'applications à base de composants CORBA

OpenCCM : une infrastructure à composants pour le déploiement d'applications à base de composants CORBA OpenCCM : une infrastructure à composants pour le déploiement d'applications à base de composants CORBA Frédéric Briclet, Christophe Contreras et Philippe Merle Projet Jacquard INRIA Futurs Laboratoire

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

THÈSE. Présentée à. en habilitation conjointe avec l Université de Rennes 1. En vue de l obtention du grade de. DOCTEUR de l ENST Bretagne.

THÈSE. Présentée à. en habilitation conjointe avec l Université de Rennes 1. En vue de l obtention du grade de. DOCTEUR de l ENST Bretagne. N o d ordre: 2008telb0060 THÈSE Présentée à l ÉCOLE NATIONALE SUPÉRIEURE DES TÉLÉCOMMUNICATIONS DE BRETAGNE en habilitation conjointe avec l Université de Rennes 1 En vue de l obtention du grade de DOCTEUR

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

Fédération : une architecture logicielle pour la construction d applications dirigée par les modèles

Fédération : une architecture logicielle pour la construction d applications dirigée par les modèles Fédération : une architecture logicielle pour la construction d applications dirigée par les modèles Anh Tuyet Le To cite this version: Anh Tuyet Le. Fédération : une architecture logicielle pour la construction

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

Composants Logiciels. Le modèle de composant de CORBA. Plan Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Un environnement de déploiement automatique pour les applications à base de composants

Un environnement de déploiement automatique pour les applications à base de composants ICSSEA 2002-7 Lestideau Un environnement de déploiement automatique pour les applications à base de composants Vincent Lestideau Adele Team Bat C LSR-IMAG, 220 rue de la chimie Domaine Universitaire, BP

Plus en détail

Une architecture conceptuelle pour le déploiement d applications à grande échelle

Une architecture conceptuelle pour le déploiement d applications à grande échelle Une architecture conceptuelle pour le déploiement d applications à grande échelle Noëlle Merle Noureddine Belkhatir Equipe Adèle, LSR IMAG 220, rue de la chimie Domaine Universitaire BP 53 38041 Grenoble

Plus en détail

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée Colloque : Systèmes Complexes d Information et Gestion des Risques pour l Aide à la Décision Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée BELKADI

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

1 Introduction à l infrastructure Active Directory et réseau

1 Introduction à l infrastructure Active Directory et réseau 1 Introduction à l infrastructure Active Directory et réseau Objectifs d examen de ce chapitre Ce premier chapitre, qui donne un aperçu des technologies impliquées par la conception d une infrastructure

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Forthcoming Database

Forthcoming Database DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan Extensions à la formation Diagramme de timing FinEpreuve SautBarrière CourseAvantBarrière SautMur {>2 et 10 et 2 et 10 et

Plus en détail

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise Vendredi 26 Novembre 2004 9h.00 Espace Batignolles 18 rue de la Condamine 75017 Paris www.espace-batignolles.com

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK ArchiMate et l architecture d entreprise Par Julien Allaire Ordre du jour Présentation du langage ArchiMate - Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK Présentation du modèle

Plus en détail

Chapitre 2 - Architecture logicielle et construction d applications client-serveur

Chapitre 2 - Architecture logicielle et construction d applications client-serveur Chapitre 2 - Architecture logicielle et construction d applications client-serveur «Toute technologie suffisamment avancée est indiscernable de la magie» (Arthur Clarke) Résumé La méthodologie MEDEVER

Plus en détail

Business Process Execution Language

Business Process Execution Language Business Process Execution Language Rapport du projet de systèmes distribués d information Markus Lindström 6 mai 2009 Motivation personnelle Le sujet que j ai retenu et présenté dans le cadre du cours

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques

Plus en détail

Composition conceptuelle basée sur la relation Tout-Partie

Composition conceptuelle basée sur la relation Tout-Partie École doctorale des sciences exactes et de leurs applications UFR sciences et techniques Composition conceptuelle basée sur la relation Tout-Partie THÈSE présentée et soutenue publiquement le 9 décembre

Plus en détail

Introduction au Génie Logiciel

Introduction au Génie Logiciel Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Synergies entre Artisan Studio et outils PLM

Synergies entre Artisan Studio et outils PLM SysML France 13 Novembre 2012 William Boyer-Vidal Regional Sales Manager Southern Europe Synergies entre Artisan Studio et outils PLM 2012 2012 Atego. Atego. 1 Challenges & Tendances Complexité des produits

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

SHAREPOINT PORTAL SERVER 2013

SHAREPOINT PORTAL SERVER 2013 Powered by TCPDF (www.tcpdf.org) SHAREPOINT PORTAL SERVER 2013 Sharepoint portal server 2013 DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 CORE SOLUTIONS Réf: MS20488 Durée : 5 jours (7 heures) OBJECTIFS

Plus en détail

Une méthode d apprentissage pour la composition de services web

Une méthode d apprentissage pour la composition de services web Une méthode d apprentissage pour la composition de services web Soufiene Lajmi * Chirine Ghedira ** Khaled Ghedira * * Laboratoire SOIE (ENSI) University of Manouba, Manouba 2010, Tunisia Soufiene.lajmi@ensi.rnu.tn,

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Architectures Ouvertes pour l Adaptation des Logiciels

Architectures Ouvertes pour l Adaptation des Logiciels Architectures Ouvertes pour l Adaptation des Logiciels Frédéric Duclos 1, Jacky Estublier 2, Rémy Sanlaville 1 Published in review Génie Logiciel And proceedings ICSSEA, Paris 2001 1 Dassault Systèmes

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Préparer un état de l art

Préparer un état de l art Préparer un état de l art Khalil DRIRA LAAS-CNRS, Toulouse Unité de recherche ReDCAD École Nationale d ingénieurs de Sfax Étude de l état de l art? Une étude ciblée, approfondie et critique des travaux

Plus en détail

Proposition de méthode d implémentation d ITIL

Proposition de méthode d implémentation d ITIL Proposition de méthode d implémentation d ITIL Said Sebaaoui (*) - Mohamed Lamrini (*) - Laila El Abbadi (**) (*) : Laboratoire Informatique et Modélisation (LIM), Faculté des Sciences Dhar el Mahraz,

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

Urbanisation des systèmes d information

Urbanisation des systèmes d information Urbanisation des systèmes d information 29-08-2013 Université Lyon 1, 7 Novembre 2013 Présentation Julien VILLANTI (julien.villanti@worldline.net) Unité Public Santé Transport (département Contacts) Fonctions

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine

Plus en détail

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services 69 Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services M. Bakhouya, J. Gaber et A. Koukam Laboratoire Systèmes et Transports SeT Université de Technologie de Belfort-Montbéliard

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

UNIVERSITE JOSEPH FOURIER GRENOBLE I THESE

UNIVERSITE JOSEPH FOURIER GRENOBLE I THESE UNIVERSITE JOSEPH FOURIER GRENOBLE I THESE pour obtenir le grade de DOCTEUR de l Université Joseph Fourier de Grenoble (arrêtés ministériels du 5 juillet 1984 et du 30 mars 1992) Discipline : Informatique

Plus en détail

M1 : Ingénierie du Logiciel

M1 : Ingénierie du Logiciel M1 : Ingénierie du Logiciel UNIVERSITE PIERRE & MARIE CURIE (PARIS VI) Examen Réparti 2eme partie 16 Mai 2013 (2 heures avec documents : tous SAUF ANNALES CORRIGEES). Barème indicatif sur 20,5 points (max

Plus en détail

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Introduction au Déploiement

Introduction au Déploiement Introduction au Déploiement Noël De Palma - Projet SARDES - INRIA - IMAG LSR Remerciement à d. donsez 03/03/06 PLAN Définition et problématique OSGI FRACTAL JADE Conclusion 03/03/06 2 Définition Environnement

Plus en détail

MÉMOIRE DE STAGE DE MASTER SPÉCIALITÉ : Recherche en Informatique Mention : Informatique, Mathématiques, Statistiques

MÉMOIRE DE STAGE DE MASTER SPÉCIALITÉ : Recherche en Informatique Mention : Informatique, Mathématiques, Statistiques ACADÉMIE DE MONTPELLIER UNIVERSITÉ MONTPELLIER II SCIENCE ET TECHNIQUES DU LANGUEDOC MÉMOIRE DE STAGE DE MASTER SPÉCIALITÉ : Recherche en Informatique Mention : Informatique, Mathématiques, Statistiques

Plus en détail

Chapitre 9. Assistance à l évolution du logiciel dirigée par la qualité

Chapitre 9. Assistance à l évolution du logiciel dirigée par la qualité Chapitre 9 Assistance à l évolution du logiciel dirigée par la qualité L évolution de l architecture d un logiciel à base de composants peut avoir des conséquences nuisibles sur ses attributs qualité.

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC Technologies du Web Ludovic DENOYER - ludovic.denoyer@lip6.fr UPMC Février 2014 Ludovic DENOYER - ludovic.denoyer@lip6.fr Technologies du Web Plan Retour sur les BDs Le service Search Un peu plus sur les

Plus en détail

Master Data Management en Open Source C est le Bon Moment

Master Data Management en Open Source C est le Bon Moment Master Data Management en Open Source C est le Bon Moment White Paper Sommaire Introduction... 2 Les Pré Requis du Marché Open Source... 2 La Liberté... 3 Prédire les Effets de l Open Source sur le MDM...

Plus en détail

FROGi : Déploiement de composants Fractal sur OSGi

FROGi : Déploiement de composants Fractal sur OSGi FROGi : Déploiement de composants Fractal sur OSGi Humberto Cervantes, Mikael Désertot, Didier Donsez Universidad Autonoma Metropolitana-Iztapalapa, San Rafael Atlixco Nº 186, Col. Vicentina, C.P. 09340

Plus en détail

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

devant l université de Rennes 1

devant l université de Rennes 1 N o d ordre: 3000 THÈSE Présentée devant devant l université de Rennes 1 pour obtenir le grade de : Docteur de l université de Rennes 1 Mention Informatique par Karine Macedo De Amorim Équipe d accueil

Plus en détail

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

Plus en détail

Service de Détection de Pannes avec SNMP

Service de Détection de Pannes avec SNMP Service de Détection de Pannes avec SNMP Matthias Wiesmann JAIST, 1-1 Tel. : +81 761 51 1254 - Fax. : +81 761 51 1149 E-mail : wiesmann@jaist.ac.jp Résumé : La détection de pannes est un aspect important

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Introduction au génie logiciel

Introduction au génie logiciel Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel

Plus en détail

INGÉNIERIE DIRIGÉE PAR LES MODÈLES ET COMPOSANTS SENSIBLES AU CONTEXTE

INGÉNIERIE DIRIGÉE PAR LES MODÈLES ET COMPOSANTS SENSIBLES AU CONTEXTE Faculté des Sciences de Tunis TELECOM et Management SudParis Rapport de Stage Élève Ingénieur en Informatique INGÉNIERIE DIRIGÉE PAR LES MODÈLES ET COMPOSANTS SENSIBLES AU CONTEXTE Mehdi ZAIER Responsable

Plus en détail

Software Engineering and Middleware A Roadmap

Software Engineering and Middleware A Roadmap Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems

Plus en détail

Suzy Hélène Germaine TEMATE NGAFFO

Suzy Hélène Germaine TEMATE NGAFFO Institut National Polytechnique de Toulouse(INP Toulouse) Réseaux, Télécommunications, Systèmes et Architecture- RTSA Suzy Hélène Germaine TEMATE NGAFFO lundi 12 novembre 2012 Des langages de modélisation

Plus en détail

Bourses d excellence pour les masters orientés vers la recherche

Bourses d excellence pour les masters orientés vers la recherche Masters de Mathématiques à l'université Lille 1 Mathématiques Ingénierie Mathématique Mathématiques et Finances Bourses d excellence pour les masters orientés vers la recherche Mathématiques appliquées

Plus en détail

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par. École Doctorale d Informatique, Télécommunications et Électronique de Paris THÈSE présentée à TÉLÉCOM PARISTECH pour obtenir le grade de DOCTEUR de TÉLÉCOM PARISTECH Mention Informatique et Réseaux par

Plus en détail

Pour obtenir le grade de. Arrêté ministérial : 7 aoûit 2006. Xavier ETCHEVERS

Pour obtenir le grade de. Arrêté ministérial : 7 aoûit 2006. Xavier ETCHEVERS THÈSE Pour obtenir le grade de DOCTEUR DE L UNIVERSITÉ DE GRENOBLE Spécialité : Informatique Arrêté ministérial : 7 aoûit 2006 Présentée par Xavier ETCHEVERS Thèse dirigée par M. Noël DE PALMA et codirigée

Plus en détail

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

2 Chapitre 1 Introduction

2 Chapitre 1 Introduction 1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné

Plus en détail

Intergiciels orientés composants.

Intergiciels orientés composants. Intergiciels orientés composants. Introduction à CCM (CORBA Component Model) Ada Diaconescu ada.diaconescu@telecom-paristech.fr Plan Motivation Introduction aux intergiciels orientés composant Définition

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008 THÈSE En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE ET DE L UNIVERSITÉ DE SFAX Délivré par l Université Toulouse III - Paul Sabatier et la Faculté des Sciences Économiques et de Gestion

Plus en détail

Le cadre des Web Services Partie 1 : Introduction

Le cadre des Web Services Partie 1 : Introduction Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Introduction à la plateforme J2EE

Introduction à la plateforme J2EE Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi

Plus en détail

Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER

Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER Dounia Mansouri, Mohammed Mostefai, Yasmina Bella Laboratoire d Automatique de Sétif E-mail: mostefai@univ-setif.dz

Plus en détail

Data Tier Application avec SQL Server 2008 R2

Data Tier Application avec SQL Server 2008 R2 Data Tier Application avec SQL Server 2008 R2 Article par David BARBARIN (MVP SQL Server) David BARBARIN est actuellement consultant en bases de données pour une entreprise Suisse GOLD Partner Microsoft

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Avant-propos L économie en réseau, ou la netéconomie, est au cœur des débats et des stratégies de toutes les entreprises. Les organisations, qu il s agisse de

Plus en détail

WHITE PAPER Une revue de solution par Talend & Infosense

WHITE PAPER Une revue de solution par Talend & Infosense WHITE PAPER Une revue de solution par Talend & Infosense Master Data Management pour les données de référence dans le domaine de la santé Table des matières CAS D ETUDE : COLLABORATION SOCIALE ET ADMINISTRATION

Plus en détail

sont appliquées à des fonds documentaires, sont destinées à fournir des informations pertinentes sur la structure globale plutôt que sur le contenu.

sont appliquées à des fonds documentaires, sont destinées à fournir des informations pertinentes sur la structure globale plutôt que sur le contenu. Introduction Les techniques informatiques permettent de stocker et d accéder à des quantités sans cesse croissantes de données, disponibles en ligne ou via des centres documentaires fermés. Cette profusion

Plus en détail

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager L Orchestration de Services Web avec Orchestra Goulven Le Jeune Orchestra Project Manager D1 Bull, Architecte d un Monde Ouvert : contributeur et acteur majeur de l'open Source Applications métiers Infrastructures

Plus en détail

Intégration de produits mécatroniques au sein d un système PLM

Intégration de produits mécatroniques au sein d un système PLM Intégration de produits mécatroniques au sein d un système PLM HOUSSEM ABID 1, MADY GUILLEMOT 1, DIDIER NOTERMAN 1, PHILIPPE PERNELLE 2 1 Laboratoire DISP, INSA Lyon 69100, France {houssem.abid,mady.guillmot,didier.noterman}@insa-lyon.fr

Plus en détail