Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare une entreprise Scribd logo
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 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
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
comportement
contrat
Héritage
Encapsulation
Polymorphisme
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

Contenu connexe

Interface Definition Language

  • 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
  • 3. Comment communiquer ?? I. Introduction 15/05/2014 33
  • 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
  • 7. V. Fonctionnement 15/05/2014 77 Machine A Machine B Client Stub (tampon) ORB (courtier) ORB Object Adapter Skeleton implementation
  • 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