Télécharger

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