Arquitetura WEB

3 respostas
saulo.bsi

Boa tarde meus amigos

Estou com uma dúvida em relação a arquitetura web do Java.
Estou iniciando os meus estudos na plataforma web utilizando Servlets e JSP. Minha dúvida é a seguinte.

Montei uma arquitetura onde a url passada determina qual página deve ser exibida: ex: http://localhost/help/index.jsp?display_page=home&action=formGenerate

Dessa forma ao acessar essa url dentro do meu index.jsp tem um include que eu pego pelo atributo display_page da URL e inclui o .jsp de forma dinâmica.

Até aí tudo bem, isso funciona para todas as páginas do mesmo jeito.

O problema é o seguinte eu não deveria ter um servlet mapeado para cada requisição e esse servlet chamaria o outro Servlet responsável da pagina em questão realizando o despacho para o JSP? Como eu devo montar essa arquitera seguindo um padrão MVC?

Obrigado

3 Respostas

saulo.bsi

Alguem?

paulo1911

Olá amigo,

Em se tratando de arquitetura, você precisa colocar na balança os prós e os contras de cada abordagem possível.
Ex.: Da forma que vc está utilizando no momento, imagine os pontos principais como o impacto que uma necessidade de alteração vai gerar caso seja necessário efetuar mais 1 include no front-end por exemplo, o volume de trabalho que pode gerar na manutenção da aplicação, a complexidade desnecessária, a escalabilidade e a flexibilidade de vc poder expandir a aplicação para novos requisitos.

É claro que para fins didáticos é muito válido, essa abordagem que vc está fazendo se refere ao que chamamos de mvc front-controler, á exemplos de Struts, Spring MVC etc…

Na minha opinião, essa sua abordagem não é muito flexível pois vc tem regras atreladas no front-end. imagine que vc tem uma home customizada para usuários VIP por exemplo. Cada home customizada vc teria que ter uma URI diferente, e vc teria que efetuar algumas validações e testes de QA para cada tipo de home customizada. Sem contar na segurança que seria um problema aplicar regras de segurança onde existe uma regra de negocio, quebra de patterns. Gera um trabalho penoso e problemático a médio prazo.

Mas é interessante e muita válido sua pergunta, pois muitas vezes outros analistas podem ter passado por situações do tipo no cotidiano real.
Fica a minha dica e minha opinião. OK!
Abraço

saulo.bsi

Conversei com um amigo meu e vou utilizar um Servlet que irá fazer o papel da frontController delegando para os servlets responsáveis a cada interface e esses servlets ira mostrar o JSP. Realmente creio que fique um pouco engessado na questão de layout etc, mais para uma primeira arquitetura creio que irá ficar legal o resultado.

Muito obrigado pela ajuda Paulo, irei avaliar posteriormente cada comentário seu.

Abraços

Criado 13 de março de 2012
Ultima resposta 13 de mar. de 2012
Respostas 3
Participantes 2