Relatórios no IReport: Prós e Contras

IReport. Muito se usa e se fala desta ferramenta de software livre, utilizada na criação de relatórios para aplicações contruidas em Java. Mas porque usá-la ou até porque não usá-la?

Bem, por experiência própria afirmo que da mesma forma que ela pode ser muito produtiva para alguns ela pode vir a ser contraprodutiva para outros.

Uma tarefa que exige muito esforço dos profissionais de programação e que geralmente não é tão valorizada quanto deveria ser, é a criação de relatórios. O profissional que tem o domínio neste ponto, encontra destaque dentro de um mercado atual, tão preocupado com frameworks de MVC (diga-se: Struts, JSF, etc.) ou tantos outros como mapeamento Objeto-Relacional (Hibernate), RIA (ZK).

Vejo que minhas experiências com o mercado de design me serviram e muito para a construção de relatórios muito mais atraentes e com características avançadas dos gráficos contidos neles.

É importante ressaltar que as terminologias nas classes utilizadas para criação de relatórios são mais facilmente entendidas se o profissional conhece a área de comunicação editorial (não que isso seja um pré-requisito).

Destaco esta ferramenta pois não encontrei nenhuma outra tão madura (me corrijam se eu estiver errado) na construção de relatórios de forma visual para o Java, tal como é o Crystal Reports para o .NET. O site oficial da mesma é http://jasperforge.org/projects/ireport. O fórum tem algumas dicas interessantes.

Existem alguns tutoriais básicos espalhados por alguns sites conhecidos, mas nada muito profundo em relação á subrelatórios, passagem de parametros, recebimento de objetos não nativos, configuração de classpath. Deve-se ter uma boa visão do que o software é capaz de fazer para aproveitar ao máximo dele, pois senão ficasse perdido num monte de menus e ferramentas que mais atrapalham num primeiro momento. Por exemplo: o JFreeChart é um framework para a criação de gráficos (pizza, barras, linhas, etc) tanto em 2D como em 3D. Ele está contido no IReport e permite criar gráficos visualmente muito interessantes para inserir em seus relatórios.

O recebimento de dados pode ser feito através de conexão com o banco de dados, através de coleções de objetos enviados da aplicação, ou mesmo pela passagem por parametros. Isso tudo deve ser estudado com calma para que não fique confuso o entendimento e para que os relatórios não deem mais dor de cabeça do que deveriam.

O interessante de usar esta ferramenta é que ela permite gerar alguns relatórios simples de forma muito rápida, quase que num next, next, finish. Porém, se o relatório tiver muitos agrupamentos de dados ou condições particulares para a exibição ou não de trechos do mesmo é bom tomar bastante cuidado com os flags presentes no software, pois com certeza eles vão confundir o usuário iniciante.

O sistema de bandas (áreas do relatório que separam geralmente blocos que tem características semelhantes) ajuda bastante na hora de criar capa, contra-capa, cabeçalho, rodapé, etc. - coisas que aliás são essênciais em documentos deste tipo (outro ponto bem positivo de usar esta ferramenta).

O sistema de objetos, tais como: caixas de texto, formas geométricas, imagens, etc, ainda tem muito o que melhorar, mas possuem um entendimento bem simples (neste caso, cabe um pouco de entendimento de design ou um pouco de criatividade mesmo).

Bem, esse texto foi mais para ajudar a esclarecer um pouco como funciona a ferramenta e não para mostrar um passo-a-passo, uma vez que isso se encontra bem fácil por ai... digita no google que vc acha ;)

abraços

Comentários

Hallan Medeiros disse…
O IReport é uma ferramenta que com certeza quebra um galhão na geração de relatórios. Utilizo ele em praticamente todos os relatórios da empresa que trabalho, e nunca tivemos problemas. É um post bem esclarecedor, que mostra praticamente tudo que a ferramenta pode oferecer. Parabéns.