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

Introduction au bus CORBA Chapitre2 du livre Corba : des concepts à la pratique.

Présentations similaires


Présentation au sujet: "Introduction au bus CORBA Chapitre2 du livre Corba : des concepts à la pratique."— Transcription de la présentation:

1 Introduction au bus CORBA Chapitre2 du livre Corba : des concepts à la pratique

2 Boucif Amar Bensaber Historique de CORBA Objectif: définir des standards pour lintégration dapplications distribuées fondés sur trois concepts: La réutilisation des composants; Linteropérabilité; La portabilité. Cest lOMG (Object Management Group) qui a décidé de se baser sur le modèle objet et ses mécanismes. Le travail de lOMG a consisté à : 1. Définir une architecture globale dintégration de services orientés objets 2. La rédaction des spécifications de CORBA

3 Boucif Amar Bensaber Le bus CORBA Les objets du serveurs communiquent avec les clients (interface) par le bus CORBA. Permet entre autre lhétérogénéité des langages de programmation, des systèmes dexploitation et du matériel informatique. Les interfaces sont conçues à laide du langage IDL (Interface Definition Language) Repose sur larchitecture OMA (Object Management Architecture)

4 Boucif Amar Bensaber Le modèle objet de CORBA Cest un modèle objet de type client/serveur. Référence de lobjet Implantation de lobjet Interface de lobjet Application cliente Code dimplantation Application serveur Objet CORBA Bus CORBA Activation Référence+ opération +arguments Exception ou résultats+arguments

5 Boucif Amar Bensaber Concepts de ce modèle objet Lapplication cliente Écrite avec un langage de notre choix; Cest elle qui utilise les objets distribués par le/les serveur(s). La référence de lobjet Cest une structure de données; Contient linformation nécessaire à la désignation de/des objet(s) (local ou distant) par le bus CORBA. Pointeur ou adresse réseau de la machine

6 Boucif Amar Bensaber Concepts de ce modèle objet Linterface de lobjet Cest la déclaration des méthodes et des propriétés dune instance de lobjet CORBA (Signature) Elle est développée à laide du langage IDL. La requête Mécanisme dappel à distance sur lobjet CORBA; Les informations nécessaires (nom de la méthode, paramètres, etc.) sont transportées sur le bus CORBA jusquà lobjet.

7 Boucif Amar Bensaber Concepts de ce modèle objet Lobjet CORBA Composant logiciel qui reçoit les requêtes; Naccepte que celles décrites dans son interface. Le processus dactivation Associe un objet dimplantation à lobjet CORBA; Charger en mémoire un exécutable binaire charger de traiter les requêtes Permet de disposer de millions dobjets alors que quelques uns seulement sont actifs.

8 Boucif Amar Bensaber Concepts de ce modèle objet Limplantation de lobjet Cest une entité qui code un objet CORBA; Stocke le statut/état de lobjet CORBA et fournit une réalisation pour chaque opération de lobjet; Cest une instance dune classe en C++, JAVA ou SmallTalk. Peut aussi être un objet dune base de données. Le code dimplantation Classe habituelle codée en C++, JAVA ou Eiffel; Regroupé dans des exécutables binaires, des bibliothèques...

9 Boucif Amar Bensaber Concepts de ce modèle objet Lapplication serveur Habituellement un processus exécuté par le système dexploitation; Permet de stocker le contexte dobjets.

10 Larchitecture globale de lOMG

11 Boucif Amar Bensaber Architecture globale de lOMG Bus dobjets répartis (ORB) Gestion des tâches Administration du système Gestion de linformation Interface utilisateur Télécom Finance Santé Concurrence daccès TransactionsÉvénementsLicences Vendeur Changements Sécurité TempsRelations Interrogations Cycle de vie Externalisation NommagePersistancePropriétésCollections Objets Applicatifs Interfaces de Domaines Utilitaires Communs Services objet communs Spécifiques

12 Boucif Amar Bensaber Les 4 catégories de composants 1. Le bus dobjets répartis 2. Les services objets communs 3. Les utilitaires communs 4. Les interfaces de domaines

13 Boucif Amar Bensaber Larchitecture de lOMG Le bus dobjets répartis (ORB) Assure le transport des requêtes entre les objets distribués; Cest lui qui masque les problèmes dhétérogénéité (langages, systèmes, format interne des données). Les services objets communs Fonctions de bases du système CORBA; Cycle de vie, transaction, sécurité, etc.

