Bonjour à tous,
Tout d'abord, j'espère poster cette question au bon endroit. Si ce n'est pas le cas, veuillez m'en excuser.
Voici l'énoncé de ma question :
Imaginons une application J2EE (un EAR) qui contiendrait 2 éléments : un projet Web (WAR) et un projet EJB.
Du côté du projet Web, avec JSF, dans un backing bean, il est possible d'injecter une référence d'EJB via l'annotation @EJB. Jusque là pas de problème. J'arrive très bien à le faire lorsque les 2 projets (Web et EJB) sont dans le même EAR.
Imaginons maintenant que je déploie :
- la partie EJB sur un serveur J2EE (glassfish) 1,
- la partie Web sur un autre serveur J2EE (ou même un conteneur de servlet Tomcat) 2.
Mes questions sont les suivantes :
- Puis-je toujours utiliser les annotations @EJB pour injecter mes EJB distants ?
- Si oui, quelle est la configuration à mettre en place (pour donner le nom du serveur distant, le port ou autres informations permettant de savoir où sont situés les EJB à invoquer) ?
- Suis-je obligé d'enlever mes annotations @EJB pour les remplacer par un système faisant appel à des lookup JNDI ?
Tout ça pour dire que j'aimerais bien séparer :
- ma couche de traitement (service + DAO),
- ma couche de présentation (vues + controleurs).
Merci d'avance pour votre aide / vos réponses.
Cordialement
Partager