Intergiciels orientés composants.

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

Download "Intergiciels orientés composants."

Transcription

1 Intergiciels orientés composants. Introduction à CCM (CORBA Component Model) Ada Diaconescu

2 Plan Motivation Introduction aux intergiciels orientés composant Définition de composants CCM Containers et composition de composants CCM Component Implementation Framework (CIF) Implantation des composants CCM Déploiement et configuration d applications CCM 2 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

3 Motivation Limites des modèles de répartition basé objet page 3 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

4 Rappel du Cycle de Vie d une application Le cycle d une application répartie est complexe Développement initial Définition des interfaces, de la topologie de l application Implantation Tests Déploiement sur plusieurs nœuds Evolutions successives Correction de bugs Modifications dans les interfaces Déploiement sur une nouvelle architecture (topologie, OS, ) 4 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

5 Evolution de l Intergiciel Intergiciel Technologies pour faciliter le développement des applications réparties - Services réutilisables : communication, sécurité, transaction, persistance, - Infrastructure réutilisable d exécution Modèle de répartition : entités inter-agissantes, leur sémantique, Outillage: compilateurs, APIs, Evolution RPC : Sun RPC, Ada DSA,.. MOM : Java JMS, OMG DDS, AMQP, Objets répartis (DOC) : OMG CORBA, Java RMI, Ada DSA,.. Composants répartis (COS) : CCM, Java EE,.NET,.. Services répartis (SOC) : services Web, Architectures/Intergiciels orientés modèle (MDA) : Cadena, CoSMIC,.. 5 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

6 Intergiciel orienté objet - DOC Intersection de deux domaines majeurs de l IT Les systèmes informatiques répartis La programmation orientée objet (OO) Systèmes répartis plus faciles à concevoir et à développer grâce aux techniques de l OO Les entités répartis sont des objets Parfois: support pour des langages et des plates-formes hétérogènes Client Proxy service AbstractService service 1 1 Service service : Client stub operation() middleware Object : Interface X skeleton Utilisation du patron de conception Broker 6 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

7 Intergiciel DOC Apports & Limitations Apports Séparation entre la logique métier et la logique de répartition Aide au développeur pour résoudre les problèmes posés par la répartition Réutilisation de l expertise et de l effort via la réutilisation des platesformes et des services spécifiques à la répartition Limitations Difficultés de passage à l échelle (nombre d entités) Difficultés de maintien et d évolution des applications Temps de mise en marché important («time-to-market») Plus concrètement, sur l exemple de CORBA v2.x.. 7 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

8 Rappelle CORBA v2.x Intergiciel DOC Support pour l hétérogénéité: langage, SE, protocole réseau,.. Support pour: Localisation Communication Gestion des erreurs Tolérance aux fautes Activation d objet/de serveur Concurrence / synchro. Sécurité, Définition d interfaces & de protocoles; pas d implantations 8 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

9 Limitations de CORBA v2.x 1 / 2 Pas de frontière fonctionnelle bien définie Pas de mécanisme pour grouper les interfaces => extension difficile Pas de mécanisme standard pour assembler les objets Un objet doit explicitement chercher et se connecter aux objets utilisés Le code métier est mélangé avec le code de gestion des dépendances => code fragile et peu réutilisable Pas de support pour gérer le cycle de vie des objets Multiples politiques possibles pour le POA Pas de support pour les combinaisons / utilisations les plus courantes => longue période d apprentissage pour les développeurs de serveurs 9 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

10 Limitations de CORBA v2.x 2 / 2 Pas de standard pour les serveurs d application Pas de procédure standard pour configurer un serveur: instanciation du serveur et de ses politiques de QoS, support des services réutilisables (ex. nommage, notification), gestion de l environnement d exécution de chaque composant, => implantations de serveur ad-hoc et fortement couplés Pas de standard pour la configuration et le déploiement du logiciel Pas de standard pour la distribution et le démarrage d objets à distance Pas de standard pour la configuration de chaque nœud / objet => Solutions ad-hoc pour: le déploiement du code sur les machines ciblées, configuration des machines et du logiciel, instanciation des implantations, => Systèmes et logiciels difficiles à maintenir et à réutiliser 10 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

11 Intergiciels orientés composant Introduction à CORBA Component Model - CCM page 11 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

12 CORBA : rappel de l architecture générale 12 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

