Pessoal, tenho um sistema em php que é usado para gerar relatorios do que é acessado pelos funcionarios, os dados ficam em um BD Postgre 8.
Quando o sistema é usado para fazer buscas e mostrar os dados na tela é meio demorado e para exportar os dados para PDF demora ainda mais.
Estou pensando em fazer alguns testes para ver se java pode substituir o php, ou seja, refazer o sistema em Java!
A principio acho que da para fazer o sistema usando o NetBeans, e java web usando o Hibernate e JSF buscando os dados no postgre e para exportar os dados para o relatorio acho que vou usar o Ireport. Detalhe, o BD postgre tem apenas uma tabela com umas 8 colunas, todo mes é feito o bkp dos dados e a tabela é zerada pois os dados armazenados de um mes chega a uns 8 milhoes de registros e o postgre é usado pois ele é o unico BD que aguenta de boa esses dados!
Os relatorios não são para mostrar todos os dados do banco, os dados são filtrados por data e nome de usuario.
Sera que usando Hibernate, JSF e Ireport vai ficar melhor para buscar, visualizar e gerar relatorios dessa forma ???
eu nunca trabalhei com PHP, mas se vc tiver muitos funcionarios fazendo essa pesquisa, vc vai ter problema de performace, pq senão muitos registros, tanto em Java, .Net e outros, tbm acho q vai ficar lento, mas vc poderia fazer uma prova de conceito para tirar sua duvida.
nao poderia ser problema de hardware?No caso vc ter um estrutura mais robusta.
t+
leoramos
Se em PHP ficou lento, usando Hibernate a tendência é piorar… a não ser que a coisa hoje esteja feita meio à facão.
Quer fazer um teste quanto à demora? Pega o iReport, faz uma query fixa mesmo e gera um pdf com os dados e compara. E óbvio, testa a query no banco também.
Por aí já dá pra ter uma ideia de onde está o gargalo.
Abraço!
Edit: analisa a tabela, vê se dá pra criar algum índice que melhore a performance dessa query.
chamuska
O relatorio é gerado umas 2 ou 3 vezes por mes, sempre por um unico funcionario da TI, entao a quantidade de acessos não é problema!
Pelo que sei tem indice no id e acho que no logTime.
Acho que vou fazer um teste com o ireport pra ve como que fica a questão de tempo!
E dependendo de como funcionar, eu acho que nem vou precisar refazer o sistema todo para fazer esse relatorio, posso tentar integrar o ireport com o php ou fazer em java mesmo!
Mas em relação a programação java web, o que posso usar para desenvolver ?? Strutus, hibernate, JSF, tambem ouvi falar de um tal de Vraptor, qual deles ?? Uso mais de um ?!
Obrigado!
wbdsjunior
você testou a query no banco, como o amigo leoramos sugeriu? tem certeza de que o problema não é a query ou o hardware?
se o aplicativo tem apenas uma tela, só faz consultas e é utilizado por 1 usuário, use Swing ou Servlets e JSP com JDBC e JasperReports/Birt/iText.
chamuska
wbdsjunior:
você testou a query no banco, como o amigo leoramos sugeriu? tem certeza de que o problema não é a query ou o hardware?
se o aplicativo tem apenas uma tela, só faz consultas e é utilizado por 1 usuário, use Swing ou Servlets e JSP com JDBC e JasperReports/Birt/iText.
A query funciona bem no BD, o ruim é gerar os relatorios. Vo ve se consigo usar o ireport com o php.
To querendo ve pra faze em java mais pra eu aprende rsrsr!
Vou tentar primeiro executar a query no ireport, se funciona de boa vo tenta usar o ireport com o php e vou fazer uns testes usando java no lugar do php!
Valeu!
4
4mad0r
para Java Web hibernate, nao tenho tido grandes problemas se tiver dificuldade, manda-me uma msg privada