Bonjour,

Quand nous utilisons RMI nous sommes dans le cas suivant :
client (qui manipule Service) <-> proxy (client) ----- internet ------ proxy (serveur) <-> ServiceBean (objet qui implémente Service).
Service hérite de Remote.

Par contre, si nous utilisons des EJB, nous avons :
Service qui implémente EJBHome
ServiceBean qui implémente Service. et nous avons un fichier pour dire que ServiceBean à un liens avec ServiceHome

ServiceHome contient une méthode :
public Service create()....

Ou ce trouve l'implémentation de la classe qui utilise ServiceHome ?
De plus, côté clients, nous devons faire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Object ref = ctx.lookup("MonPremierBean");
      ServiceHome home = (ServiceHome) javax.rmi.PortableRemoteObject.narrow(ref,
        MonPremierBeanHome.class);      
      Service bean = home.create();
Avons nous un Proxy derrière home et bean ?
Pourquoi appeler avax.rmi.PortableRemoteObject.narrow ?
De plus, ou ce trouve la l'implémentation de la classe qui hérite de ServiceHome ?
Ne pouvons-nous pas directement récupérer une instance de type Service au lieu de faire toutes ses lignes ?