13 CORBA ~~> CCM Container CCM = CORBA + interfaces CCM Container CCM = CORBA + interfaces CCM CCM Infrastructure = CORBA + services CCM 13 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

14 Des objets aux composants Le modèle de programmation «composant» permet de structurer une application en définissant : Un noyau implantant une fonctionnalité métier (ex. CCM Executor) Un containeur définissant les frontières du composant et gérant l exécution du composant (ex. CCM Container - gestion des aspects non-fonctionnels) Un framework à composants permettant de connecter les containers, les configurer, les instancier, ; et facilitant le développement de composants par la génération automatique de code (ex. CCM CIF) facet / facette event sink/ puits d événement Impl. Container (Containeur) receptacle / réceptacle event source / source d événement 14 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

15 Exemples de systèmes à composant La notion de composant est commune à des nombreux systèmes, sous diverses formes Composants Java EE/EJB, DCOM/.NET pour les systèmes répartis OSGi / ipojo composants orientés service (Java) Modules Esterel, composants UML Composants.. Électroniques 18 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

16 Solution : Intergiciel Orienté Composant Création d une frontière virtuelle autour de l implantation de composants, qui interagissent seulement via des interfaces bien définies. Définition des mécanismes standard pour les containeurs, qui permettent l exécution de composants dans des serveurs génériques Spécification de l infrastructure nécessaire pour le paquetage, la configuration, l assemblage et le déploiement des composants sur une plate-forme répartie 19 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

17 Vue d ensemble de l intergiciel à composant Un composant encapsule une partie de la logique métier de l application Les composants interagissent via des ports Interfaces fournies facettes / «facets» Interfaces requises réceptacles / «receptacles» Sources et puits d événements / «event sources and sinks» Attributs / «attributes» Les containers fournissent des environnements d exécution pour les composants ayant des besoins d opération communs Les composants/containers peuvent également: Communiquer via l intergiciel («middleware bus») Réutiliser des services d intergiciel communs L intergiciel orienté composant définit des interfaces, des politiques et quelques implantations 20 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

18 Intergiciel orienté composant Une classe d intergiciel qui permet la composition, la configuration et l installation de services réutilisables => Facilite la construction rapide d applications fiables => Construction d applications par composition/assemblage des éléments réutilisables plutôt que par développement Références Clemens Szyperski, "Component Software - Beyond Object-Oriented Programming", Addison-Wesley, 1998 Nanbor Wang, Douglas C. Schmidt et Carlos O'Ryan, An Overview of the CORBA Component Model, Component-Based Software Engineering, Addison-Wesley, CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

19 Implantation d une application CCM CCM simplifie le développement d applications réparties en fournissant un niveau d abstraction plus élevé Le modèle de construction introduit des nouveaux mécanismes, qui sont construits au dessus de CORBA Serveur de composants: surcouche à un ORB CORBA Component Implementation Framework (CIF) - API pour l implantation des composants - CIDL Component Implementation Description Language D&C (Deployment and Configuration) Fournit les outils pour automatiser les étapes de D&C Mécanismes de contrôle de l exécutif 22 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

20 Etapes de développement d une application CCM Interface Design Component Design Component Implementation Component Packaging Interface IDL Definitions Deployment Tools Running Applications CCM rende explicits des pas qui étaient implicites en CORBA 2.X 23 Component IDL Definitions IDL Compiler System Deployment Stubs & Skeletons Deployment Plan Descriptor (.cdp) Component CIDL Definitions CIDL Compiler Component & Home Properties (Source du Schéma: Object Implementations Language Tools Servants, Executors, Contexts realizes Deployment Planning Tools Component Domain Descriptor (.cdd) Deployment Planning Component DLLs Component Interface Descriptors (.ccd) Component Package Descriptors (.cpd) realizes realizes Component & Home Properties Packaging Tools Component Package Descriptors (.cpd) Assembly Tools Component Implementation Descriptor (*.cid) Tutorial on CCM, Douglas C. Schmidt) uses Implementation Artifact Descriptors (.iad) Monolithic Component Description Component Implementation Descriptors (.cid) Component Assembly Descriptors Component & Home Properties Application Assembly

21 Développement d une application CCM CCM définit plusieurs rôles Concepteur de composants - Définit les fonctions du composant et ses collaborations (clients, autres comps.) - Spécifications des ports fournis et requis Programmeur de composants - Développe l implantation du composant (utilise les APIs fournies et générées) - Spécifie les métadonnées du composant («component descriptors») Créateur de paquetages - Construit les paquetages, groupant la logique et les métadonnées du composant Assembleur de composants - Sélectionne les implantations, spécifie leur configuration et met en place les connexions (via des descripteurs d assemblage «assembly descriptors») Responsable de déploiement de système - Instanciation de l exécutif sur différents nœuds de la plate-forme répartie 24 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

22 Définition de composants CCM Utilisation de types IDL 3 page 25 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

23 Modèle de composant CORBA (CCM) Un composant CCM possède: Un ou plusieurs interfaces (ports) - facette, réceptacle, événement Une fabrique (home) Un composant CCM est déclaré en IDL3 (extension d IDL 2) Traduction IDL3 IDL2 Ex: component Hello{ }; Un composant CCM possède une référence de base L équivalent de IOR pour un objet CORBA 26 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

24 OMG IDL2 et IDL3 Chaque construction de IDL3 a une construction IDL2 Composants et Homes sont vues par l application au travers de la projection CCM vers IDL Permet : - de ne pas modifier la projection IDL, - de construire CCM indépendamment d une implantation CORBA précise, En construisant CCM au dessus de CORBA Une partition CCM peut interagir avec une partition non-ccm en appelant les interfaces déduites (IDL2) 27 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

25 Conception de composants Les interfaces IDL2 sont préservées Ajout de nouveaux mots-clés (IDL3) pour CCM À chaque construction correspond une construction IDL2 Un composant est une unité de composition/déploiement Encapsulation d implantation + configuration Hérite d autres composants, supporte plusieurs interfaces // IDL 3 interface foo { void bar (); }; component foo_comp supports foo {}; interface A {}; interface B {}; component D supports A, B{}; component E : D {}; // Equivalent IDL 2 interface foo_comp : Components::CCMObject, foo {}; 28 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

26 Facette CCM Facette - une interface fournie par un composant CCM Fournit un point de vue sur un composant Permet aux clients d avoir des points de vue différents sur un comp. Possède une référence et correspond à une interface IDL interface FacadeClient {... }; interface FacadeAgent {... }; interface FacadeAdmin {... }; component GestionCompte { provides FacadeClient fcli; provides FacadeAgent fagent; provides FacadeAdmin fadmin; }; Méthodes de navigation/recherche (par clé) de facettes Patron de conception «Extension Interface» 29 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

27 Réceptacle CCM Réceptacle une interface requise par un composant CCM Permet de créer des liens entre composants (point de connexion) Deux types de connexions: simples ou multiples Les connexions peuvent se faire: Statiquement déclarations dans les configurations de déploiement Dynamiquement appel des méthodes de connexion et de déconnexion interface CompteCheques {... }; interface CompteEpargne {... }; component GestionCompte{ uses multiple CompteCheques cmpchqs; uses CompteEpargne cmpeprg; }; 30 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

