Esse artigo faz parte da revista Java Magazine edição 38. Clique aqui para ler todos os artigos desta edição

 

img

 

crescente de atividades, seja por força de legislações ou práticas comerciais (ex.: contratos de qualidade de serviço) que exigem o controle e a armazenagem de cada vez mais informações.

Isso se traduz numa demanda cada vez maior por funcionalidades de geração de relatórios, tarefa que não costuma ser das favoritas de muitos desenvolvedores. Certamente por este motivo, o mercado de ferramentas de software há muito tempo oferece produtos de geração (semi-)automática de relatórios, desde produtos amarrados a SGBDs como o Oracle Reports Developer, a produtos independentes como Crystal Reports. E mais recentemente, opções open source como o Jasper Reports e iReport para Java.

O BIRT (Business Intelligence and Reporting Tools), projeto da Fundação Eclipse, é uma nova opção na categoria "independente, open source e para Java". Mas não é apenas mais um gerador de relatórios. O BIRT promete revolucionar o cenário dos relatórios para Java, especialmente devido à sua forte integração com o IDE Eclipse, o que traz vantagens de produtividade claramente além do possível para outros competidores (mesmo os que possuem plug-ins para IDEs).

Apesar de relativamente novo, o BIRT tem evoluído a passos largos e já é uma tecnologia madura. Já encontramos o BIRT na sua versão 2.1, que acompanha o release do Eclipse 3.2 e faz parte do Callisto 1.0 (distribuição integrada dos principais projetos do Eclipse.org).

Neste artigo, veremos como utilizar o BIRT, guiando o leitor na construção de relatórios com um tutorial prático, e examinando os recursos e características desta ferramenta.

Embora o BIRT e este artigo sejam calcados no Eclipse, usuários de outros IDEs também podem usar o BIRT, graças ao RCP Report Designer (veja a seção “Instalando”).

O Projeto BIRT

O projeto BIRT tem o objetivo de construir ferramentas de Business Intelligence e relatórios, usando o modelo open source e as tecnologias da Fundação Eclipse. É interessante destacar algumas conseqüências menos evidentes desta definição:

·         O BIRT não é simplesmente um "plug-in para o IDE Eclipse". Pode-se utilizá-lo sem nenhum IDE, inclusive para a edição visual de relatórios.

·         O BIRT se integra à arquitetura de ferramentas do Eclipse, o que significa que haverá outros plug-ins para Eclipse a se beneficiar do BIRT, como já é o caso do TPTP 4.2 (Eclipse Test and Tools Platform). O quadro "O BIRT, outros geradores de relatórios e open source" discute o status do BIRT como projeto do Eclipse.org, e o compara com outros projetos competidores no mundo open source.

Componentes do BIRT

Como toda ferramenta de business intelligence, o BIRT traz sua própria sopa de letrinhas, com muitos novos acrônimos para aprendermos. Os componentes de runtime e design do BIRT são os seguintes:

·         ERD (Eclipse Report Designer) Editor visual de definições de relatórios.

·         WRD (Web Based Report Designer) Equivalente ao ERD, mas com interface web (este componente ainda não está disponível).

·         ERE (Eclipse Report Engine) Gerador de relatórios; utiliza definições produzidas pelo ERD ou WRD.

·         ECE (Eclipse Charting Engine) Gerador de gráficos; também utiliza definições produzidas pelo ERD ou WRD.

Instalando

Existem quatro maneiras de instalar o BIRT de forma a acompanhar este artigo (utilizaremos o BIRT 2.1, que é baseado no Eclipse 3.2):

1.      Instalação tradicional do Eclipse. Começando com o Eclipse 3.2 (Platform + JDT, ou SDK), instale os plug-ins EMF 2.2 e GEF 3.2 (também exigidos por vários outros plug-ins, como o WTP). Basta então baixar o pacote birt-report-framework-2.1.zip e descompactá-lo sobre sua instalação do Eclipse.

