Sugestão de Arquitetura Web

Boa tarde amigos!

Trabalho com sistemas de gestão empresarial. Frequentemente nossos clientes solicitam aplicações web para integração com os ERPs. Normalmente são aplicações simples contendo poucas páginas, apenas para consulta ou envio de informações. Acontece que sempre atendemos esse tipo de demanda criando uma aplicação web do zero. Temos usado JSF + Primefaces, o que agiliza muito o desenvolvimento. Porém, o fato de criar do zero faz com que a evolução tecnológica das soluções fique comprometida.

Diante disso, estamos pensando em criar uma solução padrão, com cadastros básicos como Empresas, Usuários, Menus, etc. Essa plataforma possibilitaria a inclusão de novas páginas em tempo de execução, fazendo com que a evolução da plataforma fosse independente das páginas dos clientes. Para tal, pensei em uma arquitetura tipo SOA, com páginas HTML consumindo uma API de Serviços via JavaScript. Cheguei a estudar um pouco o AngularJS, NodeJS, etc. Porém, não me sinto muito confortável em criar algo mais robusto com tanto JavaScript.

Gostei muito do VRaptor pela simplicidade e organização do projeto. Porém, precisaria criar os controllers em tempo de execução.

Alguém sabe se essa arquitetura seria viável com o VRaptor ? Se não, poderiam indicar quais tecnologias poderiam viabilizar esse cenário ?

Obrigado !!!

você já conversou com os programadores da sua equipe. O que eles disseram?

Não acho que uma pessoa desconhecida no fórum que não sabe nada do seu projeto vai saber a solução melhor do que eles.

Para ter o desenvolvimento de páginas desacopladas de recursos do servidor, pode usar serviços Restful e AngularJs no lado client. Isso genericamente falando, pois como foi alertado acima o melhor é definir junto a equipe.

Eu desenvolvi sozinho a maior parte das demandas que atendemos com JSF e Primefaces. Como eu disse, são aplicações bem simples. Inclusive, atualmente não temos mais ninguém na equipe com conhecimentos em Java para Web. Eu estou encabeçando sozinho a ideia de criar uma arquitetura desse tipo.

Então vai experimentando sugestões até amadurecer sua decisão. Para o lado servidor sugiro experimentar e ler sobre Spring MVC ou Spring Boot, sobre o uso Restful ou Actions, o que vai depender da real necessidade. Lado client seria como falei acima.

Opa, blz?

Acho legal você já começar a pensar em arquitetura para coisas repetidas. Em um livro que estou lendo o autor fala: “se teve que fazer a mesma coisa 2x ou 3x quer dizer que está na hora de automatizar”.

Caso você escolha ir com JSF você poderia fazer pequenos projetos e exportar dentro de JARs. Desse modo você teria um projeto todo modular.

Caso você escolha alguma outra linguagem, existem uma lista enorme de frameworks. Honestamente, eu iria de Spring nesse caso. Vai da sua necessidade.

Você poderia dar uma olhada em duas ferramentar: JBoss Forge e SpringRoo

Com ambas você consegue criar um projeto do zero, apenas por linha de comando.

Faria algo como: crie um crud pessoa, faça um relacionamento com cidade no campo nascimento

Até mais. (:

[quote=vhpegoraro]Eu desenvolvi sozinho a maior parte das demandas que atendemos com JSF e Primefaces. Como eu disse, são aplicações bem simples. Inclusive, atualmente não temos mais ninguém na equipe com conhecimentos em Java para Web. Eu estou encabeçando sozinho a ideia de criar uma arquitetura desse tipo.

[/quote]

Não entendi se o problema é o fato de toda hora criar do zero ou não ter um padrão pra criar do zero mais rápido?