CORBA (Common Request Broker Architecture)

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Module 5 : Implémentation de l'impression
SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
La Gestion de la Configuration
Retour sur RMI.
ORB (1/2) ORB : Object Request Broker
Architecture CORBA réseau Objet Corba Application Serveur
Objets Distribués Chronique d ’une invasion annoncée
Architectures Orientées Services
Object Management Architecture (OMA)
L’architecture .net et ASP.net
Reference Model of Open Distributed Processing
Architecture de réseaux
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Cours 2 : Les Web Services Concepts Généraux

CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Introduction aux services WEB
Active Directory Windows 2003 Server
Etude des Technologies du Web services
Communiquer avec ELYX.
XML-Family Web Services Description Language W.S.D.L.
le profil UML en temps réel MARTE
Programmation Approche composants Ing5 SI
Configuration de Windows Server 2008 Active Directory
CAT 2000 LES MIDDLEWARES Présenté par : Tagmouti Siham Smires Ali
.Net Remoting.
Interopérabilité JOnAS - CORBA
Gestion des bases de données
Introduction au paradigme orienté-objet (suite)
Programmation concurrente
1 1 Corba avec Java et C Jean-Marc Vanel Transiciel - Sogeti.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Vue d'ensemble Présentation du rôle du système DNS dans Active Directory Système DNS et Active Directory Résolution de noms DNS dans Active Directory.
Introduction au bus CORBA
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Adaptée du cours de Richard Grin
Sensibilisation a la modelisation
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
SGBD orientés Objet Standards : OMG et ODMG.
Introduction.
Présentation de CORBA et de IIOP
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
CORBA Un concept de l ’OMG Mathieu Estival Biomédical, 3°Année.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
A LA RECHERCHE D'UNE OFFRE D'EMPLOI
Cycle de développement iup MIAGe 3° année Projet MIAGe Toulouse – Groupe 21 CORBA.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
UML : un peu d’histoire H. Lounis.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Les sockets.
Les RPC remote procedure call
France Télécom R&D Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Iup MIAGe 3° année Projet MIAGe Toulouse – Groupe 21 Charte graphique.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Initiation à Oracle Server
Web Services 17/01/2009.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Architecture Client/Serveur
Cycle de développement avec Inprise JBuilder 4.0 iup MIAGe 3° année Projet MIAGe Toulouse – Groupe 21 JBuilder 4.0 et CORBA.
Java Remote Method Invocation
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Windows NT/2000/XP Enjeux et contraintes techniques
Transcription de la présentation:

CORBA (Common Request Broker Architecture) iup MIAGe 3° année 2000 - 2001 CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse – Groupe 2 1

CORBA, introduction (1/4) iup MIAGe 3° année 2000 - 2001 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é ORB Portabilité MS Windows UNIX MAC OS Coexistence Application existante ORB 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 élément logiciel binaire et prêt à l’emploi destiné à exécuter un ensemble limité de tâches dans un domaine particulier Brique logicielle réutilisable, prête à l’emploi et qui ne dépend d’aucune application 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) iup MIAGe 3° année 2000 - 2001 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) iup MIAGe 3° année 2000 - 2001 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

CORBA, introduction (4/4) iup MIAGe 3° année 2000 - 2001 CORBA, introduction (4/4) Les points clés 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

Projet MIAGe Toulouse – Groupe 2 6 iup MIAGe 3° année 2000 - 2001 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 IDL IDL IDL C++ VB JAVA Implémentation Interface Client Projet MIAGe Toulouse – Groupe 2 6

Projet MIAGe Toulouse – Groupe 2 7 iup MIAGe 3° année 2000 - 2001 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 Application API de CORBA Serveur Implémentation 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) iup MIAGe 3° année 2000 - 2001 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) iup MIAGe 3° année 2000 - 2001 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) iup MIAGe 3° année 2000 - 2001 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 Squelettes dynamiques (DSI) Adaptateur d’objets Squelettes du serveur Interfaces (API) de l’ORB Noyau de l ’ORB Projet MIAGe Toulouse – Groupe 2 10

L’ORB (coté serveur) (5/6) iup MIAGe 3° année 2000 - 2001 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) iup MIAGe 3° année 2000 - 2001 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 1) Enregistrement des classes serveur dans le référentiel Implémentation d’objets 1 2 Référentiel d’implémentations 6) Appel de méthodes 3) Attribution et gestion des OID 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 iup MIAGe 3° année 2000 - 2001 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 IIOP TCP/IP Machine-1 ORB GIOP Machine-2 Présentation Transport Projet MIAGe Toulouse – Groupe 2 13

Projet MIAGe Toulouse – Groupe 2 14 iup MIAGe 3° année 2000 - 2001 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

Projet MIAGe Toulouse – Groupe 2 15 iup MIAGe 3° année 2000 - 2001 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

Projet MIAGe Toulouse – Groupe 2 16 iup MIAGe 3° année 2000 - 2001 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

Projet MIAGe Toulouse – Groupe 2 17 iup MIAGe 3° année 2000 - 2001 Références Les cours du DESS MIAGe de l’Université Paul Sabatier de Toulouse (Mr DESPRATS T. et Mr 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