2.      Callisto. Com o Eclipse 3.2 instalado, vá em Help|Software Updates>Find and Install>Search for new features to install, escolha "Callisto Discovery site" e selecione um mirror. Dentro da árvore de opções “Callisto Discovery Site”, abra o ramo “Charting and Reporting” e selecione a opção “Eclipse BIRT Report Designer Framework 2.1.x”. Depois clique no botão Select Required para selecionar as dependências necessárias para a operação do BIRT, e cliqueem Next. Aceite a licença para os componentes a serem instalados; clique em Next e depois em Finish.

3.      Opção "all-in-one". Na página de download do BIRT, baixe o pacote birt-report-designer-all-in-one-2_1.zip, que vem com tudo que você precisa, incluindo o próprio Eclipse (SDK), o EMF, o GEF e o BIRT.

4.      RCP Report Designer. É a opção para quem quer usar o BIRT sem o Eclipse; ideal para usuários de outros IDEs. Baixe o arquivo birt-rcp-report-designer-2_1_0.zip (ou mais recente), que contém um editor visual de relatórios auto-contido.

O projeto

Feita a instalação, execute o comando File|New>Project, e você verá que foi criado um novo grupo de projetos para BIRT. Escolha a opção Report Project e forneça um nome para o projeto. Isso cria um projeto "puro" de relatório, o que num primeiro momento simplificará o acompanhamento desse tutorial. Depois veremos como combinar o relatório a um projeto Java.

Depois da criação do projeto, o BIRT apresenta a perspectiva Report Design, também conhecida como ERD (Eclipse Report Designer). No novo projeto, use New>Report para criar um relatório. Forneça o nome carros.rptdesign e na opção de templates escolha Simple Listing.

Depois de finalizar o wizard, você verá o ERD lotado de ferramentas atraentes – editor visual de relatórios, paleta de elementos, editor de propriedades etc. Mas um relatório, antes de tudo, precisa de dados de entrada, portanto o próximo passo será disponibilizar esses dados.

Os dados

Entre na view Data Explorer, clique com o botão direito sobre o nó Data Sources e selecione New Data Source. Depois escolha Classic Models Inc. Sample Database. Dê um nome à data source, ex.: “carrosDS”. Este banco de dados de teste é embutido no BIRT[1]; por isso não exige nenhuma outra configuração.

Num projeto real, você usaria um banco de dados externo. Se quiser já praticar este cenário mais realista, baixe o pacote birt-database-2.1.zip, que contém os scripts para criação e população do mesmo banco de dados "Classic Models". Este pacote contém scripts de criação de tabelas e população de dados para o Derby e para o MySQL[2], e um arquivo .mdb para o Microsoft Access. Uma vez criadas as tabelas, crie a data source com a opção “JDBC Data Source”. O diálogo de criação de data sources possui um botão “Manage Drivers”, que permite cadastrar o driver JDBC para seu SGBD preferido (o driver para o Derby em modo embutido já vem registrado.) Tendo o driver configurado, basta entrar com os dados de URL, login e senha.

Na mesma view, em Data Sets, precisamos criar agora um "conjunto de dados" (Data Set), que corresponde a um resultset ou cursor. Crie o Data Set com o nome "carros" e tipo "SQL Select Query". Será apresentado o diálogo de construção visual de consultas do BIRT (Figura 1).

 

img

Figura 1. Definindo um data set a partir de uma query SQL.

 

A database Classic Models modela uma loja de automóveis. Vamos criar um relatório simples, mostrando nome, fabricante, descrição e preço de todos os automóveis cadastrados, ordenados por fabricante e depois por nome. Os nomes da tabela e das colunas podem ser copiados para a consulta com um duplo clique (ou arrastando para a janela que contém o código SQL); pode-se também digitar os comandos SQL diretamente. Assegure que a consulta seja algo como:

 

select PRODUCTNAME, PRODUCTVENDOR,

      PRODUCTDESCRIPTION, BUYPRICE

from PRODUCTS

order by PRODUCTVENDOR, PRODUCTNAME

 

Após a criação inicial do Data Set, o diálogo Edit Data Set permite customizar detalhes como parâmetros, colunas calculadas, cache e filtros, e também se ter um preview dos dados selecionados, de forma a verificar que a query está correta.

Uma última etapa essencial é ir na aba ...

Quer ler esse conteúdo completo? Tenha acesso completo