Spring Brasil User Group

Fortalecendo a comunidade Spring no Brasil

Porque você ainda usaria Spring Framework?

Considerando o lançamento recente do Java EE 6 com as evoluções do EJB para 3.1 e do JPA para 2.0, porque ainda deveríamos continuar usando o Spring Framework?

Muitas das idéias do Spring e do Hibernate foram adotadas no EJB 3.x e no JPA, decretando a morte dos entity beans do EJB 2.x e o uso de Javabeans (POJOs) como base para o modelo de componentização com acesso aos serviços enterprise. Agora temos uso extensivo de anotações, uso efetivo de OO e design patterns na modelagem dos componentes de negócios, a capacidade de definir interfaces de negócios para os componentes, a presença da injeção de dependências já na modelagem dos componentes, etc.

Então, porque ainda deveríamos utilizar o Spring Framework e não o EJB 3? Qual a sua opinião?

A minha foi registrada no meu blog: EJB 3: Uma evolução sob os conceitos do Hibernate e Spring.

Exibições: 478

Responder esta

Respostas a este tópico

Na minha opinião o Spring oferece algumas vantagens sobre o Java EE.
- O Spring oferece um modelo de segurança bem mais evoluído, através do Spring Security - quando há a necessidade de refinar o modelo de segurança, e estamos baseados em Java EE / EJB acabamos nos envolvendo com APIs proprietárias do servidor de aplicação, que muitas vezes não possuem uma documentação satisfatória.
- Suporte "nativo" a AOP, o que abre muitas possibilidades para a testabilidade das aplicações, além de permitir endereçar de forma elegante problemas não triviais, que escapam dos modelos de componente Java EE.
- No Spring continuaremos encontrando iniciativas de inovação, o que o coloca sempre um passo à frente, enquanto que, no Java EE prevalecem as iniciativas de padronização.

É importante reconhecer que nem sempre teremos esses fatores como decisivos para os projetos, o que torna o Java EE 6 (com diversos mecanismos já consagrados em edições anteriores do Spring), uma opção muito atraente.
A única vantagem que eu vejo para as minhas necessidades hoje é que eu posso executar a minha aplicação em um Servlet Container. Mas acho que com a vinda dos servidores com web profile já não existirá mais diferenças, repito, para o que estou acostumado a usar.
Olá!
Na minha opnião, dentre várias caracteristicas, o spring MVC apresentou melhor modelo para implementar uma solução em uma aplicação Web que desenvolvi. Enfim, eu precisava de um modelo onde fosse possível implementar um dos principais requisitos para SEO(Search Engine Optimization) que é a "url amigável", ou seja, fazer com que uma url como:
(www.mysite.com.br/canal2/3/algum3.htm ou www.mysite.com.br/canal2/algum3/5/produto5.htm) sejá mapeada pra uma requição válida.
APesar de ser possível fazer isto em vários frameworks no mercado como JSF, com spring isto se tornou bem simples de fazer pela disposição dos Controllers e respectivos "actions mapping" similar ao que acontece no .Net, ou seja não é preciso implementar um monte de filters, e listeners para mepear uma requisição. e sem contar que com a arquitetura MVC do spring vc realmente desenvolve em um modelo MVC, ou seja, quem recebe a requisição é o controller e não a View, e o controller realiza as lógicas para decidir qual a view que irá renderizar a visualização bem como qual o bean a ser entregue para a mesma e partir dai todas as ações executadas na view podem acontecer diretamente no bean, desta forma a view não precisa saber, necessáriamente, qual o bean que foi entregue para ela, basta apenas conhecer o contrato(interface).
Da pra perceber que este modelo não é bem simples de ser implementado em outros frameworks MVC do mercado.
Devemos buscar melhor composição para Industrializar aplicações Enterprise, ao Spring na certa tem maior vantagem por extender a padrões que são tão compreendidos no Core do JEE como não, e isso não vem a ser a realidade ainda madura dos aspectos de legados Java Enterprise na evolução JEE 6 para usar composição de frameworks mais dinâmicos em resumo "ficou devendo por não ser modular", e ai que vem o Spring para mudar ou dizer agora sou a nova Plataforma Enterprise JEE.X, ou até dizer deixa comigo que por agora em diante eu tomo conta das crianças ; -)

Um artigo que recomendo a leitura é o case da IBM como exemplo:

http://www.ibm.com/developerworks/br/rational/library/10/generating...

E o que eu perguntária é, que ferramenta a Spring tem equivalente para torna a mesma composição de forma tão inteligente quanto essa apresentada pela a solução IBM com um arsenal totalmente Open Source, seria o "Spring Roo" ?

Para mim Spring é muito mais flexível em termos de configuracões, mais produtivo e testável.

[],

Ronaldo

Responder à discussão

RSS

© 2012   Criado por Dr. Spock.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço