O artigo apresenta a ferramenta JasperETL, que permite a geração de aplicações para tratamento de dados em lote, apresentando os seus conceitos e ilustrando com a construção de um exemplo completo.

Este artigo serve para poder assimilar mais rapidamente os elementos desta ferramenta e o seu correto uso. Ele acelera o aprendizado apresentando conceitos que não são óbvios na documentação existente e passando por um exemplo que exercita rapidamente os mesmos.

Focado especialmente em ambientes de produção, a ferramenta facilita a automação de tarefas rotineiras e ajuda na integração de sistemas heterogêneos via importação e exportação de dados. Pode ser usada por pessoas familiares com ambientes de programação e com linguagens de scripts, porém não necessariamente especialistas em Java. Permite a elaboração rápida de rotinas de transferência e carga de dados, mantendo uma plataforma mais homogênea de aplicações auxiliares sem precisar sair da linguagem Java.

Use a ferramenta no lugar de scripts para automatizar processos e tarefas comuns num ambiente de produção como importar e exportar dados. Configure as fontes de dados e as estruturas no Repositório para poder reutilizar rapidamente. Arrastre e solte os elementos do repositório diretamente na área de trabalho, eles serão substituídos pelos componentes necessários automaticamente. Complemente com elementos da paleta de componentes e ligue os mesmos através das opções de Row e Trigger. Com prática, o exemplo do artigo pode ser montado em 10 minutos.

Apesar de todos os avanços que arquiteturas com SOA trazem para a integração entre sistemas corporativos, a integração via transferência de dados ainda é amplamente utilizada nas corporações.

Pensando nisto, e para incrementar a sua plataforma de BI (que inclui o popular JasperReports), em Janeiro de 2007 a JasperSoft assinou uma parceria com a Talend SA.

A Talend é uma companhia francesa com produtos de código aberto na área de integração de dados, entre eles o Open Studio, que passou a fazer parte da solução Jasper BI Suite como JasperETL.

O que é ETL?

Extract, Transform and Load, em inglês captura, transformação e carga. É a expressão que denomina ferramentas que facilitam a integração de sistemas via integração de dados.

Estas ferramentas geram aplicações para tratamento de dados em lote (batch), que podem usar várias fontes de dados diferentes: arquivos nos mais diversos formatos (por exemplo, XML, CSV, posicional, etc.), bases de dados, web services, e-mail, e LDAP; realizar transformações nestes dados, como join, lookup, eliminação de duplicados, cálculos e outros; e por ultimo enviar os resultados para outro sistema.

O JasperETL permite a geração de aplicações que efetuam estas transformações utilizando um ambiente gráfico, definindo a seqüência de passos necessária como um conjunto de componentes ligados entre si, sem ser necessário escrever código. Isto facilita a adoção da ferramenta em ambientes onde os profissionais possuem conhecimento da lógica de negócio e da estrutura dos dados a serem manipulados, porém, não têm intimidade com a linguagem Java.

Dentro da área em questão, a de integrar sistemas via transferência de dados, este é um fator importante que todas as ferramentas acompanham. Inclusive, o JasperETL tem uma seção específica, o Business Modeler, para gerar diagramas de negócio que possam ajudar a definir e documentar melhor o problema, separada do Job Designer, destinado a gerar código.

Instalação do JasperETL

Para instalar a ferramenta é necessário ter previamente instalada uma versão da Java Virtual Machine (JVM) 1.5 ou superior.

Se você é usuário do Windows 2000, será necessário ter instalado o GDI+ que pode ser obtido no site da Microsoft. Versões do Windows 2003 e mais recentes (XP ou superior) já trazem a biblioteca instalada.

Baixe a versão mais recente do JasperETL Community Edition (2.3.2 no momento da escrita deste artigo) e descompacte no diretório da sua preferência. Dentro da pasta JasperETL-All-r12707-V2.3.2 você encontra o executável JasperETL-win32-x86.exe (ou uma versão específica para o seu S.O.) que dá inicio ao JasperETL.

Para mais informações consulte o site do Jasper ou também o site do Talend, que possui tutoriais e um eco-sistema de componentes disponíveis para a ferramenta. Em particular, assista ao tutorial em Flash: Launch Talend Open Studio e o Talend Open Studio: Overview. Ambos respondem às perguntas mais freqüentes e dão uma boa introdução antes de instalar o produto.

Conectando

O uso do JasperETL começa pela sua tela de conexão (login). Para criar uma nova conexão, clique no botão à direita do combo “Connection” e escolha um e-mail. Na versão atual, o e-mail é usado para identificar o usuário e não é verificado, apenas precisa ter o formato correto (x@y.z). A senha é desabilitada para conexões locais, que é o único tipo de conexão que pode ser criada. Na Figura 1, vemos a tela inicial após a conexão.

Tela após criar uma conexão local e importar o projeto “Demos”
Figura 1. Tela após criar uma conexão local e importar o projeto “Demos”

Após a criação de uma conexão, aparecem os botões que nos permitem criar um novo projeto (veja o quadro “Perl ou Java?”) ou importar um já existente. Também aparece a opção para importar o projeto “Demos”. O resto do artigo é baseado neste projeto. Por isso, recomendamos importá-lo com o botão correspondente.

Uma vez na tela principal do JasperETL, clique duas vezes na tarefa priorTest, aperte a tecla F6 ou escolha a aba Run Job e aperte o botão Run para verificar se o seu ambiente está corretamente configurado. A tarefa priorTest apresenta uma janela com o conhecido “Hello World” (veja o quadro “A organização dos exemplos”).

A organização dos exemplos

Quando executar pela primeira vez o JasperETL, solicite para importar o projeto Demo, que possui demonstrações de todos os componentes.

Várias das tarefas dos exemplos precisam de arquivos de entrada. Crie um diretório chamado talend_files (por exemplo: c:\talend_files), na janela do repositório expanda o item Contexts e clique duas vezes no globalContext.

Na janela que aparece, clique no botão Next e escolha a aba Values as table. Verifique se o valor da variável “defaultDir” corresponde ao diretório que foi criado e ajuste caso contrário. Após fazer isto, abra a tarefa beforeRunJobs clicando duas vezes nela, e execute a tarefa com a tecla F6. Esta tarefa prepara o ambiente para rodar os demos.

...
Quer ler esse conteúdo completo? Tenha acesso completo