La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

ORB (1/2) ORB : Object Request Broker Middleware qui gère les relations client/serveur entre les objets Définition du concept de Middleware : Courtier.

Présentations similaires


Présentation au sujet: "ORB (1/2) ORB : Object Request Broker Middleware qui gère les relations client/serveur entre les objets Définition du concept de Middleware : Courtier."— Transcription de la présentation:

1 ORB (1/2) ORB : Object Request Broker Middleware qui gère les relations client/serveur entre les objets Définition du concept de Middleware : Courtier dobjets (en Français). Ensemble des logiciels nécessaires pour permettre et organiser la communication et léchange de messages entre client et serveur.

2 ORB (2/2) Composant central du standard CORBA qui gère : +la localisation dobjet +la désignation des objets +lempaquetage des paramètres (marshalling) +le dépaquetage des paramètres (unmarshalling) +linvocation des méthodes +la gestion des exceptions +l activation automatique et transparente des objets De plus, il fournit des caractéristiques telles que : Úla liaison avec « tous » les langages de programmation Úun système auto-descriptif Úl interopérabilité entre les bus

3 Proxies Make Remote Objects Look Local Un proxy est un objet local qui représente un objet distant –Le proxy est automatiquement créé par lORB Le proxy a linterface de lobjet distant –Si lobjet distant est en C++, et le client est en Java, le proxy sera en Java CORBA Software Bus Client Process Server Process proxy implementation

4 Object reference semantics

5 Transparence de localisation des objets Si un objet invoque une opération sur un autre objet CORBA dans le même processus, certaines implémentations peuvent éviter le passage par le réseau. Process AProcess B Machine 1Machine 2 Direct Call Inter-Process Call Network Call (IIOP)

6 Bus Corba : fonctions... ORB Client serveur Référence -> faire(param1,param2,...) réseau Marshaling Unmarshaling faire(param1,param2,...) Return Marshaling Return Unmarshaling

7 Bus Corba C++ Souche Java Souche Smalltalk Souche Ada Souche ORB : Liaison avec « tous » les langages de programmation

8 (O.R.B.) composant TCP/IP network (O.R.B.) composant IIOP (O.R.B.) composant BD IIOP (O.R.B.) Bridge (O.R.B.) IIOP DCE-CIOP (O.R.B.) BD composant DCE network DCE-CIOP Communication inter-ORB RMI/IIOP IIOP

9 IIOP: CORBA and Interoperability CORBA 1.2 provided portability –An application developed for one ORB can be recompiled for another ORB CORBA 2.0 provides interoperability through the IIOP protocol –An object on one ORB can communicate with an object on another ORB mandatory optional CORBA 2.0 General Inter-ORB Protocol (GIOP) Internet Inter-ORB Protocol ( IIOP ) TCP/ IP Environment Specific Inter-ORB Protocol (ESIOP) Other e.g.: OSI IPX/SPX... DCE RPC Above TCP/ IP DCE RPC Above OSI... CORBA IDL Object Request Semantics Message Format Transport

10 Noyau de communication Interface dInvocation Statique Interface dInvocation Dynamique Interface du bus SIIDII ORB SSIDSI OA Interface de Squelettes Statiques Interface de Squelettes Dynamiques Adaptateur dobjet IR Référentiel des interfaces ImplR Référentiel des implantations CORBA : composantes du bus

11 pré-compilateur fichier IDL Client Implémentation dobjet DII Stub client Interface ORB Référentiel des interfaces Rint Référentiel des implémentations Rimp noyau de l Object Request Broker (ORB) SSI DSI SII Adaptateur dObjet Architecture générale Interface de l adaptateur

12 Projection des descriptions OMG-IDL vers les langages dimplantation des clients et serveurs. –mode « statique » Instanciation sous forme dobjets CORBA des descriptions OMG-IDL dans un référentiel des interfaces commun. –mode « dynamique » OMG-IDL : compilation

13 Les clients et serveurs implantent des descriptions OMG-IDL communes, statiquement précisées dans la phase de compilation/projection du source IDL. CORBA : le mode statique Contrat IDL Bus CORBA Squelette IDL Stub IDL Fournisseur d objets Client d objets Les souches générées encapsulent lutilisation du bus, lactivation et la distribution des composants et lhétérogénéité de larchitecture.

