Visibroker est un produit dvelopp par Borland (aujourdhui proprit de MicroFocus). Cest un ORB commercial compatible avec la norme CORBA 2.6. Il permet le dveloppement dapplications en Java, C++ et C#.
Pour ce TP nous allons utiliser des machines virtuelles accessibles avec RDP (Menu Dmarrer / Tous les programmes / Accessoires / Connexion Bureau distance)
Les machines virtuelles sont accessibles (uniquement sur le rseau de la Fac) avec ladresse IP donne par lenseignant de TP et un numro de port qui varie dune machine lautre. Veillez bien tous utiliser des machines virtuelles diffrentes.
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/ Rcuprez les sources du projet :
Convertisseur.idl : description IDL de l'interface Euro.
EuroImpl.java : implmentation Java du servant Euro.
ClientConvertisseurEuro.java : application convertisseurEuro ct serveur.
ServeurConvertisseurEuro.java : application convertisseurEuro ct client.
2/ Compilation et Dploiement du convertisseur Euro
Lancez Eclipse.
Etape 1 ( faire pour chaque nouveau projet) : Cration du projet et rcupration des fichiers .java et .idl
Crez un nouveau projet java avec Eclipse (notez bien lemplacement de votre projet) : File / New / Java Projet
Donnez un nom votre projet (par exemple Euro).
Cliquez sur Next et choisissez Libraries
puis cliquez sur Add External JARs (note
si vous avez loup cette tape vous pouvez retrouver cela dans les proprits
du projet – Project / Properties
– et en choisissant Java Build
Path dans la liste gauche de la fentre) :
Cherchez C:\MicroFocus\VisiBroker\lib\vbjorb.jar (le .jar peut tre cach) et cliquez sur Ouvrir. Vous devez dsormais voir ceci :
Crez un rpertoire src dans le rpertoire du projet (sil ny tait pas dj) et placez-y les fichiers rcuprs prcdemment (.idl et .java). Note : par dfaut 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 linstant, il y a des erreurs. Nen tenez pas compte.
Etape 2 : Compilation IDL
Dans le menu Dmarrer, choisissez Tous les programmes , puis Visibroker et lancez Visibroker Command Prompt :
Placez vous dans le rpertoire src du projet (par
exemple : C:\Users\etu\workspace\Euro\src ). Vous devez y voir les
fichiers suivants :
Tapez la commande suivante :
idl2java Convertisseur.idl
Effectuez un clic droit sur le projet / Refresh (ou F5) pour voir les fichiers gnrs et les compiler :
Consultez les fichiers gnrs et identifiez-les.
Consultez le code du client et du serveur et dtaillez les tches effectues.
Etape 3 : Excution sans service de nommage
Pour xecuter lapplication on va nouveau utiliser Visibroker Command Prompt .
Dplacez vous dans le rperoire bin (depuis src : cd .. puis cd bin ).
Tapez start pour dupliquer la fentre.
Lancement du serveur : dans la premire fentre tapez vbj ServeurConvertisseurEuro :
Activez le copier/coller dans la fentre Visibroker Command Prompt en chosissant Proprits dans le menu de sa fentre (clic droit sur la barre de titre ou clic gauche sur licne en haut gauche) et en activant Mode dՎdition rapide et Mode insertion :
Recopiez lIOR (surlignez le texte avec la souris puis appuyez sur Entre ) et collez l dans le client la place de IOR:000... dans le main (attention tout doit tre sur une seule ligne) :
//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.
Lancement du client : dans la seconde fentre Visibroker Command Prompt tapez vbj ClientConvertisseurEuro , la fentre suivante va souvrir :
Utilisez lapplication.
Etape 4 : Excution avec service de nommage
Arrtez le client (en cliquant sur la croix de la fentre Convertisseur Euro ) et le serveur (en tapant Ctrl-C).
Dans le menu Dmarrer, choisir Tous les programmes , puis Visibroker et lancer Visibroker Smart Agent :
Tapez start dans une des deux fentres Visibroker Command Prompt pour lancer une troisime fentre.
Dans une fentre tapez nameserv suivi dun nom de service de nommage (attention cette tape tout le monde doit avoir un nom diffrent donc utilisez votre nom) : nameserv dupont .
Modifiez le serveur pour quil utilise le service de nommage.
Lancement du serveur : dans la seconde fentre Visibroker Command
Prompt tapez (attention remplacez dupont par le nom de
votre service de nommage)
vbj
-DSVCnameroot=dupont ServeurConvertisseurEuro .
Modifiez le client pour quil utilise le service de nommage.
Lancement du client : dans la troisime fentre Visibroker Command
Prompt tapez (attention remplacez dupont par le nom
de votre service de nommage)
vbj
-DSVCnameroot=dupont ClientConvertisseurEuro .
Note : il ny a normalement besoin que dun seul Smart Agent et Service de nommage par rseau local (dcouverte grce une diffusion).
Excutez l'application de faon distribue (service de noms sur une machine unique puis client et serveur sur des machines distinctes).
Interoprabilit C++/Java :
Recuprez
ce fichier zip, dcompressez-le et dmarrez une fentre
Visibroker
Command Prompt , dplacez-vous dans le rpertoire extrait du
fichier zip et tapez : visual.bat . Ceci
permettra de rcuprer les variables denvironnement de Visual Studio (version 64
bits). Ensuitez tapez : nmake . Ceci excutera un makefile qui fera
une gnration IDL pour C++ (vous pouvez consulter les fichiers gnrs : Convertisseur_c.cpp,
Convertisseur_c.hh,
Convertisseur_s.cpp et
Convertisseur_s.hh) et compilera le client. Ensuite,
alors que le serveur Java convertisseur fonctionne toujours, lancez le client
C++ (attention remplacez dupont par le nom de votre service de nommage) : Client -DSVCnameroot=dupont .
Ici aussi vous pouvez faire une excution distribue.
- Lapplication quon vous demande de raliser est un talk, i.e. un change de
chanes de caractres entre deux utilisateurs (une fentre dՎmission, une
fentre de rception). Dans un premier temps, la communication sera
unidirectionnelle, puis dans un second temps, elle devra tre bidirectionnelle.
Remarque : Assurez-vous davoir le mme contrat IDL que votre voisin afin
de pouvoir tester lapplication de faon rpartie.
- Une fois cette application implmente, effectuez les modifications ncessaires pour transformer ce talk en chat (un metteur, plusieurs rcepteurs).