28 Evénement CCM Ports de réception/émission d événements asynchrones Deux types de ports : producteur/consommateur (ou source/puits ) Deux types de producteurs : 1-1 et 1-n Les clients s abonnent à des types d événements Modèle de communication de type push (seulement) Compatible avec les COSEvent et COSNotification eventtype PlusDeMonnaie{ } component CompteCheques{ emits PlusDeMonnaie pdm; // 1-1 publishes notif_out; // 1-n consumes notif_in; }; 31 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

29 Fabrique & Recherche CCM («Home») Gestionnaire du cycle de vie d un type de composant Gère les instances d un composant Offre des outils de recherche d instances basés sur des clés Représente l équivalent du COSLifeCycle au niveau d IDL3 component GestionCompte{ }; valuetype KeyGestionCompte : PrimaryKeyBase { long identifiant; }; exception ClientInconnu {}; home HomeDeGestionnaires manages GestionCompte primarykey KeyGestionCompte { }; factory creegestionnaire( in long clientid ); finder trouvegestionnaire( in long clientid ) raises ( ClientInconnu ); 32 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

30 L Architecture du containeur CCM & le CIF 33 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

31 Container CCM Canevas standard du serveur CCM Etend le POA: cycle de vie des composants (activation/désactivation) gestion/optimisation des ressources Assure un accès simplifié aux COS: Sécurité, Transactions, Persistance, Evénements Utilise des callbacks pour gérer les instances des composants Ex: état de session, activation, désactivation, page 34 J. Hugues, A. Diaconescu - INFRES INF346 Basé sur le modèle CORBA

32 E x t e r n a l I n t e r f a c e s APIs Externes et Internes du Container Container Component Home CORBA Component Callback Interfaces APIs Externes Interfaces offertes aux clients Internal Interfaces POA APIs du Container Interfaces internes Interfaces de Call-Back (Source du Schéma: Tutorial on CCM, Douglas C. Schmidt) 35 J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

33 CCM Executors & Home Executors Implantent un composant et son home Deux modes d implantation Monolithique: - attributs, interfaces, facettes, puits sont implantés par une unique classe Segmenté: - plusieurs classes, par dérivation de ExecutorLocator Container Main Component Component Executor Specific Context Executors Executors Executors EnterpriseComponent Servant CCMContext CCMContext POA Le Container intercepte les invocations vers l Exécuteur pour prendre en charge l activation, la sécurité, etc. L Exécuteur fourni une interface de Call-back qui sera ensuite appelée par le Containeur L Exécuteur peut interagir avec son Container et avec d autres composants connectées via une interface de contexte page 36 J. Hugues, A. Diaconescu - INFRES INF346

34 Containeur CCM vue d ensemble Container Component Home F a c e t s E v e n t S i n k s COMPONENT EXECUTORS I n t e r n a l I n t e r f a c e s E v e n t S o u r c e s Component Reference Container Component Home Callback Interfaces C o m p o n e n t C o n t e x t C o m p o n e n t C o n t e x t R e c e p t a c l e s E v e n t S o u r c e s R e c e p t a c l e s Component Reference F a c e t s E v e n t S i n k s COMPONENT EXECUTORS I n t e r n a l I n t e r f a c e s Callback Interfaces POA POA ORB Transaction Persistent Security Notification COMPONENT SERVER 1 COMPONENT SERVER 2 (Source du Schéma: Tutorial on CCM, Douglas C. Schmidt) 37 J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

35 Connecter Composants et Containers CIDL Component Implementation DL IDL2 définit les interfaces fonctionnelles IDL3 permet de les grouper en composants (facettes, ) CIDL définit la connexion entre composants et container syntaxe proche de IDL définit les composants pris en charge par le container associé à PSDL (Persistent State Definition Language): permet de définir les zones de stockages pour les composants persistents Séparation des préoccupations, permet de générer le code de l enveloppe du container Code pour les servants CORBA qui prennent en charge la partie «administrative» du composant Génération d un fichier IDL pour les différents Exécuteurs page 38 J. Hugues, A. Diaconescu - INFRES INF346

36 Fonctions de base de CIDL Description des compositions (composants) Choix du cycle de vie d un composant (service, session, entity, process) Nom de la composition Nom du home executor pour le mode monolithique Type du home implanté Nom de la classe de l Executor composition <category> <composition name> home executor <home executor name>{ implements <home type>; manages <executor name>; }; }; page 39 J. Hugues, A. Diaconescu - INFRES INF346

37 Types de Composant CCM Composant Service a un comportement; mais n a pas d état et d identité modélise des éléments qui offrent l exécution indépendante des opérations (ex: command) Composant Session a un comportement et un état «transient»; mais n a pas d identité persistante modélise des sessions client (ex: login, shopping card) Composant Entity a un comportement et un état persistent; accessible aux clients via une clé primaire («primary key») modélise des éléments métier (ex: client, compte) Composant Process a un comportement et un état persistent (invisible aux clients); a une identité persistante accessible aux clients via des opérations spécifiques (définies par le développeur) modélise des processus métier (ex: procédure de paiement) 40 J. Hugues, A. Diaconescu - INFRES INF346

38 Le Processus de Compilation OMG CIDL User written Compiler Generated files 41 J. Hugues, A. Diaconescu - INFRES INF346

39 OMG CIDL & PSDL Compilation Process User written Compiler Generated files 42 J. Hugues, A. Diaconescu - INFRES INF346

40 Implantation des composants CCM page 43 INF346/2010, CCM v1.1

