TPs CORBA version JAVA seul


L'application "Convertisseur Euro"

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 :

 

 Description : Macintosh HD:Users:torguet:Pictures:config_compilIDL.jpg

 

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 :

 

Description : Macintosh HD:Users:torguet:Documents:enseignement:M2_STRI:compil_idl.jpg

 

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 :

 

Description : Macintosh HD:Users:torguet:Pictures:config_naming.jpg

 

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 ».

 

Description : Macintosh HD:Users:torguet:Pictures:serveur.jpg

 

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 Talk


- 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).