Construction d applications r[Please insert PrerenderUnicode{é} into preamble]parties - Cours 2
5 pages
Latin

Construction d'applications r[Please insert PrerenderUnicode{é} into preamble]parties - Cours 2

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
5 pages
Latin
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Interface Definition LanguageConstruction Constructiond’applications d’applicationsr´eparties r´epartiesGilles Roussel Gilles RousselConstruction d’applications r´epartiesTypage fortIDL IDLValeurs (passage par valeur)Cours 2Types Typesprimitifs primitifs Types primitifsTypes utilisateursTypes Typesutilisateurs utilisateursTypes g´en´eriquesGilles RousselLes interfaces Les interfacesGilles.Roussel@univ-mlv.fr R´ef´erences d’objets (passage par r´ef´erence)Les types Les typesType interfacehttp://igm.univ-mlv.fr/~roussel/CORBA/enveloppes enveloppesMapping vers diff´erents langagesLe fichier Le fichierIR3L’h´eritage L’h´eritage Parfois incomplets6 octobre 2006Gilles Roussel Construction d’applications r´eparties Gilles Roussel Construction d’applications r´epartiesLes types primitifs Le type utilisateur « structure »Construction ConstructionConteneur de donn´eesd’applications d’applicationsr´eparties r´epartiesIDL JavaComparable aux structures du CGilles Roussel Gilles Rousselvoid voidstruct Point {boolean booleanIDL IDL short x;octet byteTypes Typesshort y;primitifs primitifschar (1 octet) et wchar (2 octets) char};Types Typesshort et unsigned short shortutilisateurs utilisateursTraduit en classe Javalong et unsigned long intLes interfaces Les interfacespublic final class Point implements IDLEntity {Les types Les typeslong long et unsigned long long longpublic short x;enveloppes enveloppesfloat floatpublic short y;Le ...

Informations

Publié par
Nombre de lectures 29
Langue Latin

Extrait

