LICENCE 3ème année
Travaux
Pratiques
de
Programmation Distribuée
(sujet
n°5)
CORBA
- Service de nommage
Télécharger ces
exemples.
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).
A travers les questions suivantes, on vous demande de mettre au point
certains services pour une banque.
Exercice 1
Fabriquer un fichier Compte.idl
dans lequel sont définis
les services suivants qui peuvent s'appliquer à un certain
compte
client :
// dépose un certain montant sur un
compte
void deposeBillets(Flottant);
// retrait d'argent du compte (mais vous n'autorisez
pas le découvert !)
boolean retireBillets(Flottant);
// affiche le montant deposé sur le compte
Flottant afficheMontant();
// vire une somme du compte courant vers le 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é
boolean virementCompteaCompte(Flottant,
Compte);
Exercice 2
Réaliser une
implémentation 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
.
Exercice 3
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.
Exercice 4
Réaliser un Client (Client.java)
qui :
- 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.
Entre chaque opération vous
afficherez un message qui indique les montants sur les deux comptes.
Exercice 5
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.
Exercice 6
Réaliser un Client (Client2.java)
qui utilise Serveur2 et :
- 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.
Entre chaque opération vous
afficherez un message qui indique les montants sur les quatres comptes.