interface definition language
DESCRIPTION
Réaliser par : NAOUI Hajer TRABELSI ThourayaTRANSCRIPT
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
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
Comment communiquer ??
I. Introduction
15/05/2014 33
II. Interface Definition Language
Programme enLangage X
Programme enLangage Y
Demande d’un objet
C++ JavaVB
IDLIDLIDL
CLIENT
Implémentation
Interface
15/05/2014 44
Renvoi de l’implémentation
III. Objectifs
Alimenter un référentiel de mise en œuvre
rechercher des informations sur une interface à l’exécution
15/05/2014 55
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 comportementcontrat
HéritageEncapsulationPolymorphisme
15/05/2014 66
V. Fonctionnement
15/05/2014 77
Machine A Machine B
Client
Stub (tampon)
ORB (courtier)
ORB
Object Adapter
Skeleton
implementation
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
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
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
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
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