Manutenção de Projeto Legado

Bem pessoal, vamos ao problema:

Temos um produto desenvolvido creio que em 2005/2006. Desenvolvido com Servlets, JSPs (com scriplets :disappointed_relieved:), JDBC. Tudo isso encapsulado por um framework “caseiro”, desenvolvido pela equipe da época. Meio que criaram um framework MVC e de acesso a dados. O sistema chegou a passar por umas mudanças, mas nada muito estrutural.

A questão principal é que os framework em si não ajudam muito na produtividade, na maioria da vezes seria melhor trabalhar com Servlets pura e JDBC. Pra manutenção de uma funcionalidade já pronta normalmente seguimos o que já tá pronto, mesmo porque seria um trabalho hercúleo mudar. Quando possível tiramos os scriplets e usamos EL, trocamos o framework por JDBC mesmo, etc.

O sistema não é tão grande, diria média, há muitas rotinas, pouca documentação (e testes automatizados) e o trabalho pra reescrevê-lo seria muito grande e até perigoso em certa medida porque está em produção, clientes usando diariamente, solicitando uma ou outra coisa nova e também é necessário patrocínio pra carga de trabalho.

Mas enfim, o motivo que me trouxe aqui é o seguinte: foi solicitado uma tela boba, de consulta, mas que seja responsiva (o sistema todo não o é) e que deve ter uma nova tela de login (o login tá dentro do tal framework). Pensamos em talvez desenvolver essa nova tela com tecnologia mais atual. Aí podemos fazer um tela em HTML mesmo com web service, ou algo com spring framework, etc. e quem sabe partir daí um nova arquitetura pro sistema e quem sabe ir migrando aos poucos.

Então, gostaria da opinião da comunidade. Já passaram por isso? Como foi o processo? Acham que colocar mais uma tecnologia no projeto vai complicar ainda mais pra quem for dar manutenção? É/Foi viável manter duas arquiteturas pro mesmo projeto?

Abraços

Vale a pena se receberem investimento pra rescrever o sistema aos poucos, a linha Spring pra web é uma ótima opção. Caso contrário, pra não precisar introduzir mais um framework, você pode usar servlet diretamente com HTML puro. Exemplo: http://hmkcode.com/java-servlet-send-receive-json-using-jquery-ajax/

Então @javaflex, eu tava querendo mesmo era ouvir experiências, se fizeram, como foi, as dores de cabeça, etc. Daí dava pra refletir um bocado.

Acabamos que estamos fazendo quase isso que você postou, mas com web service, rest. Todo mundo de Web tem no mínimo noção de como usar web service, então não vi muito problema. Vai dá inclusive pra aproveitar pra APPs mobile (essa é uma outra ideia que tá na gaveta que os clientes já sinalizaram interesse).

REST é o ideal mesmo, o exemplo que te passei só foi para o caso mais puro possível sem precisar acrescentar um novo framework ou provocar mudanças de arquitetura. No fundo dá no mesmo, mais próximo do HTTP lidando com get, post, etc, e sem acoplar o front-end no back-end.