Olá,
Estou montando uma aplicação web usando Spring, Hibernate, MyFaces e Facelets.
A integração do Spring com o Hibernate e o MyFaces é muito boa e atende bem as minha necessidades.
Injeção de dependências, inversão de controle e poder deixar todo o controle transacional e de abertura de seção do Hibernate na mão dele é uma mão na roda.
Acontece (agora sim surgiu um problema) que algumas entidades dessa aplicação (Usuário, Pessoa) serão usadas por outras aplicações futuras e fiquei na dúvida de como permitir as outras aplicações web acessar essas entidades.
Como nessa aplicação todas as ações feitas nas entidades é feita por meio de uma fachada pensei em criar um outro módulo só com os classes de negócios, seus repositórios e a fachada e carregar o applicationContext do Spring nela em vez de usar o web.xml.
Só que fazendo isso vi que perderia o OpenSessionInFilter.
Resumindo o meu problema: eu quero separar da aplicação web a lógica do negócio e coloca-lá em um módulo que eu possa usar em qualquer outro sistema sem perder as ?molezas? que o Spring oferece.
Tem jeito ou devo partir para o EJB3?