Construction d’applications re´parties
Gilles Roussel
IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lhe´ritage
Construction d’applications re´parties
Gilles Roussel
IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Constructiondapplicationsre´parties Cours 2
Gilles Roussel Gilles.Roussel@univmlv.fr http://igm.univmlv.fr/~roussel/CORBA/
IR3 6 octobre 2006
Gilles Roussel
Les types primitifs
Constructiondapplicationsre´parties
IDL void boolean octet char(1 octet) etwchar(2 octets) shortetunsigned short longetunsigned long long longetunsigned long long float double long double string wstring
Gilles Roussel
Java void boolean byte char short int long float double
String String
Constructiondapplicationsr´eparties
Construction d’applications re´parties
Gilles Roussel
IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Construction d’applications re´parties
Gilles Roussel
IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Interface Definition Language
Typage fort Valeurs (passage par valeur) Types primitifs Types utilisateurs Typesg´en´eriques Re´fe´rencesdobjets(passageparr´efe´rence) Type interface Mappinggvaeseidsrre´stnegnal Parfois incomplets
Gilles Roussel
Constructiondapplicationsre´parties
Le type utilisateur«structure»
Conteneurdedonn´ees Comparable aux structures du C structPoint{ short x; short y; }; Traduit en classe Java public final classPointimplements IDLEntity{ public short x; public short y; public Point () { } public Point (short x, short y){ this.x= x;this.y= y; } } GillesRousselConstructiondapplicationsr´eparties
Construction d’applications r´eparties Gilles Roussel IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Construction d’applications r´eparties Gilles Roussel IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
D´eclarationdetypesutilisateurs«tableau»et «sceenqu´e»
Tableaux :typedef float Matrice[10][10] Se´quencesborn´eeounon: typedef sequence<string,10> ListeMots typedef sequence<string> ListeMots Traduits en tableaux Java
Gilles Roussel
Constructiondapplicationsre´parties
Lestypesde´nisparlutilisateur
ImplantentIDLEntityiuqeitedh´erSerializable Arguments/valeursderetourrecopi´eesentreclientet serveur Deuxautresclassesg´ene´re´esparidlj: TypeHelperpour le transtypage TypeHoldertype enveloppe
Gilles Roussel
Constructiondapplicationsr´eparties
Construction d’applications re´parties Gilles Roussel IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Construction d’applications r´eparties Gilles Roussel IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Les autres types utilisateurs
Les alias :typedef float Nombrepas de traduction Lese´nume´rations:enum Ops{Plus, Moins}traduites en constantes dans la classeOpsitresapdrseneindex´ee Les unions : union Test switch(Ops) { case Plus: long l; default: short s; } traduites en une unique classe
Gilles Roussel
Lestypesr´efe´rences
Constructiondapplicationsr´eparties
Correspond aux interfaces qui peuvent contenir : des attributs desd´eclarationsdeme´thodes toutesorteded´eclarationdetype(struct,enum, ...) des constantes Exemple : interface Robot { struct Point { short x; short y; } ; attribute Point pos; void move(in short dx, in short dy); const short def = 1; };
Gilles Roussel
Constructiondapplicationsr´eparties
Construction d’applications r´eparties Gilles Roussel IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lhe´ritage
Construction d’applications re´parties Gilles Roussel IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Lestypesre´f´erences
G´en´erationdunensembledeclasses/interfacesJava InterfaceRobotOperationscontient uniquement les ope´rationsd´eniesdanslIDL InterfaceRoboteediterh´RobotOperations, plus : org.omg.CORBA.Object: interface des objets CORBA IDLEntity: interface pour le passage de parame`tre/valeurderetour ClassesRobotPOAetRobotStubpoes,urn´´e´eerg respectivement,lecot´eserveuretlecote´client ClassesRobotHelperetRobotHoldernee´´gsr´ee respectivement pour le transtypage et le (wrapping)
Les attributs
Gilles Roussel
Constructiondapplicationsr´eparties
Pre´c´ed´edumotclefattribute: attribute short x; Traduit engetter/setter short x(); void x(short newX); Si modificateurreadonlypas desettere´n´erg´e
Gilles Roussel
Constructiondapplicationsre´parties
Construction d’applications r´eparties Gilles Roussel IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Construction d’applications re´parties Gilles Roussel IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lhe´ritage
Hi´erarchiedetypes
Gilles Roussel
Constructiondapplicationsre´parties
Lesde´clarationsdeme´thodes
Proldesm´ethodescomparablesa`ceuxdeJava Possibilite´depr´eciserquelam´ethodenattendpasle r´esultat:oneway Pr´ecisionssurlemodedepassagedesparame`tres inudapar`mteernitiialis´eeparlecliuce´rtneelbare´pva:urle par le serveur outruudavel`mteapardi´remorleseepaveerur: re´cup´erableparleclient inout!: les deux Typeintraduit par le type correspondant en Java Typeoutouinouttraduit par le type enveloppe du type correspondant en Java
Gilles Roussel
Constructiondapplicationsre´parties
Construction d’applications re´parties
Gilles Roussel
IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Construction d’applications re´parties
Gilles Roussel
IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Les types enveloppes«Holder»
Dispose d’un champsvalue Ne´cessite´deconstruireleHolderduoc´teclient Constructeurpard´efautpourout Constructeuravecunparame`trepourinout Holderpo´iclssedenansseuxde
Preprocessing
Gilles Roussel
Constructiondapplicationsre´parties
idljpermet d’utiliser les directives depreprocessingde cpp: #include #define #ifdef,#ifndef, etc. Options deidljpour lepreprocessing ditiondud´enendecedmaomalrungilamensorc isinchierescchedhcreederioereptr´ersul
Gilles Roussel
Constructiondapplicationsre´parties
Construction d’applications re´parties
Gilles Roussel
IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lh´eritage
Construction d’applications re´parties
Gilles Roussel
IDL Types primitifs Types utilisateurs Les interfaces Les types enveloppes Le fichier Lhe´ritage
Les exceptions
Type utilisateur particulier Comparable`aunestructure exception MonException { string message; short val; }; Traduitenclassehe´ritantdeUserExceptionqui implante IDLEntity D´eclarationsdeleve´edexceptionaveclemotclefraises void method() raises (Ex1, Ex2);
Gilles Roussel
Constructiondapplicationsre´parties
Structurationetvisibilit´e
Fichiersg´en´ere´sorganise´senpaquetagescorrespondants, plus ou moins, aux accolades«{}»du fichier IDL Directivemoduleegtunied´taueaqnp StructureSe´ddruennietfrcaenie`alint´erieuI, respectivement, dans une autre structureS2, entraˆıne la g´ene´rationdelaclasseI.S, respectivement,S2.S Visibilit´eadesauxaccoll´iee«{}»comme en Java Poure´viterlesambigu¨ıt´esoupre´ciseruntypeparticulier, possibilit´ededonnerunchemindacce`sdanslIDL cheminrelatifa`lendroitdutilisationA::B chemin absolu depuis la«racine»du fichier::A::B
Gilles Roussel
Constructiondapplicationsre´parties
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents