Envoyé par
OButterlin
Petites précisions en passant...
Il n'est pas nécessaire d'utiliser un EJB session stateful côté serveur, un stateless peut très bien faire l'affaire...
Lorsqu'on utilise une interface Remote, les arguments sont passés par valeur alors qu'avec une interface Local, ils sont passés par référence.
Il est fortement recommandé d'utiliser le concept de facade pour améliorer les performances de l'application et éviter des aller/retour entre client et serveur.
Dans ce concept, on centralise les méthodes utililes dans un objet et son interface et c'est cet objet qui invoquera les autres EJB (de préférence via Local), ce qui ressemble à ceci
entre (1) et (2), on a un passage par valeur avec marshalling/unmarshalling
entre (2) et (3), on a un passage par référence (donc direct)
Dans le cas d'une application web, on pourrait utiliser uniquement des interfaces Local (tous les traitements étant fait sur le serveur)
Dans le cadre d'une application client lourd (swing par exemple), il sera nécessaire de passer par Remote et de configurer correctement JNDI pour récupérer "l'initialContext" via jndi.properties ou en interne via un objet Properties
Partager