41 Client-side mapping Dans l hypothèse où on souhaite s en tenir aux différents fichiers IDL2 générés: utilisation du modèle CORBA pour interagir avec les composants On est «client» des composants Un composant = une interface IDL comme une autre.. Mais: complexe à manipuler Patrons réguliers de code: fabrique, tables de noms (mais pénible à mettre en place) A n utiliser que dans des cas bien particuliers, quand les performances deviennent critiques Par exemple un client léger avec peu de mémoire page 44 J. Hugues, A. Diaconescu - INFRES INF346

42 «classic» client example HelloWorld C++ #include <CORBA.h> #include <mico/cosnaming.h> #include "hello.h" int main (int argc, char *argv[]) { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); CORBA::Object_var obj = orb->resolve_initial_references ("NameService"); CosNaming::NamingContextExt_var nc = CosNaming::NamingContextExt::_narrow (obj); obj = nc->resolve_str ("HelloHome"); HelloHome_var hh = HelloHome::_narrow (obj); HelloWorld_var hw = hh->create (); hw->message ("Hello World"); hw->configuration_complete (); hw->sayhello (); hw->remove (); return 0; } 45 J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

43 Server-side mapping et CIF - Component Implementation Framework On souhaite implanter un composant On tire partie de la régularité du container CORBA pour générer une grande partie du code automatiquement CIF définit un modèle de programmation pour implanter les composants Objectif: faciliter l implantation Le développeur : implante seulement la partie métier Le container : activation, gestion des ports, introspection, persistence, sécurité, À charge du développeur d implanter les fonctions pour construire les composants, la partie métier, et la manière de gérer les homes On se place dans un cadre où il «suffit» d implanter certaines classes bien identifiées dans le mapping 46 J. Hugues, A. Diaconescu - INFRES INF346

44 Server-side architecture de conteneurs («containers») - 1/2 Figure provenant du document «CORBA Components», OpenCCM - Copyright 2002, Laboratoire d Informatique Fond de Lille ; Copyright Object Management Group, Inc. 47 J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

45 Server-side architecture de conteneurs («containers») 2/2 L Executor et le Context d un containeur CCM Figure provenant du document «CORBA Component Model Tutorial», OMG CCM Implementers Group, J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

46 Processus de construction d application CCM IDL IDL Compiler CIDL CIDL Compiler Stub Skel Servants Executors IDL Compiler Executor IDL Impl XML Component Descriptors GENERATED INHERITED page 49 J. Hugues, A. Diaconescu - INFRES INF346

47 Configuration et déploiement page 50 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

48 CCM Deployment & Configuration (D&C) D&C a été adopté par l OMG en 2003 Il supporte Les assemblages hiérarchiques La gestion des ressources Qualité de Service Déploiement automatisé Chercher à supprimer le verrou de l implantation - c-à-d être lié à une implantation 51 J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

49 D&C & Model-Driven Architecture (MDA) MDA fait partie de l effort de l OMG autour de l ingénierie orienté modèle D&C suit ce modèle Modèle de déploiement abstrait (PIM) Instancié en un PSM pour CCM Basé sur une projection pour définir Fichiers IDL & XML pour le déploiement Il définit aussi un processus complet pour renseigner chaque modèle PIM: Platform-Independent Model PSM: Platform-Specific Model 52 J. Hugues, A. Diaconescu - INFRES INF346

50 Etapes du déploiement de CCM Spécification & Implantation Définition et implantation des fonctionnalités de l application sous forme de composants Packaging Regrouper les modules binaires et méta-données formant chaque composant Installation Mise en place des composants dans un dépôt dédié (e.g. référentiel d implantation) Configuration Configuration des paquetages avec les paramètres remplissant les besoins fonctionnels et non fonctionnels du systèmes Planification Affectation des ressources d exécution (CPU, réseau) à chaque composant Préparation Téléchargement des fichiers Démarrage Démarrage ordonné de tous les composants, jusqu au point où ils peuvent interagir Application des politiques de QoS Suivi et réaction pour garantir la QoS de bout-en-bout 53 J. Hugues, A. Diaconescu - INFRES INF346

51 Métadonnées produites / utilisées par D&C Component Interface Descriptor (.ccd) Interface, ports, & propriétés Implementation Artifact Descriptor (.iad) DLLs, OS, etc. Component Package Descriptor (.cpd) Implantation alternatives de composants Package Configuration Descriptor (.pcd) Top-level Package Descriptor (package.tpd) Component Implementation Descriptor (.cid) Relations entre composants 54 J. Hugues, A. Diaconescu - INFRES INF346

52 Métadonnées produites / utilisées par D&C Component Packages (.cpk) Un paquetage, ou un assemblage Component Domain Descriptor (.cdd) Décrit les ressources (nœuds, connexion, ressources) Deployment Plan Descriptor (.cdp) Projection d une application configurée vers un domaine Toutes ces données sont définies via un méta-modèle, exporté en XML Coût non négligeable à l exécution 55 J. Hugues, A. Diaconescu - INFRES INF346

53 Outils D&C Exploitent les diverses méta-données Packaging > Assemblages > Déploiement Une partie est embarqué avec le serveur CCM Deployment Plan Descriptor (. cdp ) Component Interface Descriptors (. ccd ) realizes Deployment Planning Tools Component Package Descriptors (. cpd ) Component & Home Properties Component Domain Descriptor (. cdd ) 56 J. Hugues, A. Diaconescu - INFRES INF346

54 Déploiement et configuration Étapes canoniques, après lecture du plan de déploiement par le serveur CCM NodeApplicationManager construit une NodeApplication, qui Instancie containers et composants Qui créent et enregistrent les homes, les composants et les connectent, en appelant les fonctions de call-back implantées par l utilisateur 57 J. Hugues, A. Diaconescu - INFRES INF346

55 Autres modèles & Conclusion INF346/2010, CCM v1.1

56 De CCM à Lightweight CCM Les spécifications CORBA couvrent un large domaine, qui entre en conflit avec les besoins spécifiques en puissance de calcul de cibles spécifiques: calcul scientifique, embarqué, temps réel Un sous-ensemble de CORBA CCM permet de supprimer plusieurs phases dans le traitement d une requête, la mise en place du déploiement, etc Lw-CCM définit ce sous-ensemble, il est complété par CORBA/e qui réduit le modèle objet CORBA sous-jacent Lw-CCM conserve les éléments clés du modèle: composant, facettes, homes, containers Il supprime tous les mécanismes dynamiques tels que l introspection, la persistance qui sont couteux à l exécution page 59 J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

57 CCM et autres modèles basé composants Enterprise Java Beans (EJB) Solution Java pour les composants, antérieur à CCM Modèle similaire, mais fortement couplé à Java Peu de visibilité sur le cœur de l exécutif CCM définissent une passerelle vers EJB.NET, DCOM Reprend la plupart des concepts de CCM Moins de politiques de configuration, de support pour la distribution Limité à Windows page 60 J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

58 Conclusion Les modèles de répartition ne résolvent qu une partie des besoins des applications réparties. Les évolutions d un système doivent aussi être prise en compte dans les mécanismes supportés. L approche composant vise à fournir le niveau d abstraction suffisant pour séparer interfaces, implantation et déploiement sur une architecture physique. CCM fournit ce modèle, en étendant le modèle objet de CORBA CORBA Implementation Framework (CIF) définit les mécanismes à prendre en compte, au niveau exécutif, et non fonctionnel OMG D&C fournit les mécanismes pour configurer l exécutif et déployer les composants Les implantations montrent que le coût à l exécution est élevé Travaux pour limiter l impact du cœur CORBA, en général sous-utilisé Utilisation de DDS à la place du cœur CORBA envisagé page 61 J. Hugues, A. Diaconescu - INFRES INF346/2010, CCM v1.1

59 Bibliographie page 62 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

60 Références The CCM ressource page (maintenue par Diego Sevilla Ruiz) "Tutorial on the Lightweight CORBA Component Model (CCM) - Dr. Douglas C. Schmidt Introduction: "Middleware - CORBA Component Model (CCM)", - Prof. Lionel Seinturier 63 CCM - CORBA Component Model ada.diaconescu@telecom-paristech.fr

61 Références (2) Livres CORBA 3 Fundamentals and Programming, John Siegel, John Wiley & Sons Internet OMG CCM specification - CCM resource page - (Diego Sevilla Ruiz) - Tutoriaux - Douglas Schmidt Introduction au CCM : - Philippe Merle Cas d Etude CCM (dîner des philosophes) : Articles - «Writing and Using CORBA Components», Frank Pilhofer, «The CORBA Component Model», Steve Vinoski, 2004 plusieurs parties Implantations Component Integrated ACE ORB (CIAO), basée sur TAO MICO CCM, OpenCCM, OW2, page 64 J. Hugues, A. Diaconescu - INFRES INF346

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

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

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

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

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

