Artigo Java Magazine 38 - Relatórios e Gráficos com Eclipse

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo publicado pela Java Magazine 38.

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

 

 

 

Relatórios e Gráficos com Eclipse

Usando o Business Intelligence and Reporting Tools – BIRT

 

A geração de relatórios é uma necessidade comum a muitas aplicações, especialmente as que fazem acesso a bases de dados corporativas. De fato, o volume de dados acumulados pelas empresas só faz crescer a cada ano, seja devido à informatização 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 clique em 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).

 

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

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?