TP5 : service de nommage CORBA
Téléchargez cette archive contenant
des exemples à tester et à compléter.
Exercice 0
Dans le répertoire Nommage
, vous trouvez un
exemple d'utilisation du service de noms. Cet exemple est compilable
(commande ./compile
) et exécutable (les commandes
à exécuter sont présentées dans les
fichiers Serveur.java
et Client*.java
).
Exercice 1
- Construire un fichier
Compte.idl
dans lequel sont définis
les services suivants qui peuvent s'appliquer à un certain
compte en banque client :
- dépôt d'un certain montant sur le compte,
- retrait d'argent du compte (découvert non autorisé !),
- affichage du montant déposé sur le compte,
- virement d'une somme du compte courant vers un compte spécifié,
en paramètre : si le montant du compte est insuffisant, l'opération,
n'est pas réalisée et
false
est retourné.
- Réaliser l'implémentation de
CompteImpl.java
pour
l'interface Compte.idl
. Créer un fichier ./compile
qui vous permet de compiler l'interface Compte.idl
et le fichier
CompteImpl.java
.
- Réaliser un Serveur (
Serveur.java
)
qui crée deux comptes clients et les publie sur le serveur de
nom. Le nom de la machine hébergeant le serveur de noms sera
passé en argument du programme.
- Réaliser un Client (
Client.java
) qui effectue
les opérations suivantes et affiche le montant des deux comptes
entre chaque opérations :
- ajoute une somme sur les deux comptes du Serveur,
- retire une autre somme sur chaque compte du Serveur,
- fait un virement d'un compte à l'autre.
Exercice 2
- Construire un deuxième Serveur (
Serveur2.java
)
qui crée un contexte. Celui-ci correspond à un nom
d'agence bancaire. Dans cette agence bancaire, vous créerez deux
contextes correspondants à deux noms de clients
différents. Vous créerez enfin deux comptes par client
qui seront associés à des objets CORBA de type Compte
.
- Réaliser un Client (
Client2.java
) qui utilise Serveur2
et qui effectue les opérations suivantes (en affichant le montant sur chaque compte
entre chaque opération) :
- ajoute une somme sur les 4 comptes du Serveur,
- retire une autre somme sur chaque compte du Serveur,
- fait un virement d'un compte vers un autre.
- Réaliser un petit Client (
Client3.java
)
qui permet de lister les différentes agences puis les clients
qui se trouvent dans ces agences (le nom de l'agence sera passé
en argument de Client3
). Vous utiliserez pour cela la
méthode list
de la classe NamingContext
(voir l'API java).
Exercice 3
Comprendre et essayer les programmes Client
et Serveur
du répertoire Mystere
.
Expliquez succintement ce que font les deux programmes.
Expliquez pourquoi la commande suivante renvoie un résultat
valide :
java Client localhost 3000 rep1/rep3/rep3/rep1/rep3/rep3/rep2/et2
Resultat trouvé : Lesmemealamaison Leon-Jay
[Page réalisée à à l'aide
d'un document de Guillaume
Latu]