1. IDL: Interface Definition Language
Travail par: NAOUI Hajer & TRABELSI Thouraya
Enseignant: Mr. BEJI Sofiène - Architectures logicielles
Radès le 03/04/2013
Institut Supérieur des Etudes Technologiques Radès
M1-Master Professionnel en Développement des Applications Mobiles
2. Plan de présentation
I. Introduction
II. Interface Definition Language
III. Objectifs
IV. Caractéristiques
V. Fonctionnement
VI. Avantages
VII.Exemple
VIII.Conclusion
15/05/2014 22
4. II. Interface Definition Language
Programme en
Langage X
Programme en
Langage Y
Demande d’un objet
C++ JavaVB
IDLIDLIDL
CLIENT
Implémentation
Interface
15/05/2014 44
Renvoi de
l’implémentation
5. III. Objectifs
Alimenter un référentiel de mise en œuvre
rechercher des
informations sur une
interface à l’exécution
15/05/2014 55
6. IV. Caractéristiques
• Un langage descriptif
• À base d’interfaces:
prototypes
de méthodes
• Orienté objet
• Fortement typé
vue fonctionnelle
d’objet
attributs
signatures des
méthodes
comportement
contrat
Héritage
Encapsulation
Polymorphisme
15/05/2014 66
8. V.1. Le compilateur IDL
• À chaque IDL correspond un compilateur IDL qui lui est
associé
• Le compilateur IDL compile les spécifications de l’interfaces
listées dans un fichier .idl en code source (C/ C++/ java) qui
implémente le niveau le plus bas des détails de
communication requis pour supporter les interfaces
définies.
• Le compilateur IDL prend en charge ces détails de bas
niveau
– Assurer plus de temps au développeur pour se concentrer sur les
fonctionnalités cœur de l’application
=> Ces bienfaits ont permis plusieurs réussites archivées par
les middleware et les applications distribuées
15/05/2014 88
9. VI. Avantages
pas de mécanismes spécifiant les détails de calcul
Sans le compilateur IDL le développeur doit personnaliser le métier du
protocole réseau pour chaque application distribuée:
-consommation beaucoup de temps
-augmentation du taux d’erreur
15/05/2014 9
Renforcement de la productivité fournie par le
compilateur IDL
10. VII. Exemple
Une application bancaire simple. La banque
permettra des opérations pour ouvrir un compte
courant, des chèques, et faire des dépôts.
L’exemple 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 différences
existent. pour exemple, IDL n’utilise pas plusieurs
mots clés C + + (par exemple, public, privé).
15/05/2014 1010
11. module BankExample {
typedef float MoneyType;
struct NameType {
string first;
string last;
};
interface BankAccount {
MoneyType balance();
MoneyType deposit(in MoneyType amount);
MoneyType withdraw(in MoneyType amount);
};
interface CheckingAccount :BankAccount {
exception BadCheck {
MoneyType fee;
};
MoneyType writeCheck(in MoneyType amount)
raises (BadCheck);
};
};
15/05/2014 1111
méthode
Déclaration d’un module Déclaration d’un nouveau type de donée
Définition d’une interface
Héritage
Définition d’une exception
Déclaration d’une exception
Mode de passage
de paramètres
12. VIII. Conclusion
• L'avenir du Langage de Définition de Données est
inséparablement liée à l'avenir des systèmes
distribués.
• Les applications autonomes d'hier sont de plus en
plus en réseau. Comme cela se produit, les
concepteurs seront obligés de définir les
interfaces avec lesquelles ces applications vont
communiquer sur le réseau.
• Mais, même si elles ne vont pas disparaître, l'IDL
de demain sera probablement axé sur les défis de
demain.
15/05/2014 1212