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();