Convertisseur Euro est une application client/serveur CORBA qui permet de convertir une somme en Euros vers la devise de son choix et vice-versa.
1/ Récupérez les sources du projet :
· Convertisseur.idl : description IDL de l'interface Euro.
· EuroImpl.java : implémentation Java du servant Euro.
· ClientConvertisseurEuro.java : application convertisseurEuro côté serveur.
· ServeurConvertisseurEuro.java : application convertisseurEuro côté client.
2/
Compilation et Déploiement du convertisseur Euro
Lancez Eclipse.
Etape 1
(à faire pour chaque nouveau projet) : Création du projet et récupération
des fichiers .java et .idl
Créez
un nouveau projet java avec Eclipse (notez bien l’emplacement de votre projet)
: File / New /
Java Projet…
Donnez
un nom à votre projet (par exemple Euro).
Créez
un répertoire src dans le répertoire du projet (s’il n’y était pas déjà) et
placez-y les fichiers récupérés précédemment (.idl et .java). Note : par
défaut votre workspace se trouve dans C:\Users\etu\workspace.
Effectuez un clic
droit sur le projet / Refresh (ou F5) pour voir les fichiers .java et le .idl :
Pour l’instant, il y a
des erreurs. N’en tenez pas compte.
Etape
2 : Compilation IDL
Créez une
confguration d’exécution d’outil externe (menu Run / External Tools / External
Tools Configurations…)
Cliquez
avec le bouton droit sur « Program » dans le paneau de gauche puis
choisissez « New » ;
dans le
paneau de droite tapez CompilationIDL comme nom ;
cliquez
sur « Browse File System… » sous « Location : » puis
allez chercher le programme idlj.exe qui se trouve dans le répertoire bin du
JDK (par exemple dans C:\Program Files\Java\jdk1.X.X_XX\bin\) ;
cliquez
sur « Browse Workspace… » sous « Working Directory : »
puis allez chercher le répertoire src de votre projet ;
Sous
« Arguments : » tapez : « -fall Convertisseur.idl ».
Vous
devez obtenir quelque chose qui ressemble à cela :
Cliquez
sur le bouton « Run ». La compilation IDL s’effectue. Quand elle se
termine vous verrez <terminated> CompilationIDL [Program]… dans la
Console d’Eclipse.
Effectuez un clic
droit sur le projet / Refresh (ou F5) pour voir les fichiers générés et les compiler :
Consultez
les fichiers générés et identifiez-les.
Consultez
le code du client et du serveur et détaillez les tâches effectuées.
Etape
3 : Exécution sans service de nommage
Exécutez
l’application serveur normalement (par exemple clic droit sur
ServeurConvertisseurEuro.java puis Run As / Java Application).
Recopiez
l’IOR qui s’affiche dans la console (attention elle est très longue veillez
bien à tout copier) et collez là dans le client à la place de IOR:000... dans le
main :
//Utilisation directe
de l'IOR (SAUF utilisation du service de nommage)
org.omg.CORBA.Object distantEuro = orb.string_to_object("IOR:000...");
Sauvez pour compiler.
Lancez
le client (par exemple clic droit sur ClientConvertisseurEuro.java puis Run As
/ Java Application) la fenêtre suivante va s’ouvrir :
Utilisez
l’application.
Etape
4 : Exécution avec service de nommage
Arrêtez
le client (en cliquant sur la croix de la fenêtre « Convertisseur
Euro ») et le serveur (en cliquant sur le rectangle rouge de la Console
d’Eclipse).
Créez
une confguration d’exécution d’outil externe (menu Run / External Tools /
External Tools Configurations…)
Cliquez
avec le bouton droit sur « Program » dans le paneau de gauche puis
choisissez « New » ;
dans le
paneau de droite tapez ServiceNommage comme nom ;
cliquez
sur « Browse File System… » sous « Location : » puis
allez chercher le programme orbd.exe qui se trouve dans le répertoire bin du
JDK (par exemple dans C:\Program Files\Java\jdk1.X.X_XX\bin\) ;
cliquez
sur « Browse Workspace… » sous « Working Directory : »
puis allez chercher le répertoire de votre projet ;
Sous
« Arguments : » tapez : « -ORBInitialPort 1050 ».
Vous
devez obtenir quelque chose qui ressemble à cela :
Cliquez
sur « Run ». Le service de nommage démarre.
Modifiez le serveur
pour qu’il utilise le service de nommage.
Lancement
du serveur : clic droit sur ServeurConvertisseurEuro.java puis Run As /
Run Configurations…
Normalement
vous devriez avoir les deux configurations crées lors de l’exécution précedente
(ServeurConvertisseurEuro et ClientConvertisseurEuro) sinon créez les.
Choisissez
celle du serveur, cliquez sur Arguments et tapez dans Program arguments :
«
-ORBInitialPort 1050 -ORBInitialHost
localhost ».
Tapez
un nom pour l’objet CORBA.
Modifiez le client
pour qu’il utilise le service de nommage.
Lancement
du client : clic droit sur ServeurConvertisseurEuro.java puis Run As / Run
Configurations…
Choisissez
la configuration du client, cliquez sur Arguments et tapez dans Program
arguments :
«
-ORBInitialPort 1050 -ORBInitialHost localhost ».
Tapez
le nom de l’objet CORBA.
Exécutez l'application de façon
distribuée (service de nommage sur une machine – dont vous indiquerez
l’adresse IP après –ORBInitialHost – puis client et serveur sur des
machines distinctes).
Note : pour obtenir
l’adresse IP de la machine qui exécute le serveur de nommage vous pouvez taper
« ipconfig
/all » dans un terminal (Menu démarrer / Tous les programmes /
Accessoires / Invite de commande). S’il y a plusieurs adresses IP choisissez
celle après laquelle il y a marqué (préféré).
- L’application qu’on vous demande de réaliser est un talk, i.e. un échange de
chaînes de caractères entre deux utilisateurs (une fenêtre d’émission, une
fenêtre de réception). Dans un premier temps, la communication sera
unidirectionnelle, puis dans un second temps, elle devra être bidirectionnelle.
Remarque : Assurez-vous d’avoir le même contrat IDL que votre voisin afin
de pouvoir tester l’application de façon répartie.
- Une fois cette application implémentée, effectuez les modifications nécessaires pour transformer ce talk en chat (un émetteur, plusieurs récepteurs).