CORBA. (Common Request Broker Architecture)



Documents pareils
NFP111 Systèmes et Applications Réparties

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

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

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

CORBA haute performance

Patrons de Conception (Design Patterns)

Software Engineering and Middleware A Roadmap

Le modèle client-serveur

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

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

Le cadre des Web Services Partie 1 : Introduction

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

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

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

2 Chapitre 1 Introduction

Introduction aux intergiciels

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

Intergiciel - concepts de base

Mise en œuvre des serveurs d application

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Remote Method Invocation (RMI)

Meta Object Facility. Plan

Evaluation Idéopass Cahier d analyse technique

GEI 465 : Systèmes répartis

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

Architectures web/bases de données

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

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

Module BD et sites WEB

Nouvelles Plateformes Technologiques

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

Programmation Web Avancée Introduction aux services Web

BES WEBDEVELOPER ACTIVITÉ RÔLE

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

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

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

Compte Rendu d intégration d application

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Systèmes d'informations historique et mutations

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

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

INDUSTRIALISATION ET RATIONALISATION

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

4. SERVICES WEB REST 46

RMI le langage Java XII-1 JMF

Oracle 8i sous Linux

Hébergement de sites Web

Environnements de Développement

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

DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE

Gouvernez les flux de données au sein de votre entreprise pour une meilleure flexibilité

Haka : un langage orienté réseaux et sécurité

Groupe Eyrolles, 2004 ISBN :

Business Process Execution Language

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

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

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

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

Architecture Orientée Service, JSON et API REST

Messagerie asynchrone et Services Web

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

Conception, architecture et urbanisation des systèmes d information

Offre Référentiel d échange

Cours Base de données relationnelles. M. Boughanem, IUP STRI

SQL Server Installation Center et SQL Server Management Studio

La gestion du poste de travail en 2011 : Panorama des technologies

Remote Method Invocation en Java (RMI)

OPC Factory Server- Réglage des paramètres de communication

L architecture des services Web

Introduction aux «Services Web»

Introduction à CORBA

Programmation par composants (1/3) Programmation par composants (2/3)

10. Base de données et Web. OlivierCuré

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

La démarche SOA et l interopérabilité applicative

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

1 DHCP sur Windows 2008 Server Introduction Installation du composant DHCP Autorisation d'un serveur DHCP...

Java et les bases de données

Introduction à. Oracle Application Express

Rappel sur les bases de données

Annuaires LDAP et méta-annuaires

Urbanisme du Système d Information et EAI

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

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

Compétences fonctionnelles et techniques

Sécurisation des architectures traditionnelles et des SOA

Eric Bertrand 08/11/06 Maître de conférence 1

CAHIER DES CHARGES D IMPLANTATION

Sécurité des applications Retour d'expérience

Microsoft Exchange en quelques mots

Rebol, un langage «différent»

Intégration de systèmes

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

Transcription:

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, interagissant et se promenant librement sur un réseau Assemblage facilité Interopérabilité Portabilité Coexistence ORB ORB UNIX MS Windows MAC OS Application existante La notion de composant est essentielle : un composant est un objet autonome prêt à être branché sur des réseaux, des applications, des outils. Ainsi, un composant minimal se caractérise par les notions suivantes Brique logicielle réutilisable, prête à l emploi et qui ne dépend d aucune application élément logiciel binaire et prêt à l emploi destiné à exécuter un ensemble limité de tâches dans un domaine particulier interopérabilité (composants qui interagissent sans à priori se connaître) interface pour permettre à l extérieur d accéder aux services du composant Les objets métier sont des super composants rendant des services particulier pour un métier donné Projet MIAGe Toulouse Groupe 2 2

