sysrep:corba
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| sysrep:corba [2012/11/14 14:56] – created orel | sysrep:corba [2024/03/18 15:06] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| ==== Echo en Java et C++ ==== | ==== Echo en Java et C++ ==== | ||
| - | Vous disposez avec les fichiers echo-java.tgz et echo-cpp-omninorb.tgz de | + | Vous disposez avec les fichiers |
| l' | l' | ||
| Line 23: | Line 23: | ||
| ==Configuration de votre environnement Linux== | ==Configuration de votre environnement Linux== | ||
| - | | + | |
| - | | + | * Pour CORBA C++, nous utilisons l'ORB OmniORB. Le compilateur IDL s' |
| - | | + | |
| - | | + | $ source echo-cpp-omniorb/ |
| - | s' | + | |
| - | Vous pouvez configurer votre environnement de la façon suivante : | + | |
| - | $ source echo-cpp-omniorb/ | + | ==Quelques exercices== |
| - | ==Compilation | + | - Compilez |
| + | - Reproduire l' | ||
| + | - Reproduire l' | ||
| + | - En java. Ajoutez une méthode "long echoLong(in long x)" dans le contrat IDL de Echo et testez là. Pour y parvenir, il faut préalablement modifier l'IDL et le recompiler, puis il faut chercher la projection de la méthode // | ||
| - | a) Lire les consignes dans les fichiers README.txt. | ||
| - | |||
| - | b) Reproduire l' | ||
| - | |||
| - | c) Reproduire l' | ||
| - | C++ et réciproquement. | ||
| - | |||
| - | __Nota Bene__ : on utilisera de préférence le service de nommage de Java (tnameserv). | ||
| - | |||
| - | 3) Ajouter une méthode "long echoLong(in long x)" dans le contrat IDL | ||
| - | de Echo et tester là... | ||
| - | |||
| - | IMPORTANT : recompiler l'IDL et chercher la projection de la méthode | ||
| - | echoLong() dans le fichier généré EchoOperations.java. Il faut | ||
| - | implanter le prototype exact, sinon çà ne marche pas ! | ||
| - | | ||
| - | 4) Remplacer les méthodes echoLong() et echoString() par une seule méthode | ||
| - | " | ||
| + | /* - Remplacer les méthodes echoLong() et echoString() par une seule méthode "any echo(in any a)" manipulant le type any. [BONUS] */ | ||
| + | |||
| + | |||
| ====Compte Bancaire==== | ====Compte Bancaire==== | ||
| Implanter en Java le service client/ | Implanter en Java le service client/ | ||
| - | définit par l' | + | définit par l' |
| + | <code idl bank.idl> | ||
| interface Account { | interface Account { | ||
| void deposit(in unsigned long amount ); | void deposit(in unsigned long amount ); | ||
| Line 70: | Line 56: | ||
| Account move(in Bank target, in Account a); | Account move(in Bank target, in Account a); | ||
| }; | }; | ||
| + | </ | ||
| - | Note : La méthode move() utilisera les méthodes balance(), destroy(), | + | __Note__ |
| create() et deposit(). | create() et deposit(). | ||
| Line 77: | Line 64: | ||
| de comptes. Par exemple : | de comptes. Par exemple : | ||
| - | - Account create(out long id); | + | <code idl> |
| - | | + | Account create(out long id); |
| + | Account lookup(in long id); | ||
| + | </ | ||
| Line 112: | Line 101: | ||
| * OmniORBpy : http:// | * OmniORBpy : http:// | ||
| * Tutoriel Python : http:// | * Tutoriel Python : http:// | ||
| - | |||
sysrep/corba.1352904991.txt.gz · Last modified: 2024/03/18 15:05 (external edit)
