Seg 17 Mar 2008
Arquitetura robusta para aplicações Java EE com DWR
Publicado por oziel_neto sob Java Open for BusinessPensando no artigo anterior “Faça funcionar, então, melhore!“, e levando em conta as necessidades das empresas de desenvolvimento, dos desenvolvedores, arquitetos e analistas de sistemas, projetei e testei a eficiência de uma arquitetura relativamente símples para suportar aplicações corporativas e aderente á onda da Web 2.0 sem esquecer da necessidade de agilidade no desenvolvimento.
Modelo Web 2.0 e Java EE(tm) de aplicações:
Dessa forma, para um universo de 90% das aplicações Web 2.0, a arquitetura projetada abaixo garante índices consideravelmente altos das qualidades sistêmicas de:
- escalabidade: garantida pelo uso do modelo AJAX DWR, pois a comunicação do navegador do cliente com o servidor é feita baseada em Marshlling de objetos do padrão JSON, muito menos sobrecarregado que WebServices ou outro modelo baseado em XML.
- confiabilidade: garantidada pelo modelo transacional da plataforma Java EE 5 e da peristência baseada em JPA;
- eficiência: devido ao tráfego reduzido entre o cliente e o servidor, e do uso do cache do JPA, esse modelo tem índices excelentes de taxa de transferência X quantidade de acessos;
- segurança: garantia pela associação do modelo de segurança básico da Java EE 5 com o DWR, pois a Java EE 5 provê a autenticação e autorização e o DWR identifica as requisições dos clientes, impedindo que um cliente não identificado envie mensagens ao servidor;
- evolutividade: garantida pelo modelo das classes idealizadas para separar as responsabilidades de geração de páginas, de persistência, de serviços dos EJBs, de serviços do DWR e de scripts JS do cliente.
Arquitetura Java EE 5(tm) usando DWR:
- Componentes amarelos: criados pelo desenvolvedor;
- Componentes azuis: gerados dinâmicamente;
- Componentes roseados: fornecidos pelo servidor ou terceiros;
E sem complicar o processo de deploy, tal modelo permite que a publicação da aplicação seja feita num ambiente símples ou complexo como os modelos abaixo:
Sem Cluster:
Com Cluster:
Atualmente estamos desenvolvendo 5 projetos usando tal arquitetura, e ela tem se mostrado extremanente sólida, confiável e produtiva.
Referências:
- DWR 2.0 - http://getahead.org/dwr
- EJB3 - http://java.sun.com/products/ejb/
- JPA - http://java.sun.com/developer/technicalArticles/J2EE/jpa/
- Glassfish - http://glassfish.java.net/
Usem os comentários para discussão de críticas, melhorias e sugestões.

Comentários fechados devido á spans!
Enviar por e-mail. Hits para esta publicação: 1070.