CORBA, introduction (2/4) Le développement d applications à base de composants apporte de multiples avantages. D un point de vue conceptuel, les principaux sont les suivants class EuroImpl { // le code } le développeur dispose de composants d origines diverses qui peuvent interagir facilement l utilisateur peut créer ses propres applications avec des scripts et des composants le commercial peut vendre des suites taillées sur mesures Projet MIAGe Toulouse Groupe 2 3

CORBA, introduction (3/4) CORBA est un middleware orienté objet spécifié par l OMG (Object Management Group) CORBA est une spécification d une architecture distribuée d objets hétérogènes qui coopèrent via un bus logiciel CORBA permet à un ensemble d objets distribués d interopérer CORBA fournit une vision unique d une architecture distribuée dans des environnements hétérogènes Machine A Objet 1 Objet 2 Machine B Objet 3 Objet 4 Machine C Objet 5 Objet 6 ORB Projet MIAGe Toulouse Groupe 2 4

Les points clés CORBA, introduction (4/4) masquer l hétérogénéité des langages de programmation, des systèmes d exploitation, des machines, assurer l interopérabilité entre composants, entre fournisseurs multiples langage commun, l IDL bus logiciel, l ORB modèle Client Serveur orienté objet L architecture ouverte proposée par l OMG, l OMA (Object Management Architecture), peut se résumer ainsi Domain Services Objets applicatifs ORB CORBA Services CORBA Facilities Projet MIAGe Toulouse Groupe 2 5

L IDL La base de l interopérabilité de CORBA est que les spécifications sont basées sur des interfaces écrites dans un langage neutre, l IDL (Interface Definition Language) module Convertisseur { interface Euro { attribute double taux; double toeuro(in double devise); }; }; L IDL est un langage purement déclaratif qui permet de décrire le contrat que le composant offre au monde extérieur C++ VB JAVA Implémentation IDL IDL IDL Interface Client Projet MIAGe Toulouse Groupe 2 6

L ORB (1/6) L ORB (Object Request Broker) est le négociateur de requêtes à objets autrement dit le bus à objets, qui fournit un ensemble très riche de services de middleware réparti il établit les relations entre objet, indépendamment de la localisation de ces derniers il permet donc aux composants de se découvrir, les uns les autres et d interagir La notion de Client Serveur est relative à une situation donnée. Pour l ORB, un objet peut être ou client ou serveur selon les besoins. Client Serveur Application Implémentation API de CORBA API de CORBA appel de méthode résultat Noyau de l ORB Projet MIAGe Toulouse Groupe 2 7

L ORB (coté client) (2/6) La structure d un ORB «coté client» en CORBA 2.0 peut être schématisée ainsi CLIENT Référentiel d interfaces Appel dynamique DII Souches (stubs) client en IDL Interfaces(API) de l ORB Noyau de l ORB Projet MIAGe Toulouse Groupe 2 8

L ORB (coté client) (3/6) Les souches (stubs) fournissent les interfaces statiques des services objet du serveur. Pour chaque objet distant, le client doit posséder la souche correspondante à l objet. Grâce à cette souche, l encodage (et le décodage) de l appel d une méthode (avec ses paramètres) pourra être réalisé (marshaming) et envoyé au serveur Les appels dynamiques se font grâce aux interfaces à appel dynamique (DDI), qui permettent donc de découvrir la méthode à exécuter au moment de l exécution Les Référentiel d interfaces est une «base de données» qui contient toutes les versions exécutables (versions binaires) des interfaces définies en IDL. Des API de CORBA permettent d accéder à ces métadonnées (données décrivant un composant) Les interfaces de l ORB sont des API permettant d accéder à certains services de l ORB (transformation d une référence d objet en son nom en clair par exemple) Projet MIAGe Toulouse Groupe 2 9

L ORB (coté serveur) (4/6) La structure d un ORB «coté serveur» en CORBA 2.0 peut être schématisée ainsi Implémentation d objets sur le serveur Référentiel d implémentation Adaptateur d objets Squelettes du serveur Squelettes dynamiques (DSI) Interfaces (API) de l ORB Noyau de l ORB Projet MIAGe Toulouse Groupe 2 10

L ORB (coté serveur) (5/6) Les squelettes (skeletons) du serveur ont le même rôle que les stubs : elles décrivent en IDL les services fournies par le serveur Les appels dynamiques se font via les interfaces de squelettes dynamiques (DSI) : elles permettent l appel de méthodes pour des composants serveur qui ne possèdent pas de skeletons Le référentiel d implémentation contient l ensemble des classes supportées par le serveur, les objets en mémoire et leurs OIDs (Object IDentifier) Les interfaces de l ORB ont le même rôle que chez le client L adaptateur d objet (BOA, POA, ) se situe au dessus du noyau de l ORB : c est lui qui va traiter les demandes d appels de méthodes. Pour ce faire, il fournit un environnement d exécution pour créer les instances des objets sur le serveur. L adaptateur va également enregistrer les objets dans le Référentiel d implémentations Projet MIAGe Toulouse Groupe 2 11

L ORB (coté serveur) (6/6) L adaptateur d objet (OA, Object Adaptater) fournit un environnement complet pour que les instances d objets puissent vivre sur le serveur. Son principal rôle est d associer une requête portant sur un objet référencé au code spécifique qui doit servir la requête Toute machine voulant être un serveur d objets doit posséder au moins un adaptateur d objets Plusieurs types d OA ont été spécifiés BOA (Basic OA) avant CORBA 2.2 POA (Portable OA) après CORBA 2.2 etc, Un OA réalise principalement les actions suivantes 6) Appel de méthodes Implémentation d objets 1 2 3) Attribution et gestion des OID Référentiel d implémentations 1) Enregistrement des classes serveur dans le référentiel Squelette 1 Squelette 2 2) Instanciation d objets Noyau de l ORB 5) Traitement des requêtes entrantes 4) Information des services disponibles Projet MIAGe Toulouse Groupe 2 12

