Saudações!
Estou iniciando no Jboss Seam e gostaria de saber como vocês estruturam suas aplicações no framework.
Minha dúvida deriva em duas vertentes (a) e (b):
a) Os Session Beans que eu crio, anotados com as anotações EJB e Seam, podem ser interagidos através de outras fontes além do JSF, como um Web Service ou até mesmo uma apcalicação standalone via JNDI, correto?
Nesse caso, teríamos uma estrutura inicial com os seguintes pacotes:
app.negocio //(aqui ficariam os Session Beans, responsáveis por toda regra de negocio)
app.dao //(camada que efetivamente usaria o entityManager para persistir, é usada pela camada de negócio)
app.modelo //(classes de entidade)
b) Ou acaba-se escrevendo coisas específicas do framework como “redirecione para o JSP X” ou “exiba o widget de mensagem Y”, que um webservice ou uma aplicação standalone não entenderia?
Nesse caso, os senhores concordam que os Session Beans agem como controladores (estranho) específicos do Seam e não devem conter regras de negócio? Ficaria então:
app.seam //(session beans que encapsulam os métodos do negócio, assim um webservice, por exemplo, não precisa conhecer essa camada)
app.negocio //(classes java (ou sesison beans também?) responsáveis pela regra de negócio)
app.dao //(camada que efetivamente usaria o entityManager para persistir, é usada pela camada de negócio)
app.modelo //(classes de entidade)
E então? o que ocorre na realidade?
atenciosamente,
bluefoot
