Architettura / organizzazione del progetto su applicazione Java EE con EJB 3.0, JPA, progetti Web dinamici su JBoss

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

Domanda

Ho una webapp con diversi progetti Web dinamici, ognuno dei quali generalmente contiene un progetto EJB. Vogliamo farli interagire, come nell'uso dei bean e delle classi dagli EJB reciproci attraverso JNDI, condividendo lo stesso database o usando il proprio. Ma vogliamo anche essere in grado di mantenere progetti diversi su server diversi.

Quale sarebbe il focus giusto per questo tipo di progetto in termini di architettura e organizzazione?

Come dovremmo usare le EAR? Un'orecchio per dominarli tutti e nell'oscurità li lega? (scusate, ho dovuto fare quel riferimento LOTR) o un EAR per server / progetto web, ecc.?

È stato utile?

Soluzione

Lo spazio su disco è economico, ma se si butta tutto in un singolo EAR, il server delle applicazioni è in grado di eseguirli tutti, anche se tutto ciò che si desidera è il servizio A. È meglio rompere gli EJB comunemente usati e distribuirli in essi stessi e i componenti di ogni singolo servizio nelle proprie EAR.

Quindi, usando JBoss come esempio, puoi semplicemente copiare gli artefatti direttamente nella directory deploy di qualunque server su cui vuoi eseguirli.

OrderManagement.ear InventoryManagement.ear StoreFront.ear

Puoi quindi avere tutto, alcuni o niente su un particolare server.

Altri suggerimenti

Gli EJB devono essere modulari, quindi, a seconda del servizio che si desidera fornire, è necessario fornire un EAR adeguato da distribuire. Inoltre, prova a utilizzare MBean e distribuiscili come servizi indipendenti. Le interfacce di gestione aiutano molto durante il debug e il test.

Tieni presente gli scenari di correzione / aggiornamento bug e test di regressione. Più moduli EJB hai nella stessa EAR, più punti funzione necessiteranno di test di regressione anche se hai risolto o aggiunto una nuova funzionalità a uno solo dei moduli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top