Académique Documents
Professionnel Documents
Culture Documents
15/05/2014 22
I. Introduction
Comment communiquer ??
15/05/2014 33
II. Interface Definition Language
Demande dun objet
Programme en Programme en
Langage X Langage Y
Renvoi de
limplmentation
15/05/2014 CLIENT 44
III. Objectifs
Alimenter un rfrentiel de mise en uvre
rechercher des
informations sur une
interface lexcution
15/05/2014 55
IV. Caractristiques
Un langage descriptif
base dinterfaces:
prototypes vue fonctionnelle attributs
signatures
Hritage
des
dobjet
de mthodes mthodes
Encapsulation
comportement
Polymorphisme
Orient objet contrat
Fortement typ
15/05/2014 66
V. Fonctionnement
Machine A Machine B
Client ORB
Object Adapter
Stub
(tampon)
Skeleton
15/05/2014 77
V.1. Le compilateur IDL
chaque IDL correspond un compilateur IDL qui lui est
associ
Le compilateur IDL compile les spcifications de linterfaces
listes dans un fichier .idl en code source (C/ C++/ java) qui
implmente le niveau le plus bas des dtails de
communication requis pour supporter les interfaces
dfinies.
Le compilateur IDL prend en charge ces dtails de bas
niveau
Assurer plus de temps au dveloppeur pour se concentrer sur les
fonctionnalits cur de lapplication
15/05/2014 9
VII. Exemple
Une application bancaire simple. La banque
permettra des oprations pour ouvrir un compte
courant, des chques, et faire des dpts.
Lexemple est crit dans CORBA IDL, une
norme qui est maintenue par le Object
Management Group (OMG
CORBA IDL est un outil facile lire et
s'opposer IDL orient. Sa syntaxe est similaire la
syntaxe de C + +, mais quelques diffrences
existent. pour exemple, IDL nutilise pas plusieurs
mots cls C + + (par exemple, public, priv).
15/05/2014 1010
Dclaration dun module Dclaration dun nouveau type de done
module BankExample {
typedef float MoneyType;
struct NameType {
string first;
string last;
Dfinition dune interface
};
interface BankAccount {
MoneyType balance();
MoneyType deposit(in MoneyType amount);
Mode de passage
MoneyType withdraw(in MoneyType amount);
de paramtres
}; Hritage
interface CheckingAccount :BankAccount {
exception BadCheck {
MoneyType fee; Dfinition dune exception
};
mthode MoneyType writeCheck(in MoneyType amount)
raises (BadCheck);
Dclaration dune exception
};
};
15/05/2014 11
11
VIII. Conclusion
L'avenir du Langage de Dfinition de Donnes est
insparablement lie l'avenir des systmes
distribus.
Les applications autonomes d'hier sont de plus en
plus en rseau. Comme cela se produit, les
concepteurs seront obligs de dfinir les
interfaces avec lesquelles ces applications vont
communiquer sur le rseau.
Mais, mme si elles ne vont pas disparatre, l'IDL
de demain sera probablement ax sur les dfis de
demain.
15/05/2014 12
12