M2 MIAGE - TPs CORBA






Plan du TP :

  1. Prérequis
  2. L'application "Convertisseur Euro"
  3. Configurations particulières
  4. L'application Talk





OpenORB: avant de commencer...

OpenORB est une solution gratuite et libre qui fournit une implémentation Java des spécifications OMG 2.4.2 de CORBA (cf. http://openorb.sourceforge.net/). En complément des librairies de développement, OpenORB propose un compilateur IDL vers Java et une implémentation des services CORBA standards (service de noms, d’événements,…).

Configuration préalable de la machine virtuelle Java afin de pouvoir utiliser OpenORB:
Copiez le fichier “orb.properties” du dossier c:\openorb-1.3.1\config vers le dossier lib de votre java home (pour connaître le java home de votre environnement, exécutez la class java suivante ShowMeJavaHome.class)






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/ Code source du convertisseur Euro (à décompresser dans un dossier Euro de votre espace de travail)

Organisation des fichiers:

2/ Creez un nouveau projet dans Eclipse

3/ Configuration de Eclipse pour compiler le fichier IDL

Voici ce que vous devez obtenir:

 

4/ Compilez le fichier IDL et consultez (et identifiez) les différents fichiers générés.

5/ Configuration de Eclipse pour utiliser le service de nommage de OpenORB

Voici ce que vous devez obtenir:

 

6/ Lancez le service de noms

 

7/ Executez l'application Convertisseur Euro :

 

8/ Executez l'application de façon distribuée (service de noms sur une machine distincte puis client et serveur sur des machines distinctes).






Configurations particulières :

Configuration d'OpenORB pour utiliser un service de noms hébergé sur un autre hôte :

Exemple: <property name="NameService" value="corbaloc:iiop:1.2@193.21.44.14:2001/NameService" />

Problème de localisation du Naming Service en cas de configuration incorrecte en salle de TP

Le problème se présente par une échec de la méthode orb.resolve_initial_references("NameService") alors que le service de nommage a été correctement lancé.
Une solution palliative est de se passer de la configuration de l'ORB et de localiser directement le service de nommage au travers de son IOR (ou de sa corbaloc).
Pour cela, il faut remplacer orb.resolve_initial_references("NameService") par :






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


Binaires OpenORB-1.3.1.zip