Bom dia a todos,
Estou com aquele velho problema, entrei em uma empresa a uns meses e me deparei com um sistema
legado em Java 6 com (JSTL, JSP, Servlets, Webservices SOAP, Hibernate,Applets e etc…) o grande problema é, o cara que trabalhava no sistema a anos foi mandado embora pois não era transparente e profissional e fiquei com problema em mãos, sem documentação atualizada e nada que pode me explicar melhor do sistema.
O sistema tem um processamento terrível, o servidor de Produção tem 8GB de ram e sempre que executam uma certa rotina que usa um WS tenho que reiniciar o Tomcat pois todos os outros usuários deixam de conseguir acessar o sistema, sempre que reinicio o tomcat ele dispara diversos ‘memory leaks’ que ainda não consegui entender o porque disso.
Esse sistema é bem antigo e a arquitetura dele está toda bagunçada, o MVC está ao avesso, regras de negócio junto aos controllers, tem onSubmits que dentro dele ficam: o pequisar , o salvar, e alterar, as validações estão bagunçadas também. Tem Applets que cuidam de uma parte de assinatura de certificado e isso também me preocupa pois o chrome já não da mais suporte a Applets e penso que elas logo deixarão de estar em uso. O Hibernate está todo configurado através dos xml HBM e não por annotations, não sei se isso gera alguma diferença em performance, gostaria dessa explicação também… No sistema tem vários tratamentos de exceptions retornando exceptions para outros tratamentos de trycatch e quando ele retorna algum erro dificilmente acho o erro de acordo com a mensagem retornada pois é tantos rodeios que quando expõe na tela a mensagem, quase nunca é o princípio do problema.
Bom galera, estou com esse problema nas minhas mãos e sei que a melhor coisa seria um novo sistema muito bem arquitetado e com tecnologias novas, MAS no momento não tenho tempo para produzir algo novo, pois a demanda de suporte é muito grande. Então queria uma opinião de vocês de como posso começar a melhorar esse sistema, o que seria melhor para melhorar a performance dele, como consigo analisar essa performance e tudo mais.
Sei que muitos pensariam cai fora e deixa essa bomba de lado, mas não sou esse perfil de profissional, quero fazer o melhor pela empresa e pelos usuários do sistema, então piadinhas nesse sentido podem deixa-las de lado, por favor.
Obrigado a todos.