Múltiplos WAR com compartilhamento de recursos

Pessoal…

Estou batendo a cabeça aqui pra montar uma estrutura modular, mas não estou conseguindo.
A ideia é a seguinte:
Ter uma aplicação web (WAR) genérica que ficará responsável por encapsular todos os arquivos javascript, css e layout da minha aplicação. Nessa aplicação também teria todo o gerenciamento de montagem de menus de navegação que viria do banco de dados.
Imagine então que a árvore de arquivos ficaria algo como:
WebAppBase

Depois seria apenas necessário montar meus módulos conforme a necessidade.
Esses módulos iriam ler os conteúdos de script, css, img do WebAppBase, inclusive o arquivo de layout principal.
E aí eu montaria um EAR com todos os WARs do projeto e publicaria no server.

A pergunta é: é possível ter uma estrutura como essa?
Como eu faria para carregar esses recursos dentro dos meus “módulos”?

sim, é possível.

Mas pq war? O correto seria você fazer isso como jar, já que não é um projeto que vai se comportar como “standalone”.

Com Jar, bastaria adicionar como dependência no outro projeto.

Então Hebert…

Mas colocando num jar, eu não conseguiria rodar a estrutura de menu do layout do template que seria carregado de um ManagedBean.
Ou conseguiria?

Hebert,

Estava aqui fazendo uma bateria de testes e deu certo. Interessante! É só montar o projeto “master” como um projeto web normal, mas colocar o conteúdo que quero usar como resources em META-INF/resources e exportar num jar que funciona normal. Inclusive os ManagedBeans

Valeu!

Já que estamos falando de múltiplos war, mais uma dúvida:
Cada WAR é criado num contexto separado. Com isso, as sessões não são compartilhadas entre os contextos. Fiz alguns testes e acabei conseguindo acessar a sessão através do “getServletContext().getContext(”/ContextoWeb")" (para verificação do usuário logado)

Existiria algum meio mais correto de fazer isso?

[quote=biancuzzi]Hebert,

Estava aqui fazendo uma bateria de testes e deu certo. Interessante! É só montar o projeto “master” como um projeto web normal, mas colocar o conteúdo que quero usar como resources em META-INF/resources e exportar num jar que funciona normal. Inclusive os ManagedBeans

Valeu!

Já que estamos falando de múltiplos war, mais uma dúvida:
Cada WAR é criado num contexto separado. Com isso, as sessões não são compartilhadas entre os contextos. Fiz alguns testes e acabei conseguindo acessar a sessão através do “getServletContext().getContext(”/ContextoWeb")" (para verificação do usuário logado)

Existiria algum meio mais correto de fazer isso?[/quote]
Para te falar a verdade, eu nunca fiz ou precisei fazer isso. Compartilhamento de sessões entre “wars”.

Bem se tá funcionando, bola pra frente! :smiley: :smiley: :smiley:

hehehehe
Vou mandar bala aqui então!

Valeu Hebert!

Fica então o tóipico setado como resolvido!
Mais uma vez brigadão pela ajuda!

Rapaz, e como você fez os links entre os módulos WAR ??? Tipo… dentro do contexto WAR X como faz para ir para o módulo WAR Y através de um botão ou link??? curioso com isso. Poderia mostrar um exemplo? grato!

Acho que o que vc ja fez tem um plugin que faz isso de forma transparente:

https://maven.apache.org/plugins/maven-war-plugin/overlays.html

O “link” é simples… é um link mesmo. Aí eu organizei cada módulo num contexto. Por exemplo:
/cadastro
/contas
Lembrando que cada um desses é um war separado.