NFP111 Systèmes et Applications Réparties



Documents pareils
CORBA. (Common Request Broker Architecture)

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

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

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

CORBA haute performance

Software Engineering and Middleware A Roadmap

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

Le modèle client-serveur

Mise en œuvre des serveurs d application

Programmation répartie: Objet distribué. CORBA (Common Object Request Broker Architectur)

Messagerie asynchrone et Services Web

Conception des systèmes répartis

Urbanisme du Système d Information et EAI

Remote Method Invocation en Java (RMI)

Introduction aux applications réparties

Meta Object Facility. Plan

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

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

Intégration de systèmes

Etude critique de mécanismes de sécurité pour l architecture Jini

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Le moteur de workflow JBPM

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Les Architectures Orientées Services (SOA)

Module BD et sites WEB

Introduction aux intergiciels

Patrons de Conception (Design Patterns)

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

INDUSTRIALISATION ET RATIONALISATION

Compte Rendu d intégration d application

Intergiciel - concepts de base

Cours Bases de données

Remote Method Invocation (RMI)

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

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

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

GEI 465 : Systèmes répartis

e-business, EAI et Business Intelligence Le triptyque gagnant profondément les structures des organisations et par conséquence

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Conception et réalisation d un système d instrumentation distribuée basé sur l architecture Jini

Environnements de Développement

1. Introduction à la distribution des traitements et des données

Description de la formation

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN :

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Évaluation et implémentation des langages

UE 8 Systèmes d information de gestion Le programme

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

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

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

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

Evaluation Idéopass Cahier d analyse technique

Cours CCNA 1. Exercices

Sécurisation des architectures traditionnelles et des SOA

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

Services Réseaux - Couche Application. TODARO Cédric

NSY102. Conception de logiciels Intranet Introduction

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Information utiles. webpage : Google+ : digiusto/

BUSINESS INTELLIGENCE

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Conception, architecture et urbanisation des systèmes d information

Introduction aux «Services Web»

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

Programmation de services en téléphonie sur IP

Le cadre des Web Services Partie 1 : Introduction

Travail collaboratif. Glossaire

Hébergement de sites Web

Projet Active Object

RMI le langage Java XII-1 JMF

Groupe Eyrolles, 2004 ISBN :

Contribution à l allocation dynamique de ressources pour les composants expressifs dans les systèmes répartis

2 Chapitre 1 Introduction

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

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

1.Introduction - Modèle en couches - OSI TCP/IP

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

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

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

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

Cisco Certified Network Associate

CQP Développeur Nouvelles Technologies (DNT)

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Quel ENT pour Paris 5?

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Visual Paradigm Contraintes inter-associations

Programmation Web Avancée Introduction aux services Web

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

White Paper - Livre Blanc

LES OUTILS DU TRAVAIL COLLABORATIF

Workflow et Service Oriented Architecture (SOA)

Architectures web/bases de données

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

Moderniser. le système d information et le portefeuille applicatif.

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Annuaires LDAP et méta-annuaires

Transcription:

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 - BP 540 76058 LE HAVRE CEDEX Courriel : Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/

NFP111 Systèmes et Applications Réparties 2 de 34 Vision globale de la construction d applications réparties (1/2) L Object Management Group (OMG) : un consortium international crée en 1989. But : définir les spécifications d architectures distribuées et ouvertes : Regroupe plus de 850 acteurs du monde informatique : des constructeurs (HP, IBM, Sun,...) des producteurs logiciels (Netscape, Inprise/Borland, IONA,...) des utilisateurs (Bœing, Alcatel,...) des institutions et des universités Standards pour l intégration d applications distribuées hétérogènes à partir des technologies orientées objets.

NFP111 Systèmes et Applications Réparties 3 de 34 Vision globale de la construction d applications réparties (2/2) Les propriétés fontamentales : la réutilisabilité l interopérabilité la portabilité des objets logiciels L élément clef est CORBA (Common Object Request Broker Architecture) : Middleware orienté objet Plus précisément, c est un bus à objets répartis : offre un support d exécution masquant les couches bases du système répartis (système d exploitation, processeur et réseau). prends en charge les communications entre les logiciels formant les applications réparties hétérogènes.

