Relatórios com PHP e JasperServer

Quem trabalha com PHP sabe que fazer relatórios nessa plataforma é algo meio
complicado.
Tem aqueles que gostam de usar libs como FPDF, DomPDF e congêneres mas, não existe, não que eu tenha conhecimento, uma ferramenta para geração de relatórios escrita em PHP que seja tão eficiente quanto a combinação Jasper/iReport.

Apenas para contextualizar, falarei rapidamente aqui sobre o JasperServer e irei em outro post ou quem sabe em um screencast abordar melhor como funciona o Jasper, iReport e JasperServer.

Este post é para aqueles que de alguma maneira já geram via PHP, relatórios criados no iReport normalmente via scripts shell executados pela função exec.O JasperServer é um Report Server que possui uma versão paga e outra open-source (essa que eu uso) que já tem todo o stack necessário para gerar os relatórios criados pelo iReport, ele é escrito em Java e por default é executado em cima do Apache Tomcat.
Ele possui uma interface de gerenciamento dos repositórios para onde são importados os relatórios que é bem simples e prática de se usar.
Como eu falei anteriormente, pretendo escrever um post ou gravar um screencast mais detalhado sobre o JasperServer, Jasper e iReport, se quiser dar uma olhada e ver mais por si só, vá ao site: http://jasperforge.org/projects/jasperserver

Se você não vai falar mais sobre o JasperServer, sobre o que se trata esse post então?

Eu criei uma pequena lib em meus tempos de folga que faz a integração do PHP com o JasperServer e os resultados que obtive até o momento são satisfatórios e justificam o uso dela e me fizeram ter a sensação de que valeu a pena escrevê-la.
O JasperServer provê diversos web services SOAP que facilitam a integração, mas até o momento eu escrevi uma lib com um client apenas para o que é mais importante para mim neste momento: Falar qual relatório quero gerar, qual formato e pronto.

É isso, espero que essas classes ajudem outras pessoas também, porque na época que comecei a estudar o JasperServer eu não encontrei nenhuma classe PHP que funcionasse direito com o JasperServer e por isso acabei escrevendo a minha.

Se você quiser dar uma olhada o código está disponível no Github, ele não está um primor ainda mas está funcionando e como alguém importante disse: shipping is a feature.

Depois me diga o que achou.

5 thoughts on “Relatórios com PHP e JasperServer

    • Sim. Nada de Java Bridge e ainda temos um servidor próprio para gerenciar os relatórios, assim diminui o overhead causado pela geração via shell/exec ou usando o recurso Java localmente para gerar.

      Abração.

  1. Gostei. Funcionou belezinha aqui e já substitui o antigo bridge aqui.
    Depois vou comitar umas implementações que coloquei nele =)

    Abs e valeu!

  2. Muito bom mesmo! Aquele PHPBridge, não gostei. O PHPJaspeXML ainda falta muita coisa. Esse aqui simplesmente resolve todos os problemas!
    Valeu por compartilhar!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">