Architecture / organisation de projet sur application Java EE avec EJB 3.0, JPA, projets Web dynamiques sur JBoss

StackOverflow https://stackoverflow.com/questions/420222

Question

J'ai une application Web avec différents projets Web dynamiques, chacun contenant généralement un projet EJB. Nous souhaitons les maintenir en interaction, par exemple en utilisant des beans et des classes provenant des EJB les uns des autres via JNDI, en partageant la même base de données ou en utilisant la leur. Mais nous voulons aussi pouvoir garder différents projets sur différents serveurs.

Quel serait le bon axe pour ce type de projet en termes d’architecture et d’organisation?

Comment devrions-nous utiliser les EAR? Une oreille pour les gouverner tous et les lier dans l'obscurité? (désolé, je devais faire cette référence LOTR), ou un EAR par serveur / projet Web, etc.?

Était-ce utile?

La solution

L'espace disque est bon marché, mais si vous mettez tout en place dans un seul fichier EAR, votre serveur d'applications est susceptible de toutes les exécuter, même si vous ne voulez que le service A. Vous avez tout intérêt à casser les EJB couramment utilisés et à les déployer par eux-mêmes, et les composants de chaque service individuel dans leurs propres EAR.

Ensuite, en utilisant JBoss à titre d'exemple, vous pouvez simplement copier les artefacts directement dans le répertoire de déploiement de n'importe quel serveur sur lequel vous souhaitez les exécuter.

OrderManagement.ear InventoryManagement.ear StoreFront.ear

Vous pouvez alors avoir tout, certains ou rien sur un serveur particulier.

Autres conseils

Les EJB sont conçus pour être modulaires. Par conséquent, en fonction du service que vous souhaitez fournir, vous devez fournir un fichier EAR approprié à déployer. Essayez également d'utiliser des MBeans et de les déployer en tant que services indépendants. Les interfaces de gestion aident beaucoup lors du débogage et des tests.

N'oubliez pas les scénarios de correction de bogues / de mise à niveau et de test de régression. Plus vous avez de modules EJB dans le même fichier EAR, plus le nombre de points de fonction nécessitera un test de régression, même si vous corrigez ou ajoutez une nouvelle fonctionnalité à un seul des modules.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top