[quote=asaudate]Caros,
MVC é um padrão de projeto arquitetural. Ele não diz respeito quanto ao que deve ser utilizado para sua implementação, apenas dá a idéia do que deve ser feito. Não cabe dizer que EJB tem ou não tem lugar no MVC porque, sendo MVC apenas um modelo abstrato, ele não proíbe ou reforça qualquer tecnologia - aliás, isso é válido inclusive para a linguagem de programação em si. Ou vocês vão dizer que uma aplicação .NET não tem MVC ?
No entanto, é óbvio que - para tudo que envolve TI - deve haver bom senso. Não é uma decisão bem fundamentada querer usar EJB num sistema de padaria (a não ser que seja uma padaria imensa). Assim como não dá pra falar que um revendedor online, tipo um submarino, deve usar somente servlets e jsp (e, se bobear, jdbc pra acessar a base de dados).
Pra finalizar… nem me aventuro a entrar na discussão Spring x EJB. Isso porque cada um tem vantagens e desvantagens - eu quase sempre utilizo EJB. Em alguns casos, utilizo Spring e, em casos mais raros, os dois em conjunto (pois é, eles não são mutuamente excludentes). O que não dá é ser xiita e fechar a cabeça e falar “eu só uso Spring porque EJB é bobo, chato e cabeça de melão”.
[]'s
P.S: Ri muuuito com a frase “EJB é uma solução procurando desesperadamente por um problema”. =D[/quote]
concordo com tudo isso que o asaude falou, apenas complementando, o EJB não está diretamente relacionado ao “conceito de camadas” mesmo, mas ele visa facilitar o ato de evitar alguns problemas ou dificuldades que você pode ter especialmente no modelo, sim. Por exemplo, é nessa camada que você pode ter processamentos mais pesados, para contornar isso você pode ter pools de instâncias dessas regras de negócio pesadas, balanceamento de carga, pode processa isso de forma assíncrona com a regra de negócio em uma fila JMS por exemplo, de forma simplificada. Além disso você pode ter outras facilidades sim como injeção de dependência ou JTA.
Apenas para considerar, o EJB não está diretamente ligado ao conceito de “camadas”, mas honestamente não vejo muita lógica em usa-lo fora do modelo…