NSY102. Conception de logiciels Intranet Introduction

NSY102. Conception de logiciels Intranet Introduction Conception de logiciels Intranet Introduction Cnam Paris jean-michel Douin, douin au cnam point fr 6 Février 2009 Une Introduction 1 Sommaire Introduction Généralités Tendances historique API & Intergiciel

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

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

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

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

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

Intergiciel - concepts de base

Intergiciel - concepts de base Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

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

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

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

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

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

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

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

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

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

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

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

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

Intergiciels pour la répartition CORBA : Common Object Request Broker. Patrice Torguet torguet@irit.fr Université Paul Sabatier

Intergiciels pour la répartition CORBA : Common Object Request Broker. Patrice Torguet torguet@irit.fr Université Paul Sabatier Intergiciels pour la répartition CORBA : Common Object Request Broker Patrice Torguet torguet@irit.fr Université Paul Sabatier Plan du cours 2 Introduction à CORBA Architecture de l ORB Implémentation

Plus en détail

Composants logiciels Exemples : Java Beans, Enterprise Java Beans

Composants logiciels Exemples : Java Beans, Enterprise Java Beans Composants logiciels Exemples : Java Beans, Enterprise Java Beans Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Introduction : évolution

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

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

Java Naming and Directory Interface

Java Naming and Directory Interface Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard

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

Meta Object Facility. Plan

Meta Object Facility. Plan Meta Object Facility Gestion de «meta objets» & meta meta modélisation Xavier Le Pallec Plan 1 Auteur : MOF : généralités L OMG en 1997-1998. Acteur principal DSTC : Centre Recherche sur les Systèmes distribués

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Architectures n-tiers Intergiciels à objets et services web

Architectures n-tiers Intergiciels à objets et services web Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 Clementine.nebut@lirmm.fr Introduction Architectures classiques

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

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

Introduction aux intergiciels

Introduction aux intergiciels Introduction aux intergiciels M. Belguidoum Université Mentouri de Constantine Master2 Académique M. Belguidoum (UMC) Introduction aux intergiciels 1 / 39 Plan 1 Historique 2 Pourquoi l'intergiciel? 3

Plus en détail

Intégration de systèmes

Intégration de systèmes Intégration de systèmes Préparé par: Marc Barassi, Michel Fraser, Louis Martin, Martin Simoneau Collaboration spéciale: François Boucher et Richard Boutin 3/18/14 Intégration de systèmes «L ensemble des

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

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

Introduction à la conception de systèmes d information

Introduction à la conception de systèmes d information Introduction à la conception de systèmes d information 2008-2009 M1 MIAGE SIMA / M1 Informatique MIF17 Yannick Prié UFR Informatique - Université Claude Bernard Lyon 1 Objectifs de ce cours Présentation

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

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

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

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

Evaluation Idéopass Cahier d analyse technique

Evaluation Idéopass Cahier d analyse technique Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005

Plus en détail

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1 SysCom - CReSTIC Université de Reims 17/02/2011 1 Motivation Gestion des expérimentations Avec les workflows Simulation Simulation des Systèmes Distribués ANR USS SimGrid Campagne de Test et gestion de

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

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

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Cahier des charges (CDC)

Cahier des charges (CDC) Cahier des charges (CDC) PTella Auteur Arnaud Aucher - Ecole Centrale Groupe PT1 3 Nom du document Version 3 Page 1 / 5 Sommaire Sommaire... 2 Présentation générale du projet... 3 1. Descriptif du projet...

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels Classeur de suivi de l auditeur Architecture et Ingénierie des Systèmes et des Logiciels 04/12/2012 2 Sommaire Introduction... 4 Objectifs... 4 Méthodologie... 4 Coordonnées... 5 Curriculum vitae de l

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

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

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

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

Famille IBM WebSphere Application Server

Famille IBM WebSphere Application Server IBM Famille IBM Le socle applicatif qui répond à vos besoins métier Points clés Bâtir un socle solide et réduire les coûts avec un serveur d applications répondant à vos besoins métier Gagner en agilité

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

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

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

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

1.2 Genèse. 1.3 Version de Designer utilisée

