Académique Documents
Professionnel Documents
Culture Documents
Corba FR
Corba FR
UV B : Systme et Applications Rparties Anne 95/96 Laurence Duchien CNAM-CEDRIC, 292, rue st Martin 75141 Paris Cedex 03 tel : 40 27 25 83 e_mail : duchien@cnam.fr http://cedric.cnam.fr/personne/duchien/poly.html
CNAM-CEDRIC
-1-
L.Duchien
Plan
L'OMG- Object Management Group................................................................ 4 Les objets distribus de CORBA............................................................ 5 Tout est dans l'IDL........................................................................... 6 L'objectif de CORBA ........................................................................ 7 L'OMA : Object Manangement Architecture............................................... 8 L'ORB (Object Request Broker)............................................................ 9 ORB Versus RPC............................................................................. 11 Les services objets............................................................................ 12 Les facilits communes....................................................................... 14 Le Modle Objet pour CORBA ...................................................................... 15 La smantique de l'objet ..................................................................... 16 L'implantation de l'objet..................................................................... 18 L'architecture de CORBA ............................................................................ 19 Structure de l'interface de l'ORB ........................................................... 20 Le client........................................................................................ 21 L'implantation objet ct client.............................................................. 22 L'implantation objet .......................................................................... 23 La rfrence d'objet........................................................................... 23 Le talon IDL ct client....................................................................... 24 L'interface d'invocation dynamique (DII) ................................................. 25 L'API du rfrentiel d'interface............................................................. 25 L'interface ORB............................................................................... 26 Le bus ORB (Object Request Brocker core)(1) ........................................... 27 Le bus ORB (Object Request Brocker core)(2) ........................................... 28 Les talons IDL du serveur (skeleton)....................................................... 29 L'interface dynamique (squelette dynamique) (DSI) ..................................... 30 L'adaptateur d'objet .......................................................................... 31 Diffrents adaptateurs d'objets..................................................... 33 Rfrentiels des interfaces et des implantations ........................................... 37 L'interface d'ORB cot serveur.................................................... 38 Le serveur...................................................................................... 39 L'implantation ct serveur.................................................................. 40 L'invocation de mthodes ............................................................................ 41 Quelques exemples d'ORBs.......................................................................... 44 L'interoprabilit....................................................................................... 45 Les ponts entre ORBs................................................................................. 47 L'IDL (langage de dfinition d'interface)........................................................... 48 La structure de l'IDL CORBA............................................................... 49 Un exemple d'IDL............................................................................ 50 Le langage de dfinition de l'interface(IDL) de CORBA................................. 51 L'IDL et l'hritage............................................................................ 52 Exemples IDL et DII (Dynamic Invocation Interface).................................... 53 Le rfrentiel d'interface Corba 2.0......................................................... 54 Les classes du rfrentiel d'interface .............................................. 55 Les services CORBA : le nommage................................................................. 56 L'interface du service de nommage................................................ 58 Le service de courtier (trader)........................................................................ 59 Les services CORBA : le cycle de vie............................................................... 60 Les interfaces du cycle de vie................................................................ 61 Les services CORBA : les vnements.............................................................. 62 Les services CORBA : les transactions ............................................................. 63 Les lments du service transactionnel..................................................... 64 Les services CORBA : la concurrence .............................................................. 65 Les services CORBA : la persistance................................................................ 67 Sauvegarde un niveau contre la sauvegarde deux niveaux........................... 68 CNAM-CEDRIC -2L.Duchien
POS : La vue du client........................................................................ POS : La vue de l'objet persistant........................................................... Les lments du POS................................................................ Des implantations CORBA........................................................................... Bibliographie...........................................................................................
CNAM-CEDRIC
-3-
L.Duchien
CNAM-CEDRIC
-4-
L.Duchien
CNAM-CEDRIC
-5-
L.Duchien
C++ADA SmalltalkCobol
Java
C++ADA SmalltalkCobol
Java
CNAM-CEDRIC
-6-
L.Duchien
L'objectif de CORBA
Toute objet est quip d'un clou....Tout individu est quip d'un marteau => le clou est l'IDL CORBA. Il permet aux fournisseurs de composants de spcifier dans le langage standard de dfinition l'interface et la structure des objets qu'ils fournissent. => Le marteau correspond l'ensemble des services distribus de CORBA. Ils dterminent quels sont les objets dans le rseau, quelles mthodes ils fournissent et quels adaptateurs d'interface ils supportent. => Le rfrentiel des interfaces (Interface Repository) CORBA contient toutes les dfinitions de ces interfaces et des donnes mta qui permettent aux composants de se dcouvrir mutuellement au moment de l'appel. => Ce qui fait de CORBA un systme se dcrivant luimme.
CNAM-CEDRIC
-7-
L.Duchien
Services objet
Services Objet Les fonctions de base pour mettre en oeuvre les objets:
- cycle de vie - nommage - Gestion des vnements - Persistance - Contrle de concurrence
Normes appeles COSS(Common Object Services Specifications) Object request Broker (ORB) Bus logiciel qui assure la communication entre les objets du rseau Les facilits communes Collection de services orients vers l'utilisateur:
- Messagerie lectronique, - Mise en oeuvre de documents - Accs des bases de donnes
CNAM-CEDRIC
-9-
L.Duchien
Quelques nuances sur ces avantages : - Les premiers ORBs commerciaux sont lents et inefficaces... ils n'implantent pas toutes les fonctionnalits (ramasse-miettes, rpartition de charge, gestion du contrle, tolrance aux fautes..) - Le code des serveurs n'est pas trs portable : La spcification de Corba ne dcrit pas suffisamment toutes les interfaces pour crire un code de serveur portable. Par contre pour les clients, elle est complte. - l'IDL a besoin d'extensions de niveau smantique : une forme de description flexible des messages est ncessaire
CNAM-CEDRIC
-10-
L.Duchien
Mcanismes de RPC
CNAM-CEDRIC
-11-
L.Duchien
CNAM-CEDRIC
-12-
L.Duchien
- service de relation : permet de crer des associations dynamiques (ou liens) entre des objets qui ne connaissent rien les uns des autres. - service d'externalisation : fournit un moyen standard pour prendre ou mettre des donnes d'un objet en utilisant un mcanisme de flot. - service de requte : fournit des oprations de requtes pour objets. C'est un sur-ensemble de SQL avec une partie SQL3 et une partie OQL (Object Query Language). - service de licence : fournit des oprations pour mesurer l'utilisation des composants afin d'assurer une utilisation quitable. - service de proprits : fournit des oprations pour associer des valeurs ou des proprits un objet (titre, date,..). - service de scurit ... en cours de dfinition - service de temps .... en cours de dfinition - service d'administration... - service de courtier ... Ces services sont dcrits (ou en cours de descriptions dans des RFP (Request For Proposal) ou encore COSS (Common Object Service Specification) L'utilisation des services permet de construire des objets en mixant ses propres objets et les services offerts par CORBA en fonction des besoins. Exemple : Cration d'un objet "voiture" avec une version persistante, transactionnelle et concurrente en multihritant des services correspondants.
CNAM-CEDRIC
-13-
L.Duchien
CNAM-CEDRIC
-14-
L.Duchien
CNAM-CEDRIC
-15-
L.Duchien
La smantique de l'objet
Un client d'un service est une entit quelconque capable de demander un service Un objet est une entit - identifiable - encapsule - qui fournit 1 ou + services des clients Les requtes Il s'agit d'un vnement auquel on associe une opration, un objet, 1 ou + paramtres, et un ventuel contexte de la demande. La forme de la requte correspond une description qui peut tre value plusieurs fois. On les dfinit soit dans un langage de "liaison" particulier (langage de liaison C pour IDL) ou avec des appels sur des interfaces d'invocation dynamique. Une valeur est quelque chose qui peut tre un paramtre dans une requte. Une valeur peut identifier un objet. Plus particulirement, une valeur est une instance d'un type de donne de l'IDL. Une rfrence d'objet est un nom d'objet qui dsigne un objet. Une requte correspond la demande de service d'un client. Un rsultat d'excution est retourn au client. Il peut s'agir d'une valeur de paramtre ou d'une exception. Les paramtres sont des paramtres d'entre, de sortie, ou d'entre-sortie.
CNAM-CEDRIC
-16-
L.Duchien
La cration et la destruction des objets Du point de vue du client, il n'a pas de mcanisme spcial pour crer ou dtruire un objet. Le rsultat de la requte de cration fournit la rfrence du nouvel objet. Les types Un type est une entit identifiable avec un prdicat associ dfini sur des valeurs Les types sont utiliss dans les signatures pour restreindre un paramtre ou un rsultat. Le type d'un objet est un type dont les membres sont des objets. On a les types de base (entier, boolen, caractres,...) et les types construits (structures, squence, union, ...) Les interfaces Une interface est la description des oprations possibles que le client peut demander sur un objet. Les interfaces sont spcifis en IDL. L'hritage d'interface fournit les mcanismes de composition permettant un objet de supporter plusieurs interfaces. Les oprations Une opration est une entit identifiable qui dfinit un service qui peut tre demand. On identifie une opration par un identificateur d'opration. Un opration a une signature qui dcrit les paramtres, les rsultats, les exceptions, le contexte, et une indication sur la smantique d'excution.
CNAM-CEDRIC -17L.Duchien
L'implantation de l'objet
=> correspond au comportement de l'objet sur un systme => les activits ncessaires la ralisation du comportement de l'objet incluent le calcul du rsultat de la requte et la mise jour de l'tat du serveur. Le modle d'excution - Les donnes reprsentent un composant de l'tat du systme - le code des services demands qui permet de modifier l'tat du systme - un moteur d'excution est une machine abstraite qui peut interprter les mthodes. Il dfinit un contexte dynamique pour l'excution d'une mthode. le modle de construction Le systme objet doit fournir des mcanismes pour raliser les comportements des requtes. Ces mcanismes incluent les dfinitions des objets, des mthodes et aussi l'infrastructure des objets slectionne les mthodes excuter et la visibilit des donnes pour les mthodes. Il dcrit galement les oprations de cration et de destruction des objets.
CNAM-CEDRIC
-18-
L.Duchien
L'architecture de CORBA
a t structure pour permettre l'intgration et l'interoprabilit d'un grand nombre de systmes objets. permet l'change de messages via l'ORB et l'activation de mthodes d'objets
Client
Implmentation objet
requte
l'ORB : localise l'objet serveur, gre le formatage des messages portant les requtes, leurs paramtres et les rsultats, gre le retour du rsultat au client. Contrle aussi l'intgrit du systme
CNAM-CEDRIC
-19-
L.Duchien
Client
Implmentation objet
Talons IDL
Interface ORB
Pour raliser une requte, le client utilise l'interface d'invocation dynamique (la mme que pour l'objet cible) ou un talon IDL. Le client peut aussi agir directement avec l'ORB pour quelques fonctions (retrouver la rfrence d'un objet par exemple). L'implmentation de l'objet reoit une requte comme un appel travers l'IDL gnr par le squelette. L'implmentation peut aussi utiliser l'adaptateur d'objet et l'ORB.
CNAM-CEDRIC
-20-
L.Duchien
Le client
Le client est client par rapport un objet spcifique. L'implantation d'un objet peut tre client d'autres objets Le client demande l'excution d'une requte en ayant la rfrence de l'objet et l'opration souhaite Le client initialise la requte en appelant les primitives des talons spcifique un objet (Interface IDL) ou en construisant la requte de manire dynamique. Le client voit la mme interface sans savoir o est l'objet et sans connatre le langage de programmation utilis pour l'implantation de l'objet. Les clients sont portables autant que possible. Le client n'a aucune connaissance sur l'implantation de l'objet, sur l'ORB utilis, sur l'adaptateur d'objet utilis.
CNAM-CEDRIC
-21-
L.Duchien
CNAM-CEDRIC
-22-
L.Duchien
L'implantation objet
L'implantation objet fournit la smantique de l'objet dfinie par l'instance de l'objet et le code des mthodes de l'objet. Plusieurs implantations d'objets peuvent tre supportes, en incluant des serveurs spars, des librairies, un programme par mthode, une application encapsule, une base de donnes oriente-objet,... Gnralement les implantations d'objets ne dpendent pas de l'ORB ou de la manire dont le client invoque l'objet. L'implantation peut slectionner les interfaces de services dpendant des ORB par le choix de l'adaptateur de l'objet. Les implantations d'objet sont portables travers tout ORB qui supporte le langage souhait et qui implante l'adaptateur d'objet.
La rfrence d'objet
La rfrence d'un objet est l'information ncessaire pour spcifier et dsigner un objet avec un ORB. Client et implantations d'objet ont une vision de cette rfrence travers le langage de liaison. Deux implantations d'ORB peuvent diffrer par leur choix de la reprsentation des rfrences des objets. La reprsentation d'une rfrence d'un objet utilis par un client n'est valide que pendant la "vie" de ce client. Tous les ORBs doivent fournir le mme langage de liaison pour une rfrence d'objet pour un langage particulier de programmation.
CNAM-CEDRIC
-23-
L.Duchien
CNAM-CEDRIC
-24-
L.Duchien
CNAM-CEDRIC
-25-
L.Duchien
L'interface ORB
Consiste en quelques APIs de services locaux qui peuvent intresss une application. Par exemple, CORBA fournit le moyen de convertir une rfrence d'objet en une chane de caractres. C'est la mme pour tous les ORB et ne dpend pas de l'interface de l'objet ou de l'adaptateur de l'objet Parce que la plupart des fonctionnalits de l'ORB sont fournies par l'intermdiaire de l'adaptateur de l'objet, des talons, des squelettes, de l'invocation dynamique, il y a trs peu d'oprations Ces oprations sont utiles la fois aux client et aux implantations d'objets.
CNAM-CEDRIC
-26-
L.Duchien
CNAM-CEDRIC
-27-
L.Duchien
CNAM-CEDRIC
-28-
L.Duchien
CNAM-CEDRIC
-29-
L.Duchien
CNAM-CEDRIC
-30-
L.Duchien
L'adaptateur d'objet
Un adaptateur d'objet est un moyen permettant l'implantation d'objet d'accder aux services fournis par l'ORB. On espre qu'il y aura peu d'adaptateurs d'objet, largement diffuss, avec des interfaces qui sont appropris pour des types spcifiques d'objets.
Implmentation objet
ID 6: appel de mthode Talon interface A Talon interfaceB ID 1 : Enregistrement de nouvelles classes ID 3:Rfrences d'objets Rfrentiel d'implementation Adaptateur d'objet 2: Instantiation de nouveaux objets
4: Services de diffusion
Ses fonctions : gnre et interprte les rfrences d'objets gre les invocation de mthodes gre la scurit des interactions active et dsactive l'implantation des objets gre la correspondance entre les rfrences d'objet et leur implantations enregistre les implantations
CNAM-CEDRIC -31L.Duchien
Souvent l'ORB fournira l'ensemble de ces services. Si ce n'est pas le cas, l'adaptateur d'objet fournit une interface vers lui. Dans le cas contraire, l'OA doit l'implanter. La spcification de CORBA dfinit l'adaptateur de base. D'autres adaptateurs devraient apparatre bientt. La grande varit de granularit des objets, de la politique de gestion des objets, du style d'implantation rend difficile la fourniture d'une simple interface qui soit pratique et efficace pour tous les objets
CNAM-CEDRIC
-32-
L.Duchien
- Un BOA pour serveur partag : Des objets multiples peuvent rsider sur le mme processus. Le BOA active le processus serveur la premire fois qu'une requte est excute sur un objet. Toutes les requtes suivantes de l'objet sont alors dlivres ce processus serveur. Un serveur gre alors une requte la fois
Processus
Le premier appel est trait les autres attendent Talon interface A Talon interfaceB
Application
CNAM-CEDRIC
-33-
L.Duchien
- Un BOA pour serveur non partag : - Chaque objet rside dans un processus serveur diffrent. - Un nouveau serveur est activ la premire requte sur l'objet - Un nouveau serveur est dmarr quand une requte est effectue pour un objet qui n'est pas encore actif, mme si un serveur d'un autre objet avec la mme implmentation est actif. Processus Processus
Application
Processus Processus
Talon interface A Talon interfaceB
CNAM-CEDRIC
-34-
L.Duchien
- Un BOA avec un serveur par mthode : - Un nouveau serveur est dmarr chaque fois qu'une requte est appele - Le serveur est actif pendant seulement la dure de la mthode - Plusieurs serveurs par objet et mme plusieurs serveurs par mthode Processus Processus
Application
Talon interface A
Talon interfaceB
CNAM-CEDRIC
-35-
L.Duchien
- Un BOA avec serveur persistant : - Les serveurs sont activs en dehors de l'adaptateur, - Un BOA peut dmarrer l'application serveur qui notifie le BOA qu'elle est prte accepter le travail - Le BOA envoie les activations un seul processus : l'ordonnanceur
Ordonnanceur
Talon interface A Talon interfaceB
CNAM-CEDRIC
-36-
L.Duchien
CNAM-CEDRIC
-37-
L.Duchien
CNAM-CEDRIC
-38-
L.Duchien
Le serveur
Doit fournir la smantique de l'objet Dfinir les donnes pour l'implantation Dfinir le code pour les mthodes de l'objet Peut utiliser d'autres objets ( et ventuellement retourner des rfrences vers d'autres objets) Ou peut manipuler d'autres logiciels qui ne sont pas euxmmes des objets.
CNAM-CEDRIC
-39-
L.Duchien
L'implantation ct serveur
Squelette IDL (IDL Skeleton) ou Souche serveur Dfinition des mthodes de l'implantation L'adaptateur d'objet Mcanisme de mise en oeuvre de l'application serveur - gnration et interprtation des rfrences d'objets - prise en compte des appels clients et routage vers les mthodes appropries - diffusion des services disponibles sur l'ORB Utilisation d'une base de donnes de mise en oeuvre (rfrentiel d'implmentation) qui contient des informations sur les classes serveurs et les objets instancis.
Dfinitions d'IDL Intallation d'implantation
Rfrentiel d'interface
Talons
Squelette
Rfrentiel d'implantation
Client
Implantation d'objet
CNAM-CEDRIC
-40-
L.Duchien
L'invocation de mthodes
Solution 1 : l'accs statique
Phase 1 Ecriture du fichier IDL
Phase 2 Prcompilation
Phase 4 Compilation instanciaton Souche Client Phase 5 Rfrenciel d'interface Souche serveur Implantation objet
CNAM-CEDRIC
-41-
L.Duchien
Phase 1:
Cration des squelettes C d'implantation des classes serveurs Ajout par le dveloppeur du code de mise en oeuvre des mthodes dans les squelettes. Cration des classes serveurs. Compilation du code source rsultant et gnration de 4 fichiers: . fichier d'importation qui dcrit les objets pour une interface de rfrentiel . talon Client pour les mthodes dfinies en IDL. Ces talons sont invoqus par un programme client . talon Serveur qui appelle les mthodes sur le serveur . Code d'implantation des classes serveurs
Phase 5 :
liaison des dfinitions de classes avec le rfrentiel d'interfaces : utilisation d'un utilitaire pour lier les informations de l'IDL dans un rfrentiel d'interface.
Phase 6 : Phase 7 :
Instantiation des objets sur le serveurs (par l'intermdiaire de l'adaptateur d'objets) Enregistrement des objets excutables dans le rfrentiel d'implantation
CNAM-CEDRIC
-42-
L.Duchien
->lookup_name() -- appel de mthodes d'objets de localisation et description -> describe() -- permet l'obtention d'une description complte de l'IDL
Phase 2 :
Cration d'une structure de donnes pour le passage de paramtres appele NameValuelist et avec autant d'appels add_args que ncessaire. -> create_list() -> add_arg()...add_arg()...add_arg()...
Phase 3 :
- plus flexible - permet d'ajouter des nouvelles classes au systme sans changement dans le code du client - criture de code gnrique avec des API dynamiques
CNAM-CEDRIC
-43-
L.Duchien
CNAM-CEDRIC
-44-
L.Duchien
L'interoprabilit
L'apport de Corba 2.0 est la spcification d'un protocole obligatoire : Internet Inter-ORB Protocol (IIOP) L'IIOP est bas sur TCP/IP et correspond un protocole d'change qui sert de "backbone". Tout ORB qui dit respect les normes CORBA doit soit implment de manire native l'IIOP ou une passerelle vers un IIOP Corba IDL
Protocole Inter-Orb gnral (GIOP) protocole Autres Inter_ORB exemples Internet OSI et (IIOP) IPX/SPX TCP/IP Protocoles Inter-ORB pour des environnements spcifiques (ESIOP) DCE/ESIOP DCE RPC DCE RPC au dessus au dessus de TCP/IP de l'OSI Smantique des requtes d'objets Syntaxe de transfert et messages
Transports
CNAM-CEDRIC
-45-
L.Duchien
- GIOP : correspond un ensemble de formats de messages et de reprsentation de donnes pour la communication entre ORBs. - a t construit pour les interactions entre ORBs - il doit travailler directement au-dessus de n'importe quel protocole de transport en mode connect - 7 formats de message pour couvrir les diffrentes smantiques des appels et des rponses - La mode de reprsentation est CDR (Common Data Reprsentation. Il permet de coder les types dfinis dans les IDL en une reprsentation de message plat transportable travers le rseau - IIOP : spcifie comment les messages GIOP sont changs au-dessus de TCP/IP - ESIOPs (Protocoles Inter_ORB pour des environnements spcifiques) : sont utiliss pour des interoprabilit avec des rseaux spcifiques. - DCE est le premier des ESIOP tre oprationnel
CNAM-CEDRIC
-46-
L.Duchien
DII ORB B
- on utilise des ponts inter-ORB et des IIOPs pour crer des topologies trs flexibles
CNAM-CEDRIC
-47-
L.Duchien
CNAM-CEDRIC
-48-
L.Duchien
module <identifier> /*dfinition d'un contexte nomm*/ { <type declarations>; <constant declarations>; <exception declarations>; interface <identitifier> [:<inheritance>] /* definition d'une classe CORBA*/ { <type declarations>; <constant declarations> <attribute declarations> <exception declarations> [<op_type>] <identifier>(<parameters>) [raises exception][context]; /*dfinition d'une mthode*/ .... [<op_type>] <identifier>(<parameters>) [raises exception][context]; } interface <identifier>[<:inheritance>] ... }
CNAM-CEDRIC
-49-
L.Duchien
Un exemple d'IDL
module Mes_Animaux; { /* dfinition de la classe Chien */ interface Chien : animal_de_compagnie, animal; { attribute integer age; exception Non_Interesse {string explication); void aboie (in short combien_de_temps) raises (Non_Interesse ); void assis (in string ou) raises (Non_Interesse ); void grogne (in string apres_qui) raises (Non_Interesse ); } /* Dfinition de la classe chat */ interface Cat : animal; { void Eat(); void Viens(); } } /* fin de Mes_animaux */
CNAM-CEDRIC
-50-
L.Duchien
Les commentaires, les dclarations diffres, les constantes de C++ Les exceptions
. Les exceptions systmes . Les exceptions dfinies dans l'implantation objet
CNAM-CEDRIC
-51-
L.Duchien
L'IDL et l'hritage
L'hritage d'une interface par une autre interface Possibilit d'hritage multiple Il est illgal d'hriter de deux interfaces avec le mme nom d'opration ou d'attribut. Il est aussi illgal de redfinir un nom d'opration ou d'attribut dans l'interface driv Il est lgal de redfinir un type, une constante, une exception dans une interface drive. Lgal
Interface A {...} Interface B : A {...} Interface C : A {...} Interface D : B , C {...}
A B D C
CNAM-CEDRIC
-52-
L.Duchien
CNAM-CEDRIC
-54-
L.Duchien
ConstantDef
TypeDef
ExceptionDef
ModuleDef
InterfaceDef OperationDef
ParametreDef
ExceptionDef
CNAM-CEDRIC
-55-
L.Duchien
CNAM-CEDRIC
-56-
L.Duchien
Mexique
Grce
Hawaii
Hyatt
- Un nom simple : Playa Blanca - Un nom compos : un nom simple + des contextes Playa Blanca + Club Med, Mexico, Vacances - Chaque objet a une structure avec deux attributs : - l'identifieur : la chane de caractres - type : une chane dans laquelle on a un attribut de description pour le nom (exemple type fichier)
CNAM-CEDRIC
-57-
L.Duchien
CNAM-CEDRIC
-58-
L.Duchien
CNAM-CEDRIC
-59-
L.Duchien
Objet catalogue
Le cycle de vie maintient un graphe de l'ensemble de ces associations Un dplacement du document vers un autre dossier fera en sorte que tous les objets dpendants (les pages et leur contenu, les rfrences) soient galement dplacs vers le dossier cible
CNAM-CEDRIC
-60-
L.Duchien
Il existe des addendum rcents pour supporter les gestion de structures avec des accs sur des noeuds, des rle ou des relations
CNAM-CEDRIC -61L.Duchien
CNAM-CEDRIC
-62-
L.Duchien
CNAM-CEDRIC
-63-
L.Duchien
CNAM-CEDRIC
-65-
L.Duchien
ensemble de verrous - Le service de contrle ne dfinit pas la granularit des ressources qui sont verrouills. - il dfinit un "lockset" qui est une collection de verrous associs une seule ressource exemple : si un objet est une ressource, il doit crer de manire interne un lockset et le maintenir. - le service de contrle de concurrence dfinit un coordinateur de verrous qui gre le relchement de verrous.
CNAM-CEDRIC
-66-
L.Duchien
Objet gel
Objet gel
Le temps de vie d'un objet peut tre infini Le service de persistance des objets (POS) permet de sauvegarder l'tat d'un objet sur une mmoire permanente. Le POS peut grer des objets spcialiss tels que des fichiers, des bases de donnes relationnelles, les bases de donnes objet, des documents composs,.... Le POS fournit une interface aux clients pour sauvegarder des objets sans qu'ils aient connatre les mcanismes de stockage.
CNAM-CEDRIC
-67-
L.Duchien
CNAM-CEDRIC
-68-
L.Duchien
CNAM-CEDRIC
-69-
L.Duchien
Application Cliente PO PO PO PO Objets persitants Gestionnaire d'objets persistants Services de donnes persistantes systmes de sauvegarde Bases de donnes SQL Bases de donnes objet Sauvegarde d'objets simples
Protocole
POM
Protocole
DDO
ODMG-93
DA
CNAM-CEDRIC
-70-
L.Duchien
Les objets persistants (POs) : - un objet peut-tre persistant par hritage de la classe PO. - il peut aussi tre persistant par hritage d'un mcanisme pour rendre externe son tat (via un protocole) Tout objet persistant a un identificateur persistant (PID) qui dcrit la localisation de l'objet (sur le systme de sauvegarde) Le gestionnaire d'objets persistants (POM) - C'est une interface indpendante de l'implmentation pour la persistance d'objets - le POM peut diriger les appels des PO vers le service appropri de persistance en examinant le PID de l'objet. - Il fournit une vue uniforme de la persistance au systme travers de multiples services de donnes Les services de persistance de donnes (PDSs) - Ce sont les interfaces des implmentations particulires des systmes de sauvegarde. - Ils effectuent le travail de dplacement des objets entre l'objet et le systme de sauvegarde - Tous ont une interface spcifie en IDL. - certains utilisent un protocole dpendant de l'implmentation Systme de sauvegarde ce sont les implmentations qui sauvent les objets persistants indpendamment de l'espace d'adressage contenu dans l'objet. Da : Attributs directs ODMG : Groupe de gestion des bases de donnes objet DDO : Objet de donnes dynamiques (bases de donnes relationnelles)
CNAM-CEDRIC -71L.Duchien
CNAM-CEDRIC
-72-
L.Duchien
Bibliographie
Corba 1.2 Specification http://www.acl.lanl.gov/sunrise/Objects/OMG/93-12-43.ps INS bindings : http://www.acl.lanl.gov/sunrise/Objects/OMG/93-11-6.ps CORBA 2.0 http://www.acl.lanl.gov/sunrise/Objects/OMG/93-11-6.ps
Livre : T. Mowbray, R.Zahavi, " The Essential Corba" OMG , Wiley, 1995 R. Orfali, D. Harkey, J. Edwards, "The essential Distributed Objects, Survival Guide", Wiley, 1996.
CNAM-CEDRIC
-73-
L.Duchien