JSP x Servlet

Tenho um cliente que possui uma série de classes ADO acessando
uma base de dados PostgreSQL.
Essas classes são referenciadas por umas 30 páginas JSP, que montam o
layout de aplicação e geram os formulários de cadastro e busca.

A minha dúvida é… compensa migrar os JSPs para Servlet ?

Qual o grande benefício que o meu cliente teria ?

[quote=“boaglio”]Tenho um cliente que possui uma série de classes ADO acessando
uma base de dados PostgreSQL.
Essas classes são referenciadas por umas 30 páginas JSP, que montam o
layout de aplicação e geram os formulários de cadastro e busca.

A minha dúvida é… compensa migrar os JSPs para Servlet ?

Qual o grande benefício que o meu cliente teria ?[/quote]

Depende de como está implementado, você coloca o código Java direto no JSP (scriptlets) ? Se sim isso é uma implementação que a Sun não recomenda, o ideal é você utilizar Servlets como controladores que acessam o seu DAO e despacham o resultado do DAO para a JSP, e a JSP utiliza JSTL (ou dependendo JavaBeans) para renderizar o resultado vindo da Servlet.
Se é assim que está implementado compensa (e muito :slight_smile: ) fazer essa migração, pois você ganha em clareza a manutenção do código.

Esse link contém as melhores práticas de implementação para a utilização efetiva de JSP, Servlets, etc : http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/index.html

Também tem o pattern Template View : http://www.martinfowler.com/eaaCatalog/templateView.html

como o douglas disse, separar as coisas fica muito mais claro pra fazer manutenção e principalmente reutilizar. pois imagina toda sua regra em JSP (que consequentemente fica misturado com HTML, JavaScript) e vc precisa pegar esse código e vai reutilizar ele em outro projeto, como voce faz??? é um saco abrir o arquivo web, ir copiando e colando o JSP, isso me lembra altas épocas de PHP.
Agora se vc fizer no servlet as suas regras de negócios (que é a parte complicada) vc deixa para o JSP apenas apresentar essas informações no HTML e caso vc precise reaproveitar o código vc tem a servlet “limpinha” pra voce poder usar…

Ok, entendi.

E quando seria interessante/necessário usar EJB ?

EJB só quando você precisar de algo super escalável, para um monte de acesso simultâneo, que precise ficar controlando transações para garantir a integridade dos dados.
Se não for algo suficientemente grande, dificilmente valerá a pena, pois há um certo overhead na performance para atingir tudo isso. Porém, se cair no caso explicado, aí sim talvez haja uma melhoria de performance.

Então com certeza não vou precisar usar EJB.

O sisteminha só tem consulta e cadastro simples,
nenhuma transação que envolva mais de uma tela.