1.2 Genèse. 1.3 Version de Designer utilisée Designer et l ingénierie du logiciel Notions élémentaires P.-A. Sunier, ISNet Neuchâtel avec le concours de C. Kohler et P. Ferrara 1 Propos liminaires... 1 1.1 Objectifs de publication... 1 1.2 Genèse...

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

L approche Model-Driven Architecture, crédible pour développer un progiciel de

L approche Model-Driven Architecture, crédible pour développer un progiciel de ÉCOLE DOCTORALE SYSTÈMES L approche Model-Driven Architecture, crédible pour développer un progiciel de gestion intégré Mémoire de DEA Systèmes Industriels Tuteur : Paul Gaborit Xavier Moghrabi Année universitaire

Plus en détail

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en détail

JOnAS Day 5.1. Outils de développements

JOnAS Day 5.1. Outils de développements JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction

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

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes

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

Modèle d Administration des Systèmes Distribués à Base de Composants.

Modèle d Administration des Systèmes Distribués à Base de Composants. Institut National des Sciences Appliquées de Lyon THESE Pour obtenir le grade de Docteur de l Institut National des Sciences Appliquées de Lyon Préparée au laboratoire : CITI Dans le cadre du projet :

Plus en détail

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Problématiques de recherche. Figure Research Agenda for service-oriented computing Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements

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

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

Java Aspect Components (JAC) http://jac.objectweb.org

Java Aspect Components (JAC) http://jac.objectweb.org Java Aspect Components (JAC) JAC http://jac.objectweb.org 2 Lionel Seinturier Lionel.Seinturier@lip6.fr Université Pierre & Marie Curie 23/2/06 Un framework de programmation par aspect pour Java Projet

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

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

PRESENTATION D ADOBE LIVECYCLE ES4

PRESENTATION D ADOBE LIVECYCLE ES4 PRESENTATION D ADOBE LIVECYCLE ES4 Informations juridiques Informations juridiques Pour les informations juridiques, voir http://help.adobe.com/fr_fr/legalnotices/index.html. iii Sommaire Chapitre 1 :

Plus en détail

Le passage à l échelle de serveur J2EE : le cas des EJB

Le passage à l échelle de serveur J2EE : le cas des EJB Le passage à l échelle de serveur J2EE : le cas des EJB Sylvain Sicard, Noël De Palma, Daniel Hagimont CFSE 4 5-8 Avril 2005 LSR 1 Plan de la présentation 1. Architecture de serveur J2EE en grappe 2. Problématique

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

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

Diagrammes de Package, de déploiement et de composants UML

Diagrammes de Package, de déploiement et de composants UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

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

Applications des patrons de conception

Applications des patrons de conception MAI NFE103 Année 2013-2014 Applications des patrons de conception F.-Y. Villemin, CNAM! http://deptinfo.cnam.fr/enseignement/cyclespecialisation/mai/index.html Plan! Java Beans*! Patron "Modèle-vue-contrôleur"

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

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

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement distribué Éric Leclercq Département IEM / Laboratoire LE2i Septembre 2014

Plus en détail

Service d'annuaire Active Directory

Service d'annuaire Active Directory ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Service d'annuaire Active Directory DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Description

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

ADAPTATION DES APPLICATIONS REPARTIES A BASE DE COMPOSANTS AUX TERMINAUX MOBILES EN ENVIRONNEMENT SANS FIL

ADAPTATION DES APPLICATIONS REPARTIES A BASE DE COMPOSANTS AUX TERMINAUX MOBILES EN ENVIRONNEMENT SANS FIL ADAPTATION DES APPLICATIONS REPARTIES A BASE DE COMPOSANTS AUX TERMINAUX MOBILES EN ENVIRONNEMENT SANS FIL Nabil Kouici, Denis Conan et Guy Bernard GET / INT, CNRS Samovar 9 rue Charles Fourier, 91011

Plus en détail

MEAD : temps réel et tolérance aux pannes pour CORBA

MEAD : temps réel et tolérance aux pannes pour CORBA MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006 Plan 1 Introduction 2 Solutions existantes 3 Concilier

Plus en détail

Dafoe Présentation de la plate-forme UIMA

Dafoe Présentation de la plate-forme UIMA Laboratoire d Informatique de l université Paris-Nord (UMR CNRS 7030) Institut Galilée - Université Paris-Nord 99, avenue Jean-Baptiste Clément 93430 Villetaneuse, France 11 juillet 2007 Plates-formes

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail