Jasper Reports (Porque compilar em tempo de execução?)

Bom dia a todos(as)!!!

Alguém saberia me dizer o porque de compilar os .jrxml em .jasper em tempo de execução?
Notei na maioria dos exemplos que pesquisei que essa técnica é adotada em 99% deles.

Eu particularmente sempre trabalhei deixando o arquivo já compilado num package de resources da minha aplicação.

Desde já agradeço.

Eu sempre compilei e utilizei os .jasper.
Qual tutorial está seguindo? Vi isso de compilar em runtime há muito tempo atrás.

isso mesmo, só tenho encontrado tutoriais antigos!
Estamos estudando a fundo sobre jasper, pois criaremos uma API Restful de Relatórios, e teremos muita concorrência.

Usa algo mais leve como iText. Pelo menos do C# é leve.

Nunca usei o iText!
Ele possui alguma IDE para desenharmos os relatórios?

O problema do iText é que você precisa programar tudo… O jaspersoft studio é superior, nesse ponto.

Até onde conheço pelo menos do C# não, nunca busquei isso porque engessa, ele é totalmente flexível via programação.

O JasperReports é justamente escrito sobre iText … portanto, partindo direto para o iText muito provavelmente você tem que refazer muita coisa que já está pronta no JasperReports.

Não conheço muito o Jasper, mas opções programáticas costumam proporcionar maior controle e flexibilidade. Acho que é mais na comunidade Java que ainda usam designer de relatórios.

Valew Senhores!!

Como vim do VB6, na época usávamos o Crystal Reports, era um excelente ferramenta, me adaptei rapidamente ao Jasper, sinceramente não consigo imaginar gerar um relatório programaticamente, sem querer polemizar,!!

Tambem já usei o Crystal na época do VB, e Report Builder na época do Delphi. Hoje a maioria dos relatórios que trabalho são em Excel ou HTML.

@javaflex a questão, neste caso, é que se constrói a estrutura do relatório, no designer e, após isso, pega-se o código fonte (jrxml), coloca-se no projeto e, quando vai-se gerar um relatório, compila o mesmo e exporta.

É fácil de ajuste fino neste jrxml?

Que tipo de ajuste fino ? Eu acho que a questão basicamente é essa, do quão fino precisa ser ajuste … até onde eu precisei, o iReport sempre me atendeu

Não programo em Java, só foi uma dúvida mesmo pelo histórico de designer de relatórios serem engessados.

Se vamos considerar produtividade, o iReport/jasperreports studio é imensamente mais produtivo que fazer com o iText diretamente. Eu já participei de projetos em que os relatórios eram gerados no iText e a mudança para iReport foi simples, indolor e tranquila.
O que eu, assim como o autor do tópico, não entendo é a razão pela qual cria-se o relatório do iReport, compila-se o mesmo e utiiza-se o jrxml para compilar e, só então, gerar o produto final.
Eu penso que é desperdício, pois é muito mais tranquilo usar direto o .jasper.

Estou por fora, mas ambas as opções são compiladas? Se não teria problema de performance.

@javaflex posso dizer com experiência no assunto!
Uma vez “desenhado” o relatório, é bem provável que nunca mais você o altere, o ultimo que fiz foi uma DARF, foi super rápido o desenho.

Num ponto acho mais interessante gerar os relatórios em excel, assim da a possibilidade do usuário manusear, filtrar, tratar os dados conforme desejado, MAS infelzmente existem alguns tipos de relatórios que devem ser read only, e nesses casos o Jasper é perfeito!!

Quando puder faz uns testes, certamente gostará.

Se o relatório for embarcado no sistema, realmente não tem sentido. Mas já trabalhei em um sistema em que o usuário tinha a possibilidade de cadastrar os próprios relatórios no sistema. Assim, o usuário poderia elaborar seu próprio relatório no iReport, fazer o upload dos arquivos para o sistema e a partir desse cadastro poderia gerar ou itens no menu do sistema ou agendar o envio dos relatórios por email. Como era feito o upload dos arquivo .jrxml, então era necessário compilar os arquivos em tempo de execução e colocar o arquivo compilado em um cache.

Eu posso dizer justamente o contrário.
Trabalhei 1 ano e meio em uma distribuidora de medicamentos e eu só fazia alterações em relatórios.