NFP111 Systèmes et Applications Réparties 4 de 34 objet (1/5) CORBA propose un modèle de coopération :, Abstrait, Orienté objet. Chaque application peut exporter : certaines de ses fonctionalités (services), sous la forme d objets CORBA : c est la composante d abstraction (structuration) du modèle. Les interactions entre applications : au moyen d invocations à distance des méthodes des objets. La notion de client/serveur n intervient qu uniquement lors de l utilisation d un objet : l application implantant l objet est le serveur, l application utilisant l objet est le client.

NFP111 Systèmes et Applications Réparties 5 de 34 objet (2/5) Interface de l objet Référence de l objet Requête Bus CORBA Objet CORBA Activation Code d implantation Etat de l objet Application Cliente Application Serveur

NFP111 Systèmes et Applications Réparties 6 de 34 objet (3/5) Application cliente : programme qui invoque les méthodes des objets à travers le bus CORBA. Référence de l objet : structure désignant l objet CORBA et contenant l information nécessaire pour le localiser sur le bus. Interface de l objet : type abstrait spécifiant l objet par ses méthodes et ses attributs, se définit au moyen du langage IDL. Requête : le mécanisme d invocation d une méthode ou d un accès à un attribut de l objet.

NFP111 Systèmes et Applications Réparties 7 de 34 objet (4/5) Bus CORBA : achemine les requêtes de l application cliente vers l objet en masquant tous les problèmes d hétérogénéité (langages, systèmes d exploitation, matériels, réseaux). Objet CORBA : objet logiciel cible (entité virtuelle gérée par le bus CORBA). Activation : processus d association d un objet d implantation à un objet CORBA. Implantation : code de l objet CORBA à un instant donné, gère un état de l objet temporaire. Au cours du temps, un même objet CORBA peut-être associé à des implantations différentes.

NFP111 Systèmes et Applications Réparties 8 de 34 objet (5/5) Code d implantation : regroupe les traitements associés à l implantation de l objet CORBA. Par exemple, une classe Java ou un ensemble de fonctions C. Application serveur : structure d accueil des objets d implantation et des exécutions des opérations : un processus Unix par exemple.

NFP111 Systèmes et Applications Réparties 9 de 34 (1/4) Objets applicatifs Interfaces de domaine Utilitaires communs Spécifiques Santé Télécoms Finance DataWare Workflow IHM Administration Bus d objets répartis Nommage Vendeur Sécurité Relations Collections Temps Licence Externalisation Interrogations Cycle Transations Propriétés Persistance Evénements de vie Changements Concurrence Services objet communs

NFP111 Systèmes et Applications Réparties 10 de 34 (2/4) L OMG propose une vision globale de la construction d applications réparties. Classifier les différents objets qui interviennent dans une application en fonction de leurs rôles : Le bus à objet répartis est l élément fondamental : assure le transport des requêtes entre tous les objets CORBA, offre un environnement d exécution masquant l hétérogénéité liée aux langages de programmation, aux systèmes d exploitation, aux processeurs et aux protocoles réseaux.

NFP111 Systèmes et Applications Réparties 11 de 34 (3/4) Les services objets communs (CORBAservices) Fournissent sous formes d objets CORBA, spécifiés grâce au langage IDL, les fonctions systèmes nécessaires à la plupart des applications réparties. L OMG a défini des services pour les annuaires, le cycle de vie des objets, les relations entre les objets, les événements, les transactions, la sécurité, la persistance, etc. Au fur et à mesure des besoins, ajoute des nouveaux services communs. Les utilitaires communs (CORBAfacilities) : Ils sont des canevas d objets ou frameworks qui répondent plus particulièrement aux besoins des utilisateurs. Ils standardisent l interface utilisateur, la gestion de l information, l administration, le workflow,...

NFP111 Systèmes et Applications Réparties 12 de 34 (4/4) Les interfaces de domaines (Domain Interfaces) : Définissent des objets métiers spécifiques à des domaines d activité : par exemple la finance, la santé (dossier médical) ou les télécoms. Leur objectif est d assurer l interopérabilité sémantique entre les systèmes d informations d entreprises d un même métier («Business Object Framework» = BOFs). Les objets applicatifs (Application Objects) : Spécifiques à une application, ils ne sont donc pas standardisés. Toutefois, dès que le rôle de ces objets apparaît dans plus d une application, ils peuvent alors rentrer dans une des catégories précédentes et donc être standardisés par.

NFP111 Systèmes et Applications Réparties 13 de 34 Caractéristiques du bus à objets (1/2) Le bus CORBA est un intermédiaire à travers lesquels les objets vont pouvoir dialoguer : Liaison avec les langages de programmation : C, C++, JAVA, SmallTalk, Ada, COBOL, etc. Transparences des invocations : les requêtes aux objets semblent toujours être locales, le bus CORBA se charge de les acheminer. Invocation statique et dynamique : 2 mécanismes permettent de soumettre les requêtes aux objets en statique, les invocations sont contrôlées à la compilation, en dynamique, les invocations doivent être contrôlées à l exécution.

NFP111 Systèmes et Applications Réparties 14 de 34 Caractéristiques du bus à objets (2/2) Système auto-descriptif : les interfaces des objets sont connues du bus et sont aussi accessibles par les programmes par l intermédiaires d un référentiel d interfaces. Activation automatique et transparente des objets : les objets sont en mémoire uniquement s ils sont utilisés par des applications clientes. L interopérabilité entre bus : à partir de la norme CORBA 2.0, définition d un protocole générique de transport des requêtes (GIOP = General Inter-ORB Protocol) permettant l interconnexion de bus CORBA provenant de fournisseurs différents, une de ses instanciations est l Internet Inter-ORB Protocol (IIOP) fonctionnant au dessus de TCP/IP.

NFP111 Systèmes et Applications Réparties 15 de 34 Les composantes du BUS (1/3) Client Fournisseur SII DII Interface BUS SSI DSI Adaptateur d Objets OA Object Request Broker Référentiel Interfaces IFR Référentiel Implantations ImpIR

NFP111 Systèmes et Applications Réparties 16 de 34 Les composantes du BUS (2/3) ORB (Object Request Broker) : noyau de transport des requêtes Intègre au minimum les protocoles de transport GIOP et IIOP. L interface du BUS fournit les primitives de base comme l initialisation de l ORB. SII (Static Interface Invocation) : interface d invocation statique permet de soumettre des requêtes contrôlées à la compilation des programmes. DII (Dynamic Interface Invocation) : interface d invocations dynamiques permet de construire dynamiquement des requêtes vers n importe quel objet CORBA sans générer ou utiliser une interface SSI. IR (Interface Repository) : référentiel des interfaces contient une représentation des interfaces OMG-IDL accessibles par les applications durant l exécution.

NFP111 Systèmes et Applications Réparties 17 de 34 Les composantes du BUS (3/3) SSI (Skeleton Static Interface) : interface de squelettes statiques permettant à l implantation des objets de recevoir les requêtes qui leur sont destinées. générée comme l interface SII. DSI (Dynamic Skeleton Interface) : interface de squelettes dynamiques permet d intercepter dynamiquement toute requête sans générer une interface SSI. équivalent à DII mais coté serveur. OA (Object Adapter) : adaptateur d objets crée les objets CORBA. maintient les associations entre les objets CORBA et les implantations. réalise l activation automatique si nécessaire ImpIR (Implementation Repository) : référentiel des implantations contient l information nécessaire à l implantation. ce référentiel est spécifique à chaque application CORBA.

NFP111 Systèmes et Applications Réparties 18 de 34 Construction d un bus CORBA Différentes approches peuvent être utilisées pour construire un bus : 1 bus = 1 processus : les objets sont dans le même espace mémoire que les clients. C est le cas typique des applications embarquées. 1 bus = 1 OS : les clients et les fournisseurs sont des processus différents sur la même machine. 1 bus = 1 réseau : les processus sont sur des sites différents et les requêtes sont véhiculées à travers le réseau (Internet avec IIOP). Fédération de bus CORBA : Plusieurs bus distincts peuvent être mis ensemble pour former une fédération. Les communications entre ces bus peuvent se faire : soit par le protocole commun IIOP, soit à travers des passerelles spécifiques ou génériques (Exemple : DII DSI).

NFP111 Systèmes et Applications Réparties 19 de 34 Les protocoles réseaux (1/2) Tout bus à la norme CORBA 2.0 doit fournir les protocoles GIOP et IIOP. Le protocole GIOP définit : une représentation commune des données (CDR ou Common Data Representation). un format de références d objet interopérable (IOR ou Interoperable Object Reference). un ensemble de messages de transport des requêtes aux objets (Request Reply,...). GIOP est seulement un protocole générique, IIOP fournit alors une implantation de GIOP au dessus de TCP/IP.

NFP111 Systèmes et Applications Réparties 20 de 34 Les protocoles réseaux (2/2) Les IORs utilisés avec IIOP doivent contenir : Le nom complet de l interface IDL de l objet. L adresse IP de la machine où est localisé l objet. Le port IP pour se connecter au serveur de l objet. Une clé pour désigner l objet dans le serveur : son format est libre et il est différent pour chaque implantation du bus CORBA. Un bus CORBA peut utiliser d autres protocoles de transport des requêtes aux objets : bus multi-protocoles permettant d avoir simultanément des communications en IIOP, en UDP-IIOP et en multicast-iiop.

NFP111 Systèmes et Applications Réparties 21 de 34 Les services communs Objectif : standardiser les interfaces des fonctions systèmes indispensables à la construction et à l exécution de la majorité des applications réparties.

NFP111 Systèmes et Applications Réparties 22 de 34 La recherche d objets Offrir des mécanismes pour rechercher dynamiquement des objets sur le BUS (équivalents à des annuaires téléphoniques) Nommage (Naming Service) est l équivalent des «pages blanches» : les objets sont désignés par des noms symboliques. Cet annuaire est matérialisé par un graphe de répertoires de désignation. Vendeur (Trader Service) est l équivalent des «pages jaunes» : les objets peuvent être recherchés en fonction de leurs caractéristiques/fonctionnalités.

NFP111 Systèmes et Applications Réparties 23 de 34 Le cycle de vie des objets (1/4) Cycle de Vie (Life Cycle Service) : Décrit des interfaces pour la création, la copie, le déplacement et la destruction des objets sur le bus. Définit pour cela la notion unique de fabrique d objets «Object Factory». Propriétés (Property Service) : Permet aux utilisateurs d associer dynamiquement des valeurs nommées à des objets. Ces propriétés ne modifient pas l interface IDL mais représentent des besoins spécifiques aux clients (annotations ou méta-données par exemple). Relations (Relationship Service) : Sert à gérer des associations dynamiques (appartenance, inclusion, références, auteur, etc.) reliant des objets sur le BUS.

NFP111 Systèmes et Applications Réparties 24 de 34 Le cycle de vie des objets (2/4) Externalisation (Externalization Service) : Mécanisme standard pour fixer ou extraire des objets du bus. Persistance (Persistent Object Service) : Stocker des objets sur un support persistant. Quel que soit le support utilisé ce service s utilise de la même manière via un «Persistent Object Manager». Un objet persistant doit hériter de l interface «Persistent Object» et d un mécanisme d externalisation.

NFP111 Systèmes et Applications Réparties 25 de 34 Le cycle de vie des objets (3/4) Interrogation (Query Service) : Permet d interroger les attributs d un objet. Repose sur les langages standards d interrogation (SQL 3 ou OQL). L interface QUERY permet de manipuler les requêtes comme des objets CORBA. Les objets résultats sont enregistrés dans une collection. Collections (Collection Service) : Permet de manipuler d une manière uniforme des objets sous la forme de collections et d itérateurs.

NFP111 Systèmes et Applications Réparties 26 de 34 Le cycle de vie des objets (4/4) Changements (Versionning Service) : Permet de gérer et de suivre l évolution des différentes versions des objets. Maintient des informations sur les évolutions des interfaces et des implantations. Pas encore complètement spécifié officiellement.

NFP111 Systèmes et Applications Réparties 27 de 34 La sécurité Sécurité (Security Service) : Permet d authentifier les clients, de chiffrer et de certifier les communications. Minimum = IIOP sur Secure Socket Layer (SSL). Transactions (Object Transaction Service) : Assure l exécution des traitements transactionnels impliquant des objets distribuées et des bases de données en fournissant les propriétés ACID (Atomicité, Consistance, Isolation, Durabilité. Concurrence (Concurrency Service) : Fournit les mécanismes pour contrôler et ordonnancer les invocations concurrentes sur les objets.

NFP111 Systèmes et Applications Réparties 28 de 34 Les communications synchrones et asynchrones (1/2) La coopération des objets CORBA à un mode de communication client/serveur synchrone. Il existe des services assurant des communications asynchrones. Événements (Event Service) : Permet aux objets de produire des événements asynchrones à destination d objets consommateurs au travers de canaux d événements. Les canaux fournissent deux modes de fonctionnement : mode push : le producteur a l initiative de la production, le consommateur est notifié des événements. mode pull : le consommateur demande explicitement les événements, le producteur est alors sollicité.

NFP111 Systèmes et Applications Réparties 29 de 34 Les communications synchrones et asynchrones (2/2) Notification (Notification Service) Une extension du service précédent : Les consommateurs sont uniquement notifiés des événements les intéressant. Messagerie (CORBA Messaging) : Modèle de communication asynchrone Permet de gérer des requêtes persistantes. Utiles lorsque l objet appelant et l objet appelé ne sont pas présents simultanément sur le bus (mobilité?). Cela permet d avoir des fonctionnalités proches des MOMs (Message Oriented Middleware).

NFP111 Systèmes et Applications Réparties 30 de 34 Les autres services Temps (Time Service) : Fournit des interfaces permettant d obtenir une horloge globale sur le bus (Universal Time Object), Mesurer le temps et de synchroniser les objets. Licences (Licensing Service) : Permet de contrôler l utilisation des objets.

NFP111 Systèmes et Applications Réparties 31 de 34 Les interfaces de domaines Parallèlement aux services, cherche à définir des canevas d objets dédiés à des secteurs d activité (ou métiers) ou à des besoins applicatifs transverses à des métiers. Groupes de travail nommés selon les cas : Working Groups, Domain Task Forces ou Special Interest Groups.

NFP111 Systèmes et Applications Réparties 32 de 34 Groupes de travail (1/3) Business Objects DTF standardise les méthodologies et les technologies pour la conception d applications métiers. Workflow Workgroup travaille sur les outils CORBA pour les applications de gestion de flux de travail et les activités coopératives au sein des entreprises. C4I DSIG fait la promotion de CORBA au sein des organismes et administrations liés à la défense en jouant un rôle pédagogique. End User SIG travaille en relation avec les utilisateurs finaux à fin de déterminer leurs besoins, de connaître leurs expériences. CORBAmed pour le domaine de la médecine pour permettre l interopérabilité entre les acteurs de la santé.

NFP111 Systèmes et Applications Réparties 33 de 34 Groupes de travail (2/3) Life Sciences Research DTF groupe dédié à l utilisation de CORBA par les instituts de recherche dans les sciences de la vie. Electronic Financial Commerce pour les applications de commerce électronique. Financial Services DTF domaine de la finance/banque. Telecom DTF fait la liaison entre le monde CORBA et le monde des télécommunication. Internet Platform SIG travaille sur les rapprochements des technologies CORBA avec les technologies d Internet.

NFP111 Systèmes et Applications Réparties 34 de 34 Groupes de travail (3/3) Manufacturing DFT tente de combler le fossé entre les technologies OMG et les besoins des industries. Realtime SIG réfléchit sur la prise en compte des aspects temps réel au sein du bus CORBA. Distributed Simulation SIG adresse les problèmes liés à la simulation distribuée et à son exécution sur un bus CORBA. Test SIG doit définir les méthodologies, les outils, et les protocoles pour automatiser les tests d applications réparties CORBA. Object Model Working Group travaille sur l unification des modèles orientés objet en vue de créer un standard plus généraliste que celui proposé actuellement par CORBA. UML Revision Task Force travaille sur le langage UML standardisé par (http ://www.omg.org/uml/).