Architecture inter-orb L OMG a définit des standards pour faire communiquer 2 ORB. Les 2 protocoles principaux sous CORBA sont les suivants GIOP (General Inter-ORB Protocol) est situé au dessus de tout protocole de transport : ce protocole spécifie comment deux ORB peuvent communiquer IIOP (Internet Inter-ORB Protocol) est une spécialisation de GIOP au dessus de TCP/IP et permet d acheminer des messages au «format GIOP» entre 2 machines Machine-1 ORB Machine-2 ORB GIOP GIOP Présentation IIOP TCP/IP Transport Projet MIAGe Toulouse Groupe 2 13

CORBA Services CORBA fournit un ensemble de services au niveau système. Ces services sont proposés sous forme de composants Ces services viennent enrichir les services de base de l ORB Entre autres, les services suivants sont disponibles cycle de vie : gestion de la création, copie, suppression, des composants sur le bus persistance : stockage des composants, nommage : localisation des composants par leurs noms en clair etc, Projet MIAGe Toulouse Groupe 2 14

Common Facilities Les utilitaires communs (Common Facilities) sont des composants qui fournissent des services directement utilisables par les objets métier. Ces services sont encore appelés canevas applicatifs, par opposition aux services de base, appelés canevas système On peut citer les services suivants gestion de l information avec par exemple la gestion des documents composites services d administration avec notamment les gestion des composants répartis etc, Projet MIAGe Toulouse Groupe 2 15

Business Object Les objets métier (Business Objet) sont les briques applicatives que l on va utiliser pour assembler des applications Les objets métier sont la partie «utile» d un point de vue de l utilisateur final : ces objets métier se servent des services présentés ci-avant ORB Bus à objet Services objet Utilitaires communs Objets métier Projet MIAGe Toulouse Groupe 2 16

Références Les cours du DESS MIAGe de l Université Paul Sabatier de Toulouse (M r DESPRATS T. et M r STEFF Y.) DANIEL J., Au Coueur de CORBA, Vuibert BONJOUR M., FALQUET G., GUYOT J., LE GRAND A., Java : de l esprit à la méthode, Vuibert NICOLAS C., AVARE C., NALMAN F., Java 1.1, Eyrolles Projet MIAGe Toulouse Groupe 2 17