javasf@googlegroups.com
[Top] [All Lists]

Re: [javasf] Relatórios com java

Subject: Re: [javasf] Relatórios com java
From: thiago moraes
Date: Fri, 20 May 2011 17:37:50 -0300
Para relatórios gigantes no Jasper, o ideal é utilizar os chamados Virtualizadores

http://www.google.com/search?client=ubuntu&channel=fs&q=jasper+virtualization&ie=utf-8&oe=utf-8

2011/5/19 alecindro <alecindro@xxxxxxxxxxx>
Marcelo não quero mudar tua forma de pensar. Mas vou mostrar a minha de forma mais suscinta.
 
Agora apresento os dados de 2 testes entre muitos que realizei com o Birt:
 
Já fiz relatórios com 250.000 linhas de resultado com 1250 páginas em um projeto de RH. Demorou 11 segundos para renderizar na tela web.
Fiz testes no Jmeter que suportou até 250 usuários satisfatóriamente, realizando diversas consultas ao mesmo tempo,durante 10 minutos, com 1 Gb de memória instanciada no tomcat.
Também já desenvolvi visões de BI com o BIRT. Rápido e fácil.
 
Se conseguir fazer isso com o Jasper me avisa, pois em meus testes o Jasper é muito bom, mas consome muita memória.
 
Dicas para uso melhor da ferramenta:
 
Use cache. Independente da tua ferramenta para relatórios. Jcache é excelente e extremamente fácil de configurar (pelo menos com o Birt).
Deixe seu sistema escalável. Uma grande problema de desempenho de aplicações vem da execução de queries. Se tiver problemas de escabilidade separe em servidores distintos os relatórios de teu sistema de produção.
 
Dica para  utilização de relatórios mais eficientemente:
- Traga totais, dados sumarizados. Grande parte de gerentes e administradores querem ter uma visão mais genérica. Permita que desses totais possam ser trazidos dados com granularidade mais baixa.  Crie um link caso o cliente queira ter um relatório completo. Muitas vezes chamando um pdf resolve esse caso mais específico.
 
 
E em resposta aos seus questionamentos:
 
1 – Lento, não tem paginação simples nos testes...
      Acredito que tu não configurou a memória virtual do teu eclipse ou do teu RCP Designer. Paginação simples? não  entendi. Tem paginação e tu pode limitar a quantidade de dados que traz o relatório.
 
2 – Integração difícil? Já integrei inclusive com o Android e Iphone. Integrar dentro da sua aplicação? altere o web.xml da sua aplicação de acordo com as configurações solicitadas pelo birt. Chame o servlet run caso não queira trabalhar com frames. No código java é só chamar o BirtContext muito similar ao uso do FacesContext no JSF.
 
3 – gráficos complexos? Faço gráficos extremamente complexos, que renderizam inclusive no android e Iphone, pois possibilita renderizar gráficos em SVG.
 
4  - formatação de tabelas via css? Tenho diversos templates, todos formatados com css, inclusive a ferramenta te possibilita isso. Ver documentação.
 
5 - Programar em _javascript_ muitas coisas.? Isso é opcional. Tu pode criar classes javas extendendo o framework para o que tu precisa adicionalmente.
 
6 -Não segue os padrões de programação para _javascript_? Uso tudo o que quero com o Jquery. Inclusive a integração com o Android foi toda feita com Jquery Mobile.
 
7 – Travar porque tem muitos resultados? Ou tu não fez as consultas paginadas realmente (implementação própria) ou tu não aumentou a memória da tua aplicação.  Já fiz relatórios com 250.000 linhas de resultado com 1250 páginas em projeto de RH. Demorou 11 segundos para renderizar na tela. Fiz testes no Jmeter com até 250 usuários realizando consultas ao mesmo tempo com 1 Gb de memória instanciada no tomcat.
 
O mais interessante da ferramenta é sua rapidez no desenvolvimento. Possibilita pensarmos de modo diferente como trazer informação aos nossos clientes.
 
Quer mais. Entre no site do http://www.eclipse.org/birt/phoenix/, vá em examples e faça o download dos rptdesign (arquivos XML) que contem os relatórios do Birt baseados na base de dados exemplo que já vem com o RCP Design ou RunTime. Tem também 4 excelentes livros, 3 de criação para criação de relatórios e gráficos com mais de 400 páginas cada um, e outro ensinando como estender o BIRT via código java.
 
 
 
Sent: Wednesday, May 18, 2011 9:22 AM
Subject: Re: [javasf] Relatórios com java
 
Lento, não tem paginação simples nos testes...
Integração com sistema... difícil...

Se for coisa simples... select totalClintes... dos meses que foram cadastrados isso é fácil em qualquer ferramenta....
Agora quando for consultas complexas... grandes volumes de dados...

Geração de gráficos complexos... formatação de tabelas  via css...
ou algo a mais...
Programar em _javascript_ muitas coisas... uma programação diferentes de todas...

Não segue os padrões de programação para _javascript_... e se precisar fazer algo mais
difícil não vai conseguir fugir disso.

Ai estão alguns dos argumentos dentre outros que agora nem lembro... até mesmo erro
da ferramenta  ... como por exemplo - Salvar as alterações somente em UM estado da aplicação -.

Se travar porque tem muitos resultados... que falei "grandes volumes de dados" e não tiver salvo a consulta, esquece a consulta complexa que você tinha elaborada, - lembre-se  UM - vai ter que fazer novamente...

Não vou fazer mais nenhuma colocação, vocês podem tirar suas conclusões por ai...
acredito eu...

Até mais Alecindro, tenha um Bom dia...
--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Thiago Alves de Moraes
thiagoampj@xxxxxxxxx

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil
<Prev in Thread] Current Thread [Next in Thread>