Implantation du client
1- Actions de base
Importation
import HelloApp.*; // Package contenant les talons("stubs").
import org.omg.CosNaming.*; // Pour utiliser le service de nommage.
// Package contenant les exceptions lancées par le service de nommage.
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*; // Classes nécessaires à toute application CORBA.
Déclaration de la classe client
public class HelloClient {
public static void main(String args[]) {
try {
// Code de HelloClient (voir paragraphe suivant).
} catch(Exception e) {
System.out.println("ERREUR : " + e);
e.printStackTrace(System.out);
}
}
}
2- Création de l'objet ORB et gestion de
l'objet
applicatif client
Chaque client crée une instance locale
d'ORB
et construit une référence sur l'objet applicatif Hello.
// création et initialisation de l'ORB
ORB orb = ORB.init(args, null);
// Obtention d'une référence au serveur de noms
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
// L'objet obtenu est un objet CORBA générique. Il est converti dans
// son type propre grâce à la classe HelloHelper générée par le compilateur
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
// nom symbolique de l'objet recherché
String nom = "Hello";
// Obtention d'une référence sur l'objet
Hello helloImpl = HelloHelper.narrow(ncRef.resolve_str(nom));
System.out.println(" la référence "+ helloImpl + " sur l'objet est obtenue");
3- Code applicatif
String msg = helloImpl.sayHello();
helloImpl.shutdown();