14 Invocation statique Client Implémentation dobjet Stub client Adaptateur dObjet ORB noyau squelette statique requête réponse squelette dynamique

15 Un « référentiel des interfaces » stocke sous forme dobjets les descriptions dinterfaces OMG-IDL. Une API (DII: Dynamic Invocation Interface) permet de construire des requêtes à lexécution. Une API (DSI : Dynamic Skeleton Interface) permet de comprendre des requêtes à lexécution. CORBA : le mode dynamique

16 Permet la création dynamique de requêtes API (DII) sans passer par des souches pré-générées; Un objet Request = un nom dopération, une liste de couples valeur - type (au sens de lIR) et une structure pour le résultat invoke send_deferred + get_response, poll_response send_oneway wait invoke get_response send-deferred send_oneWay Interface d'invocation dynamique (1)

17 Interface d'invocation dynamique (2) Utilisation du référentiel des interfaces pour récupérer les informations relatives aux interfaces IDL; Avantages : - les interfaces peuvent être découvertes dynamiquement; - code client générique indépendant d'une interface IDL;.

18 Etapes 1. trouver la référence d un objet 2. recherche et interprétation de son interface dans le référentiel des interfaces; 3. obtenir la description de l opération à invoquer 4. construction d'un objet requête; construire la liste des arguments à transmettre 5. invocation de la requête 6. traiter les résultats retournés. (string_to_object) get_interface -> CORBA::InterfaceDef lookup_name, describe, ….. create_request, ….. invocation dynamique (3)

19 Interface de squelette dynamique Permet de délivrer une requête à un objet implémentation qui est inconnu lors de la phase de compilation Interprète une requête et ses paramètres. Analogue au DII mais du côté serveur. Utiliser pour créer des ponts entre des ORBs de vendeurs différents. Utiliser pour intégrer des applications existantes (legacy application). Les applications peuvent ne pas être conformes aux standard CORBA et peuvent également ne pas être OO.

20 Object Adapter : fonctions Fonctions des Adaptateurs dobjets: 1- Enregistrement des objets implémentation. 2- Génération et interprétation des références d'objets. 3- Activation et désactivation des objets implémentation. 4- Invocation des méthodes à travers les squelettes ou le DSI. 5- Participation à la sécurité Intermédiaire entre le bus et les implantations possibles des objets Proxy Servant POA

21 Interfaces : Portable Object Adapter Interfaces IDL définies dans le module PortableServer : POA : Interface principale côté serveur -quels servants sont instanciés? -Activation/désactivation, destruction des servants -Création de références, … POAManager - Contrôle du flot des requêtes vers plusieurs POAs Servant native Servant; POA Policies (7 interfaces) Servant Managers (3 interfaces) - initialisation paresseuse des servants POACurrent AdapterActivator (Factory dadaptateurs)

22 POA « Pont entre les requêtes arrivants et les objets dimplémentation leur correspondant » Un POA gère les relations entre les références dobjets, les identificateurs et les servants Un serveur peut contenir plusieurs POAs Un POA gère plusieurs servants, tous avec une même politique déterminée par ses « policies » (immuables). Le RootPOA a un ensemble fixé de Policies, il est toujours présent. Un servant est associé à un unique POA.

23 Active Object Map: table des objet actifs via leur ID Adapter activator: objet qui peut créer un POA sur demande Object ID: identification de l'objet au sein de l'adaptateur (unique au sein d'un même adaptateur) POA manager: objet qui contrôle l'état du POA Policy: objet qui contrôle le comportement d'un POA et de ses objets rootPOA: chaque ORB (serveur) est créé avec un POA racine qui permet de créer des POA fils. Servant: code qui implante les méthodes d'un objet. Servant Manager: objet gérant l'association servant-objet Architecture du POA et terminologie

24 POA manager Associé à un POA lors de la création de ce dernier (il ne peut pas être changé) Les états possibles dun POA manager : Active : routage normale des requêtes Holding : Requêtes stockées Discarding : Requêtes rejetées avec TRANSIENT Inactive : Requêtes rejetées ; les clients peuvent être redirigés vers un serveur différent pour ré-essayer. ORB POA Manager Requête Servants Application serveur dispatch III. Corba Adaptateur


Télécharger ppt "ORB (1/2) ORB : Object Request Broker Middleware qui gère les relations client/serveur entre les objets Définition du concept de Middleware : Courtier."

Présentations similaires


Annonces Google