2010-05-10 12 views
5

momento gestita due webapps separati (guerre) distribuiti in un singolo EAR contenenti ulteriori JAR e impostazioni. Per migliorare il nostro deployment voglio dividere una di queste webapp in moduli diversi che possono essere compilati e impacchettati singolarmente. Ma al momento non ho idea di come impacchettare questi moduli in modo che sia possibile aggiungerli o rimuoverli come desiderato, al meglio durante il runtime.Come distribuire una singola webapp con più web-moduli che possono essere rimossi o aggiunti singolarmente

La webapp sta diventando sempre più complessa e mi piacerebbe separare alcune delle funzionalità in moduli. Questi moduli dovrebbero essere impacchettati come archivi singoli. Finché contengono solo classi e risorse caricate attraverso il codice, so come farlo (semplici JAR). Ma che dire dei JSP? Normalmente un file WAR contiene JSP o file HTML. Nel mio caso si tratta di JSF pagine che utilizzano JBoss Seam e RichFaces.

Questi moduli saranno aggiungere classi, risorse e pagine JSF e altri include al webapplication esecuzione. È in qualche modo possibile distribuirli come singoli archivi per servire la stessa webapp in esecuzione?

Stiamo usando Maven per la nostra generazione e il confezionamento e distribuire in JBoss v4.

+0

Ciò che si chiede va oltre le funzionalità delle distribuzioni JavaEE. Potresti * considerare un contenitore next-gen come Spring dmServer, se vuoi davvero questo tipo di cose. – skaffman

+0

Alcune discussioni interne hanno rivelato la possibilità di utilizzare elementi JSF codificati Java invece dei file XHTML. Ad esempio un modulo potrebbe implementare qualcosa come HtmlPanel pubblico getHtmlPanel(); Ma questo significa che dovremmo convertire diversi (50+) file xhtml esistenti in codice. Mi piacerebbe evitarlo. –

risposta

1

Un modo semplice per farlo è mettere i JSP di diversi moduli in diverse cartelle e i JSP che sono comunemente usati in tutti i moduli possono essere mantenuti nella radice.

Ora se si desidera scaricare un modulo, rimuovere la cartella corrispondente.

Spero che questo aiuti.

+0

Questo è un modo possibile per gestirlo ... ma in un progetto ampio e complesso con un hoster separato coinvolto nella distribuzione non può essere gestito in modo sicuro e quindi non è praticamente. Grazie comunque. –

+0

@Daniel altre idee? –

+0

Ancora niente di nuovo qui ... solo l'idea menzionata nel mio commento alla domanda originale. Sto gestendo molte cose parallele in questo momento e spero di trovare ancora qualcosa per questo argomento durante questa settimana. –

Problemi correlati