390 likes | 879 Views
Présentation de CORBA et de IIOP. Présentation de CORBA et de IIOP. Introduction Avantages et Inconvénients Exemple d’application. Qui a crée CORBA?. CORBA a été créé par l’Object Management Group (OMG). Pourquoi CORBA ?. Limites des modèles: Client-serveur traditionnel
E N D
Présentation de CORBA et de IIOP • Introduction • Avantages et Inconvénients • Exemple d’application
Qui a crée CORBA? • CORBA a été créé par l’Object Management Group (OMG).
Pourquoi CORBA ? • Limites des modèles: • Client-serveur traditionnel • Architecture 3 tiers
Objectif de l’OMG • Définir un standard (norme) d’architecture distribuée idéale, reposant sur la programmation orientée objet.
Concept fondamental • CORBA (Common Object Request Broker Architecture) Middleware orienté objet.
Le bus CORBA • Notion de bus logiciel (ORB) • L’Object Request Architecture (ORB) est un bus logiciel permettant le dialogue entre les objets serveurs et les différents clients qui s’y connectent.
Les modules stub et skeleton • L’ORB assure sa fonction grace à 2 modules spécifiques: • Souche (stub) côté client • Squelette (skeleton) côté serveur
Le langage IDL • Le langage IDL (Interface Definition Language) permet d’exprimer, sous la forme de contrats IDL, la coopération entre les fournisseurs et les utilisateurs de services. • L’IDL permet de définir les méthodes et les attributs associés aux objets que l’on souhaite partager sur le réseau.
Fichier IDL Compilateur IDL Stub (partie client) Classe à implémenter Skeleton (partie serveur) Le langage IDL
IIOP • Interopérabilité: faire communiquer les différents ORB du marché (il existe plusieurs dizaines d’ORB). => protocole IIOP (Internet Inter-ORB Protocol) • IIOP:standard qui ne dépend ni des langages, ni des OS, ni de l’infrastructure matérielle. • IIOP est la spécialisation adapté à TCP/IP d’un protocole plus général baptisé GIOP.
L’architecture CORBA Les avantages de CORBA Les inconvénients de CORBA Tendances
Les avantages de CORBA • Le choix du fournisseur • Offre large d’ORB sur le marché • Diversité des services fournis • Performances et fonctionnalités
Données Service De notification Service De nommage Service De transaction Objets IIOP ORB ORB Les avantages de CORBA • L’interopérabilité complète Le protocole de communication IIOP Client IIOP
Les avantages de CORBA • L’intégration aux systèmes existants • Le protocole IIOP se base sur TCP/IP • Encapsulation du code utilisé • Existence de passerelles entre les serveurs d’objets
Les avantages de CORBA • Flexibilité du développement • Utilisation des interfaces
Les inconvénients de CORBA • Difficulté de mise en œuvre des applications • Développement bas niveau • Le processus de spécification est long
Les inconvénients de CORBA • Coût de développement cher • Les L4Gs du Client Serveur sont privilégiés
Les inconvénients de CORBA • CORBA ne contient pas de services d’administration • CORBA n’offre pas les services : • Tolérance aux pannes • Équilibrage de charges
Tendances • Apparition de Java • Les EJBs
Architecture CORBA • Domaines d’applications • Mise en place d’une application répartie CORBA
Domaines d’applications • Commerce électronique • Système bancaire • Pilotage des appareils via Internet
Oscilloscope Serveur Machine à piloter Pilotage des appareils via Internet Site client n°1 Site client n°2 Site client n°3
Mise en place d’une application répartie CORBA • Coté serveur écriture de l’interface de l’objet IDL Compilation et Implémentation de l’IDL Réalisation du serveur CORBA • Coté client Implémentation du client Réalisation du client • Compilation de l’application
Coté serveur • Écriture de l’IDL
Coté serveur • Compilation de l’IDL Génération de deux modules module skeleton qui représente de notre objet module stub utilisée par la partie cliente • implémentation Le but de l’implémentation:création de la classe objet
Coté serveur • Réalisation du serveur corba
Coté client • Implémentation du client • Copie du fichier IDL • Initialiser l’ORB : ORB_Init( ) • Connexion à l’objet : Bind( ) • Utilisation : appel des méthodes
Coté client • Réalisation du client