07/04/2014 Object Management Group Consortium industriel à but non lucratif fondé en 1989 SGBD orientés Objet Objectif : gérer les normes relatives aux objets. Composition : plus de 400 membres dont Sun microsystems, Borland, Hitachi, Unisys, Oracle etc. Standards : OMG et ODMG Contrairement à l’ISO, ANSI et IEEE, OMG n’est pas une organisation de normalisation reconnue Son but : développer des recommandations sous formes de standards de fait, qui pourrait éventuellement déboucher sur des 1 normes. 2 1 07/04/2014 Les domaines de standardisation Langage de définition de données ODL Langage de Requêtes OQL Objets d’application Traitement de texte Feuille de tableur Utilitaires communs CAO Aide courriel Navigateur ODL-OQL OBJECT REQUEST BROKER Stockage Gestion de transactions Requêtes Gestion de versions Sécurité Services d’objets 3 4 2 07/04/2014 Le modèle objet de l’OMG ORB : Object Request Broker courtier de requêtes d’objet Un ORB est l'ensemble de fonctions (classes Java, bibliothèques C++...) qui implémentent un « bus logiciel » par lequel des objets envoient et reçoivent des requêtes et des réponses, de manière transparente et Le modèle Objet OM: modèle abstrait portable fonctionnant comme suit : portable il s'agit de l'activation ou de l'invocation par un objet, et à distance, d'une méthode d'un autre objet distribué - en pratique les objets invoqués sont souvent des services. Demandeur Demande Object Request Broker Fournisseur1 Un ORB s'apparente à une tuyauterie permettant les échanges de messages entre objets. Fournisseur2 Message Les ORBs appartiennent à la famille des middleware ou intergiciels. La plupart des ORBs (hormis la technologie COM/DCOM de Microsoft) s'appuient sur la norme CORBA publiée par l'OMG. 5 6 3 07/04/2014 OMG : ORB : courtier de requêtes d’objet , le service d’objets, les utilitaires communs Exemple ORB VisiBroker : Borland JacORB : un ORB (CORBA 2.3) opensource pour java. openORB : un ORB (CORBA 2.4.2) opensource sous license BSD-like L’ORB est une voie de communication distribuée: il gère la distribution des messages parmi les objets d’application, vers les fournisseurs de services. ◦ Objectif : mettre en place une interopérabilité parmi les applications en environnement distribué et interconnecter les objets multiples relativement stable et efficace pour java ObjectBroker : intégré par BEA avec Tuxedo dans l'offre M3 OmniORB : un ORB reposant sur la norme CORBA (respectant les fonctionnalités fondamentales de l’objet. largement la norme CORBA 2.6), édité sous licence GNU GPL pour python et c++ Les utilitaires communs : ils comprennent un ensemble de taches que de nombreuses applications doivent accomplir: utilitaires en domaines Orbit : utilisé par GNOME (CORBA 2.0 à 2.3 selon le langage utilisé horizontaux, et en domaine verticaux ( affichage, agent mobile, etc.) (c++, java, lisp, perl, python, php, etc.) Les services d’objets : ils fournissent les fonctions essentielles qui réalisent Orbix : de l'irlandais Iona (sans doute le plus puissant, CORBA 2.6) 7 8 4 07/04/2014 CORBA CORBA : Common Object Request Broker Architecture, Une architecture logicielle, pour le développement de Objectif : Définit l’architecture des environnements qui se fondent sur ORB. composants et d’Object Request Broker ou ORB. CORBA: Common Object Broker Architecture Plusieurs versions : CORBA 2.0 en 1994, CORBA 2.1 en 1997, CORBA 2.2 en 1998, CORBA 2.3 en 1999. Ces composants, qui sont assemblés afin de construire des applications complètes, peuvent être écrits dans Composantes : ◦ Un langage de définition d’interface IDL, des langages de programmation distincts, être ◦ Un modèle de type exécutés dans des processus séparés, voire être ◦ Un annuaire d’interface déployés sur des machines distinctes. ◦ Un adaptateur d’objets etc. 9 10 5 07/04/2014 CORBA: Common Object Broker Architecture CORBA Chaque composant est décrit sous la forme d'une interface écrite en langage IDL. Une correspondance a été spécifiée entre le langage IDL et différents langages de programmation. Client Tickets en IDL Objet ciblé Des précompilateurs dédiés permettent de générer automatiquement le squelette de l'interface IDL dans un langage donné, en produisant aussi le code qui assure l'appel de fonctions distantes et le traitement des résultats. Dynamic invocation interface (DII) Annuaire d’Interfa ce Squelette en IDL Dynamic squeleton Interface(DSI) Adaptateur d’objet Ce code porte le nom de stub du côté client et de skeleton du côté serveur. Un module dont l'interface est spécifiée en IDL pourra ainsi être programmé en C++, tandis que des modules Java qui l'utiliseraient effectueraient en fait des appels sur une interface Java générée à partir du même IDL, ORB L’architecture Corba assurant l'acheminement des appels entre les processus. Applications et composants Corba mélangent typages statique et dynamique. Ainsi, chaque composant est décrit statiquement par une interface mais les composants qui utilisent celui-ci doivent vérifier dynamiquement que l'interface est effectivement 11 implantée. 12 6 07/04/2014 CORBA IDL : permet la description d’interfaces de classes indépendantes de tout SGBD et de CORBA propose deux mécanismes pour déposer des requêtes auprès des objets: tout langage de programmation. Il existe un compilateur IDL pour chaque langage de ◦ Les invocations statiques à l’aide de tickets et de squelettes spécifiques à une interface programmation: un compilateur IDL génère trois fichiers : ◦ Les invocations dynamiques à l’aide de la DII. ◦ Un entête (header) qui se place à la fois chez le client et sur le serveur Invocation dynamique: ◦ Le client n’est autorisé à identifier les objets et leurs interfaces que lors de l’exécution et ◦ Un fichier source destiné au client contenant les tickets (stubs: liste des services donc à construire et invoquer ces interfaces par le biais de l’annuaire d’interfaces qui publiés) de l’interface qui servent lors d’envoi de requêtes au serveur renferme les spécifications de tous les objets et services qu’ils fournissent. ◦ Un fichier source destiné au serveur contenant les squelettes complétés sur le ◦ Du coté serveur, le DSI qui va livrer les requêtes à l’ORB alors que lors de la compilation il serveur de manière à fournir le comportement exigé. CORBA ne disposait d’aucune connaissance de l’objet apr un mécanisme de substitution de la Un annuaire d’interface (Interface repository) : toute application cliente peut spécification de l’interface IDLpar une interface qui assure l’accès aux paramètres de interroger l’annuaire d’interfaces pour obtenir toute la description des interfaces de l’opération grâce aux informations présentes dans l’annuaires d’interfaces. tous les objets inscrits. 13 14 7 07/04/2014 CORBA Norme de données OBJET ODMG 3.0 1999 Adaptateur d’objets Il constitue la principale voie par laquelle Microsystems, eXcelon Corporation,Objectivity Inc.,,POET l’implémentation d’un objet côté serveur accède aux Software, Computer Asociates et Versant Corporation services fournis par l’ORB. ◦ Les composants essentiels de l’architecture de l’ODMG pour un ODMG : Object Data Management Group: constitué de SUN SGBDOO comporte : Fonctionnalités: inscription des implémentations des Un modèle objet (OM) objets, génération et interprétations des références Un langage de définition d’objet équivalent au LDD des SGBD conventionnels (ODL) aux objets, des invocations statiques et dynamiques Un langage de requêtes objet avec une syntaxe semblable à SQL (OQL) des méthodes, etc. Les liaisons avec les langages C++, Java et Smaltalk. 15 16 8
© Copyright 2024 ExpyDoc