14 Boucif Amar Bensaber Larchitecture de lOMG Les utilitaires communs Les fonctions communes à plusieurs applications; Linterface, la gestion, ladministration du système, etc. Les interfaces de domaine Objets adaptés à plusieurs domaines précis; Objets de métier adaptés aux spécificités dun métier La santé, la finance, les télécommunications, etc. LOMG standardise ces objets réutilisables via les interfaces de domaine

15 Boucif Amar Bensaber Larchitecture OMG Les objets applicatifs Non standardisé par lOMG; Objets personnalisés par et pour un organisme; Décrit par le langage IDL Si ces objets répondent aux besoins de plusieurs entreprises dun même marché ou dun même secteur économique, ils sont standardisés par des interfaces de domaines.

16 Le bus dobjets répartis CORBA

17 Boucif Amar Bensaber Le bus dobjets répartis (ORB) Cest le cœur de larchitecture OMA Il est appelé négociateur ou transitaire de requête objet Les caractéristiques Peut être utilisé par nimporte quel langage de haut niveau (C, C++, Java ou SmallTalk); Choisi le meilleur mode de transport selon la localisation (locale,distante) des objets transparence des invocations : localisation, formats interne Permet des invocations statiques (vérification pendant la compilation) et dynamiques (durant lexécution); Propose plusieurs stratégies dactivations des objets afin doptimiser lutilisation de la mémoire; Un seul serveur est activé quelque soit le nombre de clients Un serveur est activé par client et est désactivé à la déconnexion Un serveur est activé à chaque appel de méthode et est désactivé à la fin de la méthode

18 Boucif Amar Bensaber Le bus dobjets répartis (ORB) Les caractéristiques (suite) Assure la communication entre les différents bus de deux façons: Convertisseur de requêtes Utilisation de protocoles standardisés: General Inter-ORB Protocol (GIOP); Environment specific Inter-ORB Protocol (ESIOP); Internet Inter-ORB Protocol (IIOP).

19 Boucif Amar Bensaber Noyau de lObject Request Broker Adaptateur dObjets Composants du bus CORBA Interface dInvocations Statiques SII Interface dInvocations Dynamiques DII Interface ORB Interface de Squelettes Statiques SSI Interface de Squelettes Dynamique DSI Interface de lAdaptateur dObjets Référentiel des interfaces Référentiel des implantations Clients Serveur (Objets)

20 Boucif Amar Bensaber Larchitecture du bus dobjets répartis (ORB) Contient neufs blocs fonctionnels: 1 - Le noyau de communication; 2 - Linterface dinvocations statiques; 3 - Linterface dinvocations dynamiques; 4 - Le référentiel des interfaces; 5 - Linterface du bus; 6 - Linterface de squelettes statiques 7 - Linterface de squelettes dynamiques 8 - Ladaptateur dobjets 9 - Le référentiel des implantations

21 Boucif Amar Bensaber Le dialogue CORBA : Client, ORB et serveur Application cliente Stub Implémentation de lobjet Skeleton ORB Client Serveur

22 Boucif Amar Bensaber Le référentiel des interfaces Il forme une base de données stockant toutes les définitions IDL des objets du bus : les modules, les interfaces, les opérations, les attributs, les exceptions, les constantes et les types de données Il fournit à une application cliente les méthodes nécessaires à la découverte des informations sur les les éléments quil contient.

23 Boucif Amar Bensaber Le référentiel des implantations Il contient lensemble des informations décrivant limplantation des objets : le nom des exécutables contenant le code des objets, les politiques dactivation Les droits daccès aux serveurs et à leurs objets

24 Boucif Amar Bensaber Identification des objets : IOR Application cliente Stub IOR Implémentation de lobjet Skeleton ORB Client Serveur

25 Boucif Amar Bensaber Ladaptateur dobjets Cest loutil qui permet linteraction entre les objets et les ORB. En réponse aux demandes de lORB, il permet : Dappeler des méthodes standards pour créer et détruire vos objets De déterminer létat dun objet De transmettre à lobjet les demandes émises par les différents clients Dactiver un objet lorsque la demande lui est faite

26 Boucif Amar Bensaber Positionnement du BOA dans larchitecture CORBA Application cliente Stub Implémentation de lobjet Skeleton ORB Client Serveur BOA

27 Boucif Amar Bensaber Implantations possibles du bus dobjets répartis (ORB) Bus processus Les composants du bus sont dans le même espace mémoire afin doffrir des performances optimales dexécution des invocations. Système embarqué (temps réel) Bus système dexploitation Fournit des mécanismes pour transporter les requêtes entre les processus Composantes intégrées dans le noyau du système dexploitation ou processus serveur dédié.

28 Boucif Amar Bensaber Implantations possibles du bus dobjets répartis (ORB) Bus réseau Le noyau de communication utilise une couche transport réseau pour échanger les invocations entre processus; Le protocole IIOP permet même de déployer des objets sur nimporte quel site de lInternet.

29 Boucif Amar Bensaber Linteropérabilité entre bus CORBA 2.0 impose un ensemble de règles et de protocoles permettant à différente implantation du bus de communiquer Deux façons de communiquer entre les différentes implantations du bus: Passerelles de conversion (ou ponts); Utilisation de protocoles communs à CORBA.

30 Boucif Amar Bensaber Linteropérabilité entre bus Ponts spécifiques Utilisation dun pont qui intercepte les requêtes dun bus et les converties pour un autre bus; Se comporte comme un serveur dobjets du premier bus et comme un client du dernier bus (et inversement); Offre des contrôles de sécurité permettant de réaliser un coupe-feu par exemple; Permet aussi la conversion de requêtes entre un bus CORBA et non-CORBA (DCOM de Microsoft par exemple); Multitudes de passerelles à administrer.

31 Boucif Amar Bensaber Linteropérabilité entre bus Demi-ponts génériques Implantation indépendante des protocoles utilisés par les différents bus; La communication entre bus peut se faire par le partage despace mémoire (processus) ou par un des protocoles communs; Les mécanismes dinvocations dynamiques effectues les conversions dun bus vers un autre.

32 Boucif Amar Bensaber Linteropérabilité entre bus Protocoles standardisés Utilisation dune gamme de protocoles instanciés à partir du protocole GIOP. IIOP est le protocole GIOP instancié sur la couche transport TCP/IP par exemple; Utilisation de protocoles spécifiques aux applications distribuées comme ESIOP ou DCE-CIOP qui permettent lappel de procédures à distance.

33 Boucif Amar Bensaber Les protocoles GIOP et IIOP Protocole générique réseau à usage général: GIOP Indépendant des couches transports sous-jacente Implantation simple Adéquat aux réseaux à grande échelle (Internet) : IIOP Faible coût dutilisation (performant); Spécifications génériques.

34 Boucif Amar Bensaber Les protocoles GIOP et IIOP Représentation commune des donnée (CDR) Représenté sous la forme dune suite doctets; Le récepteur effectue un décodage seulement si sa représentation interne des données est différente de celle de lémetteur; Le format de codage de lémetteur est stocké en tête du flux doctets.

35 Boucif Amar Bensaber Les protocoles GIOP et IIOP Références dobjets interopérables (IOR) Plusieurs références existent Une référence doit au moins contenir Le numéro de version de la couche transport acceptée par le serveur de lobjet; Ladresse de la machine destinatrice; La clé qui permet didentifier/localiser lobjet sur le serveur.

36 Boucif Amar Bensaber Les protocoles GIOP et IIOP Format des messages Entête précisant le type de message et son corps ValeurTypeÉmetteur 0RequestClient 1ReplyServeur 2CancelRequestClient 3LocateRequestClient 4LocateReplyServeur 5CloseConnectionServeur 6MessageErrorTous

37 Boucif Amar Bensaber Format des messages Request Invocations dopérations et accès aux attributs dun objet CORBA; Son corps contient la référence de lobjet invoqué, le nom de lopération ou attribut ainsi que la valeur des paramètres en entrée. Reply Message envoyé par le serveur comme réponse à un message request. Contient le résultat de lopération et les paramètres en sortie.

38 Boucif Amar Bensaber Format des messages CancelRequest Le client informe le serveur quil ne désire plus de réponse pour la dernière requête quil avait émise. LocateRequest Détermine si la référence de lobjet (IOR) est valide; Si la référence nest pas valide, il tente de déterminer la nouvelle référence. Pour lactivation automatique dun objet

39 Boucif Amar Bensaber Format des messages LocateReply Réponse du serveur au LocateRequest; Contient un booléen qui détermine sil sagit dun objet local (vrai). Si faux, il contient aussi la référence de lobjet. CloseConnection Indique que le serveur veut fermer la connexion; Aucune réponse ne sera envoyé aux requête en cours. MessageError Réponse à nimporte quelle requête lors dune erreur.

40 Boucif Amar Bensaber Transport des messages Les canaux de communication ou connexions Connexions asymétriques: Le client émet des messages et attends des réponses Le serveur attends des messages et envoie des réponses GIOP impose que la couche transport soit orientée connexion, fiable et ordonnée; La couche transport doit informer les clients lors dun problème réseau.

41 Boucif Amar Bensaber Le protocole IIOP GIOP repose sur le protocole TCP/IP Permet aux applications de dialoguer sur le réseau Internet; Les référence IOR doivent contenir: Le numéro de version du protocole IIOP (act. 1.0); Ladresse de la machine Internet (IP); Le port du canal de communication; La clé permettant de localiser lobjet sur le serveur.

42 Les objets de larchitecture OMA

43 Boucif Amar Bensaber Les objets de larchitecture OMA Propose une classification des objets CORBA selon leurs fonctions dans les applications distribuées; Les catégories sont: Services objet communs; Utilitaires communs; Interfaces de domaines; Objets applicatifs.

44 Boucif Amar Bensaber Les services objet communs Ce sont des ensembles dobjets CORBA spécifiés par des interfaces IDL Fonctionnalités systèmes de bas niveau Consiste de 16 fonctionnalités:

45 Boucif Amar Bensaber Les services Noms: permet de retrouver les objets à partir de noms symboliques. Il est organisé en graphe de répertoires contenant les références sur les objets. Cycle de vie: ensemble doutils pour la gestion dun objet, décrit les interfaces et les opérations IDL pour créer, détruire, copier,..un objet Événements : produit des évènements asynchrones au niveau du serveur. Le client les reçoit par le canal dévénements. Transactions :gère laspect transactionnel en garantissant lintégrité des # objets du système Persistance : prend en charge le stockage et la restauration dobjets de manière stable sur tout type de support Concurrence daccès : fournit les mécanismes de verrous pour contrôler les invocations concurrentes dopérations sur les objets Sécurité :garantir la sécurité dune application : authentification des clients, cryptage, certificats,… Heure : les clients se règlent sur lhorloge du serveur pour se synchroniser

46 Boucif Amar Bensaber Les services objet communs… Un service peut être centralisé, réparti ou dupliqué selon le besoins de lapplication; Ces services ne sont pas encore tous disponible pour certains produit CORBA; Il faut choisir un ORB en fonction des services quil offre en relation avec nos besoins; Les 16 services communs seront expliqués en détail dans un chapitre ultérieur.

47 Boucif Amar Bensaber Les utilitaires communs Fonctionnalités de plus haut niveau Les services assemblés sous forme de canevas de composants logiciels réutilisables 4 canevas dutilitaires communs:

48 Boucif Amar Bensaber Les utilitaires communs Linterface utilisateur Composante pour créer des interfaces homme/machine graphique; Concept multi-fenêtres. Laide en ligne ou vérification de texte entre plusieurs applications Gestion de linformation Modélise linformation pour Son stockage structuré (XML peut être?) Léchange de données, dobjets, de documents entre applications Son codage et représentation.

49 Boucif Amar Bensaber Les utilitaires communs Administration du système Essentiel au bon fonctionnement dun système distribué; Contient les mécanismes pour Administrer les objets répartis; Configurer les objets répartis; Tester les objets répartis; Exécuter les objets répartis; Réparer les objets répartis; Des fonctionnalités qui existent dans le protocole SNMP et CMIP Mets en œuvre la majorité des services objet communs.

50 Boucif Amar Bensaber Les utilitaires communs Gestion des tâches Une tâche est composé dune seule opération ou consultation dun attribut; Outils nécessaire à la gestion: Dagents; Des flux dactivités; Des règles.

51 Boucif Amar Bensaber Les objets de larchitecture OMA Les interfaces de domaines Composantes de haut niveau basés sur les services de base comme les transactions, la sécurité, lévénement,… Objets spécifiques à différents marchés/métiers. Santé, finance, télécommunications, e-commerce

52 Boucif Amar Bensaber Les objets de larchitecture OMA Les objets applicatifs Propre à une entreprise donc ne peuvent être standardisés; Décrit à laide du langage IDL; Ils utilisent les autres services de CORBA ainsi que leur logique propre.


Télécharger ppt "Introduction au bus CORBA Chapitre2 du livre Corba : des concepts à la pratique."

Présentations similaires


Annonces Google