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.