Gostaria de saber a opinião de vocês para a seguinte arquitetura, considerando que tivesse como premissas, Performance, Segurança, Escalibilidade e sabendo que muitos usuários o acessariam ao mesmo tempo, ou seja, muitas requisições simultâneas.
Do lado cliente apenas HTML e JQuery, sem utilizar nenhum framework web, pensei nisso com o intuito de aumentar a performance.
Na camada de negócios Spring para modularização. Não tenho certeza, mas, JPA para fazer inserts, updates e deletes e Jdbc para pesquisas, pois acredito que as consultas são muito pesadas, dependendo de como for utilizado. A parte de persistência tive a idéia lendo um post do Martin Fowler mas não sei se entendi corretamente o propósito, se eu estiver errado por favor me corrijam, mas mesmo assim penso ser uma boa idéia.
Principalmente na parte HTML e JQuery, gostaria de saber se vocês acreditam que possa ter algum problema nessa abordagem, ou se acham válido. Já trabalhei bastante com JSF + Richfaces, mas não acho que seja uma boa idéia em questões de tempo rápido de resposta.
a não utilização de um framework para camada de visão e controle (indepedente de qual for), acho que nao seria um boa abordagem, pois vc teria que usar JSP/Servlet e vc acabaria fazendo muita coisa na mão. Entao evite esse trabalho desnecessario, utilize um Framework.
Já tralhei em sistemas para prefeituras que eram acessados por contribuintes. O número de acessos era grande.
Usavamos Hibernate, Spring Framework, Spring MVC e Jstl e muito pouco JQuery.
Não tinha problema algum. Dependendo a prefeitura o servidor era Jonas ou Glassfish.
a não utilização de um framework para camada de visão e controle (indepedente de qual for), acho que nao seria um boa abordagem, pois vc teria que usar JSP/Servlet e vc acabaria fazendo muita coisa na mão. Entao evite esse trabalho desnecessario, utilize um Framework. [/quote]
Então, o que vocês diz com fazer muita coisa na mão?
A forma que eu quero fazer é ter um html com os componentes, e o que tiver que carregar, como combo, tables e inputs seriam plugins jquery, que apenas retornando um json já funcionariam, então nesse sentido acho que não teria problema.
[quote]Já tralhei em sistemas para prefeituras que eram acessados por contribuintes. O número de acessos era grande.
Usavamos Hibernate, Spring Framework, Spring MVC e Jstl e muito pouco JQuery.
Não tinha problema algum. Dependendo a prefeitura o servidor era Jonas ou Glassfish[/quote]
Pensando em um sistema no nível de uma rede social por exemplo, poderiamos dizer o mesmo? Utilizar a4j por exemplo não acho que tenha o mesmo tempo de resposta de um servlet puro e uma requisição ajax utilizando jquery.
Depois que a pagina estiver carregada, usando ajax você não vai recarrega-la e sim apenas atualizar seus dados.
Então acho que não tem problema.
E usar um padrão como o MVC não impede uma melhor performance da sua aplicação e sim organiza seu código o que é algo muito recomendado.
Então ainda não consegui ver uma vantagem significante para utilizar um framework entende? Problema em fazer na mão pra mim não importa, eu acredito que eu tenha muito mais flexibilidade utilizando JQuery para criar qualquer componente que eu quiser, do que criar um render em JSF por exemplo, essa flexibilidade acredito que seja um ponto grande a considerar em uma aplicação que possa ter vários componentes customizados.
Com sua abordagem, percebo que está querendo quebrar paradigmas. Pelo que entendi você está querendo velocidade tanto na requisição quanto na resposta ao utilizar JQuery e liberdade na criação de componentes (principalmente usando jQuery) na sua página, certo?
Percebi também pelos comentários, que ainda existe uma grande resistência na não utilização de framework para camada de apresentação quando se pensa em desempenho na requisição e resposta. Acredito que é por que estão pensando na velocidade da construção e não na performance do sistema.
Se você acha que terá bastante tempo para a construção, vai em frente sim com a utilização de apenas HTML e JQuery para a camada de apresentação.
Algum framework para fazer o layout geral da aplicação nas JSPs. Você não vai querer repetir seu layout em todas as JSPs, isso é um inferno para manutenção. Só conheço o Tiles (http://tiles.apache.org/), dá pra usar ele sem nenhum XML nas novas versões
Polêmico hein, mas é uma dúvida que sempre tive, o recurso de um framework de apresentação facilita muito o controle das transações web, porém percebo que deixa muito a desejar no quesito flexibilidade referente a criação de componentes, gosto bastante de JSF mas criar Renderers é doidera, em contrapartida o JQuery fornece um gama de opções e recursos para isso, então a pergunta fica, para a criação de uma camada de apresentação leve e que proporcione um atrativo visual fantástico vale a pena abrir mão de um framework de apresentação?
Dá pra usar o Struts. Meio só como Front Controler; para controlar as chamadas a servidor de uma forma mais “agradável” de se trabalhar.
+JSTL pra não ficar usando servelet que eu acho deixa o código muito porco.
e JQuery pra ficar bonito; dá até pra usar o ajax do Jquery.
Claro tudo isso na camada de apresentação. negócio e persistencia já é outro assunto
E os “controllers” teriam um contrato e algum tipo de convenção
Imagino que mais ou menos como os frameworks web para php fazem.
[quote]
+JSTL pra não ficar usando servelet que eu acho deixa o código muito porco.
e JQuery pra ficar bonito; dá até pra usar o ajax do Jquery. [/quote]
A idéia é essa mesmo, utilizar ajax do JQuery, porém JSTL eu não iria precisar, pois ia retorna sempre JSON e atribuir os valores via JQuery.
Bem no final , se bem feito tudo funciona.
Teria que fazer um belo teste pra ver se realmente dá diferença na performace. Usando o jMeter ou algum outro …