Bonjour à tous,

Je suis en train de me former à J2EE avec un bon bouquin (y'a rien de tel ) et dans un exemple il y a un truc que je ne comprends pas.
Voilà le code incriminé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
agencyJNDI = "java:comp/env/ejb/Agency";
InitialContext ic = new InitialContext();
Object lookup = ic.lookup(agencyJNDI);
AgencyHome home = (AgencyHome)PortableRemoteObject.narrow(lookup, AgencyHome.class);
Agency agency = home.create();
System.out.println("Welcome to: "+agency.getAgencyName());
Ce code fait partie d'un client simple censé récupérer une référence vers un EJB Agency pour pouvoir l'utiliser.
Alors pour tout ce qui est des appels JNDI c'est bon, je comprends. Par contre je ne vois pas du tout à quoi sert l'appel à narrow à la 4ème ligne. Je veux dire je sais qu'il y a une raison liée à RMI mais comme je n'ai pas utilisé ça assez souvent j'ai un peu de mal à avoir les idées claires dessus. Alors quelqu'un saurait-il m'expliquer pourquoi on ne fait pas tout simplement un truc du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
agencyJNDI = "java:comp/env/ejb/Agency";
InitialContext ic = new InitialContext();
Object lookup = ic.lookup(agencyJNDI);
AgencyHome home = (AgencyHome)lookup;
Agency agency = home.create();
System.out.println("Welcome to: "+agency.getAgencyName());
Merci d'avance pour vos réponses

rozwel