Seg 25 Jun 2007
Aplicações Web 2.0 Robustas em tempo recorde, com EXT JS, DWR 2, EJB 3 e JPA
Publicado por oziel_neto sob Java Open for BusinessSeguindo as tendências do mercado para os próximos anos e apresentadas no Java One 2007, criei um modelo para aplicações baseadas em WEB 2.0 usando os conceitos de AJAX, e baseado no framework DWR (Direct Web Remoting) (http://getahead.org/dwr/) associado a EJB3 e JPA da Java EE 5.
Para a Interface com o Usuário, foram escolhidos os Widgets do EXT JS (http://www.extjs.com) que combinados com páginas JSPs permitem a geração dinâmica da UI (Interface do Usuário).
Com o uso extensivo de CSS e de DIVs (TABLELESS), pode-se trocar imagens e mudar o visual facilmente, criando o conceito de temas.
A integração do DWR com os Serviços da Aplicação baseados em Façades e Delegates implementados com SessionBean Stateless funciona muito bem, deixando o controle de transações a cargo do EJB Container
E como o maior problema de qualquer aplicação grande é ligar a camada de serviços com a camada de persistência, adotei a estratégia de usar o padrão de DAO (Data Access Objects) abstraindo as chamadas de NamedQueries do JPA
O resultado foi muito bom, o que levou a batizar este modelo de Fast Dev Framework, que combinado á componentes já consolidados na comunidade Java, fornece mecanismos de filtro, paginação, relatórios, autenticação, autorização em bancos de dados ou LDAP, mecanismos de mensageria, scheduler, sem esquecer de logging e auditoria, permitindo a criação de aplicações complexas com qualidade, aderentes ao padrão Java EE e em tempo recorde!
Este framework está testado e homolgoado para:
Enviar por e-mail. Hits para esta publicação: 1299.

Junho 1st, 2007 at 18:45
Oziel,
queria aproveitar a oportunidade pra fazer uma pergunta sobre o JPA. Estive estudando o pattern Model Facade no site dos Blueprints para Java EE 5:
https://blueprints.dev.java.net/bpcatalog/ee5/persistence/facade.html
Acabei concluindo que esse pattern pressupõe o fim dos DAOs: com o JPA, você poderia fazer chamadas diretas ao EntityManager de dentro do Facade. No entanto, você menciona que os DAOs ainda fazem parte do seu framework.
Ocorre que o tradicional pattern DAO, onde você implementa uma interface para os diferentes RDBMSs que possam vir a ser utilizados, não se aplica mais aqui, já que o provedor de persistência que implementa o JPA é quem está abstraindo o acesso ao DB.
Você concorda comigo? Em caso afirmativo, isso significa que os DAOs, de agora em diante, estariam implementando apenas uma interface básica do tipo CRUD?
Obrigada,
Cristina
Junho 4th, 2007 at 09:06
Olá Cristina!
Realmente, os Blueprints da Sun orientam que não há mais necessidade do uso de DAOs visto que a JPA abstrai o problema de diferentes bancos de dados.
Entretanto, ainda reforço o uso dos DAOs não mais pela diferença dos dialetos SQL dos bancos de dados, mas sim por causa do reaproveitamento de código e componentes.
Usando DAOs, prodemos a partir da camada de EJB Façade fazer chamadas á serviços de persitência já existentes, aumentando a reutilização de código, justamente por estarem segregados do código do EJB.
At,
Oziel
Junho 12th, 2007 at 19:15
Gostaria de ver um exemplo rodando desse modelo que voce citou acima.. vc tem algum? um exemplo simples.. obrigado.. (se fo bem simples disponibiliza fontes tb??)
obrigado..
Junho 13th, 2007 at 11:22
Olá Antonio!
Como o Framework é comercial, não está disponível para Download.
Exemplos e demonstrações podem ser feitas á sua empresa caso haja interesse
em diminuir os custos de desenvolvimento em até 40%…
Atualmente existem 3 clientes usando este framework em seus sistemas corporativos.
At,