Você está na página 1de 71

UNIVERSIDADE TECNOLÓGICA FEDERAL

DO PARANÁ
PROGRAMA DE PÓS-
GRADUAÇÃO EM INFORMÁTICA
ESPECIALIZAÇÃO EM TECNOLOGIA JAVA
CAIO MORENO DE SOUZA
INTEGRAÇÃO DE FERRAMENTAS LIVRES
APLICADAS A
BUSINESS INTELLIGENCE:
LINUX, JAVA, PENTAHO, GOOGLE MAPS E
ANDROID.
MONOGRAFIA DE ESPECIALIZAÇÃO
CAIO MORENO DE SOUZA
INTEGRAÇÃO DE FERRAMENTAS LIVRES
APLICADAS A BUSINESS INTELLIGENCE:
LINUX, JAVA, PENTAHO, GOOGLE MAPS E

ANDROID.

Monografia apresentada ao Departamento de

Informática da Universidade Tecnológica Federal

do Paraná para a obtenção do título de

Especialista em Tecnologia Java.

Orientador: Prof. Dr. Gustavo A. Giménez Lugo.


Dedico esta monografia à minha esposa Milena, mulher sábia, bela e eterna
companheira.

 
RESUMO

DE SOUZA, Caio Moreno.

Integração de ferramentas livres aplicadas a business intelligence:


linux, java, pentaho, google maps e android. 2010. 55 f. Monografia
(Especialização em Tecnologia Java) – Programa de Pós-Graduação em
Tecnologia, Universidade Tecnológica Federal do Paraná. Curitiba, 2010.

O objetivo geral desse trabalho é mostrar a importância de uma solução de


Business Intelligence (Inteligência de Negócios) nas empresas,
demonstrando que a utilização adequada de um sistema de apoio à decisão
ajuda na tomada de decisões estratégicas de forma acertada.
Qualquer empresa que deseja competir de forma inteligente precisa voltar
seus olhos para seus dados internos e para os dados disponíveis no mercado,
organizando-os de forma a transformar esse amontoado de dados em
informações relevantes para a tomada de decisão.

Grande parte das informações encontram-se espalhadas em sistemas da


empresa, em pastas compartilhadas, nos computadores dos funcionários,
sistemas paralelos, sistemas legados, etc.

Organizar essa enormidade de dados torna-se um grande desafio para os


gestores da empresa.

Palavras-chave
: Data Warehouse; Business Intelligence; software livre;
estratégias competitivas, tecnologia java, descoberta de conhecimento, data
mining, mapas, sistemas de apoio a decisão, open source, google android.

ABSTRACT

DE SOUZA, Caio Moreno.

Integration of free tools applied to business intelligence: linux, java,


pentaho, Google Maps and Android. 2010. 55 p. Monografia
(Especialização em Tecnologia Java) – Programa de Pós-Graduação em
Tecnologia, Universidade Tecnológica Federal do Paraná.

Curitiba, 2010.

The aim of this study is to show the importance of a Business Intelligence


solution for enterprises, demonstrating that proper use of a decision support
system helps in making right strategic decisions.

Any company that wants to compete intelligently must turn their eyes to its
internal data and to the data available on the market, arranging them in
order to transform this mass of data into relevant information for decision
making.

Much of the information is scattered in enterprise systems, shared folders,


on employees'
computers, parallel systems, legacy systems, etc.. Organize this huge
amount of data becomes a major challenge for company managers.

Keywords
: Data Warehouse; Business Intelligence; free software;
competitive strategies, java technology, knowledge discovery, data mining,
maps, systems decision support, open source, google android.

LISTA DE FIGURAS

Figura 1

Funcionamento Tecnologia Java

Figura 2

Funcionamento Tecnologia Java

Figura 3

Cubo OLAP

Figura 4

Visão Geral de um Projeto de BI com Pentaho

Figura 5

Servidor de BI Pentaho

Figura 6


Arquitetura Servidor de BI Pentaho

Figura 7

Tela de Login Portal BI

Figura 8

Tela Interna Portal BI

Figura 9

Modelo Estrela – Cubo Faturamento

Figura 10

Tabela Fato_Venda

Figura 11

Tabela Dim_CanalVenda

Figura 12

Tabela Dim_Tempo

Figura 13

Tabela Dim_Cliente

Figura 14


Tabela Dim_Produto

Figura 15

Tabela Dim_Vendedor

Figura 16

Exemplo de ETL usando o PDI

Figura 17

Cubo OLAP Faturamento

Figura 18

Criando uma nova visão no Cubo OLAP de Faturamento

Figura 19

Escolhendo as métricas

Figura 20

Visão por Produto

Figura 21

Faturamento por Canal de Venda

Figura 22

Faturamento por Canal de Venda

Figura 23

Faturamento por Produtos

Figura 24

Faturamento por Vendedores

Figura 25

Faturamento por Vendedores (Gráfico)

Figura 26

Quantidade de Produtos Vendidos por Vendedores (Gráfico)

Figura 27

Faturamento por Vendedores e Período (Tempo)

Figura 28

Filtrando a dimensão Produtos

Figura 29


Recurso de Drill Through

Figura 30

Possibilidades JPivot.

Figura 31

Painel Faturamento

Figura 32

Painel Faturamento por Estado

Figura 33

Simulação do Aplicativo para acessar o Portal de BI no Google Android


Figura 34

Aplicativo IT4biz BI Mobile – Android

Figura 35

Tela de Login Portal BI acessado via Google Android

Figura 36

Exemplo de um Painel visualizado através do Google Android

Figura 37

Exemplo de outro Painel visualizado através do Google Android

Figura 38

Exemplo de Cubo OLAP visualizado através do Google Android

LISTA DE ABREVIATURAS

BD

Banco de Dados

JCP

Java Community Process

DW

Data Warehouse

OLAP

On-Line Analytic Processing

OLTP

On-Line Transaction Processing

PDF

Portable Document Format

SGBD

Sistema Gerenciador de Banco de Dados

SQL

Structured Query Language

PSW
Pentaho Schema Workbench

PDS

Pentaho Design Studio

PRD

Pentaho Report Designer

PDI

Pentaho Data Integration

PUC

Pentaho User Console

PAC

Pentaho Adminstration Console

PME

Pentaho Metadata Editor

WAQR

Web-based Adhoc Query and Reporting

API

Application Programming Interface

BI

Business Intelligence

ETL

Extract, Transform and Load

ETC

Extração, Transformação e Carga

JDBC

Java Database Connectivity

JNDI
Java Naming and Directory Interface

JRE

Java Runtime Environment

JVM

Java Virtual Machine

KETTLE

Kettle, Extraction, Transport, Transformation and Loading Environment


MDX

Multi-Dimensional Expressions

PCI

Pre-Configured Installation

PPL

Pentaho Public License

XML

Extensible Markup Language

DDL

Data Definition Language

CEO

Chefe Executive Oficer


Sumário
RESUMO.........................................................................................................
....................................4

ABSTRACT.....................................................................................................
....................................5

LISTA DE
FIGURAS.........................................................................................................
..................6

LISTA DE
ABREVIATURAS...........................................................................................
...................7

1.
INTRODUÇÃO...............................................................................................
...............................10

1.1
Apresentação....................................................................................................
........................10

1.2 Descrição do
problema...........................................................................................................
.11

1.3
Justificativa......................................................................................................
........................11

1.4 Objetivo
geral..................................................................................................................
.........11

1.5 Objetivos
específicos........................................................................................................
.......11

1.6
Metodologia.....................................................................................................
........................12

2 BUSINESS
INTELLIGENCE.............................................................................................
...........13

2.1
Conceitos..........................................................................................................
.......................13

2.2 Soluções de BI disponíveis no


mercado.................................................................................13

2.3 Tecnologia Java e Open


Source.............................................................................................14

2.3.1 O movimento Open Source e sua


história........................................................................14

2.3.2 Linux
..........................................................................................................................
....14

2.3.3 Principais projetos Open Source aplicados a Sistemas de BI


.........................................15

2.3.4 História da Tecnologia Java e


conceitos..........................................................................15

2.3.5 Vantagens da Tecnologia


Java..........................................................................................18

2.3.6 Tecnologia Java e Open Source aplicada em Sistemas de


BI..........................................19

2.3.7 O futuro do BI Open


Source............................................................................................20

3 DATA
WAREHOUSE.................................................................................................
...................21

3.1
Conceitos..........................................................................................................
.......................21

3.2 O ambiente de Data


Warehouse...............................................................................................21
3.2.1 Características do
ambiente.............................................................................................21

3.2.2 Construção do Data


Warehouse......................................................................................21
3.2.3 Extração, transformação e carga dos dados -
ETC.........................................................22

3.2.4 Acesso aos


dados.............................................................................................................2
3

3.2.5 Ferramentas
OLAP..........................................................................................................23

3.2.6 Ferramentas de Mineração de


Dados..............................................................................25

4. BI COM
PENTAHO.......................................................................................................
...............26

4.1 História da
Pentaho.............................................................................................................
.....26

4.2 Empresas que utilizam o


Pentaho............................................................................................27

4.3
Licença.............................................................................................................
........................27

4.4
Possibiliades.....................................................................................................
........................28

4.5
Mobilidade.......................................................................................................
........................28

4.6
Vantagens.........................................................................................................
........................28

4.7 Pentaho BI
Suite.................................................................................................................
.....28

4.8 Pentaho BI
Server...............................................................................................................
.....29

4.9 PRD (Pentaho Report


Designer)..............................................................................................32

4.10 PDI (Pentaho Data


Integration).............................................................................................32

4.11 PSW (Pentaho Schema


Workbench)......................................................................................32
4.12 WEKA
..........................................................................................................................
.........32

5. CONSTRUINDO UMA SOLUÇÃO DE BI


PROFISSIONAL.....................................................33

5.1 Instalando as ferramentas de


BI...............................................................................................33

5.2 Processos de
ETL..................................................................................................................
...35

5.2.1 Definindo os indicadores


................................................................................................35

5.2.2 Modelagem
Dimensional.................................................................................................35

5.2.3 Descrição das dimensões, fatos e


campos........................................................................37

5.2.4 Criando os processos de ETL no


Kettle...........................................................................40

5.3 Cubos
OLAP................................................................................................................
............41

5.3.1 Criando um Cubo OLAP


................................................................................................41

5.4 Painel com


Mapas...............................................................................................................
.....54

5.4.1 Criando um painel com


mapas.........................................................................................54

5.5 Google
Android............................................................................................................
............56

5.5.1 Acessando o sistema de BI pelo celular Google


Android................................................56

5.5.2 BI Touch e BI Mobile: informações estratégicas na palma da sua


mão..........................59

6. CONCLUSÕES
..........................................................................................................................
...60

7.
BIBLIOGRAFIA.............................................................................................
...............................61

1. INTRODUÇÃO

1.1 Apresentação

A globalização tem exigido de qualquer empresa o conhecimento de seu


negócio e do
negócio de seus concorrentes. Porém, grande parte das
informações encontra-se espalhada em
sistemas da empresa, em pastas
compartilhadas, nos computadores dos funcionários, sistemas
paralelos,
sistemas legados, etc. Organizar essa enormidade de dados torna-se um
grande desafio
para os gestores da empresa. Qualquer empresa que deseja
competir de forma inteligente precisa
voltar seus olhos para seus dados
internos e para os dados disponíveis no mercado, organizando-os
de forma a
transformar esse amontoado de dados em informações relevantes para a
tomada de
decisão.

Com certa freqüência o crescimento de uma empresa traz o


desenvolvimento de sistemas
paralelos desenvolvidos em Excel, Access e
outras ferramentas e tecnologias, tornando o processo
de organização dos
dados um processo doloroso e extremamente caro, acessível apenas para
grandes empresas que possuem recursos milionários para investir em
Sistemas de Business
Intelligence.

Todos os anos mais e mais empresas têm investido no desenvolvimento,


suporte,
customização e financiamento de projetos de código aberto,
tornando o processo de
desenvolvimento de software (programa) algo mais
acessível para as empresas. Temos visto
diversas empresas utilizarem
tecnologias antigamente utilizadas por poucos, e que agora estão à
disposição de qualquer empresa.

O grande desafio é ajudar as empresas a desenvolver um projeto de


Business Intelligence
utilizando tecnologias de código aberto. Um projeto
deste porte exige da empresa o domínio de uma
série de ferramentas e
produtos. Com a utilização de tecnologia de código aberto as empresas
passam a não precisar investir milhões em programas de computadores e
passam a investir em
serviços, os quais muitas vezes podem ser feitos
internamente.

Entende-se como problema a ser pesquisado e resolvido a falta de


informação que muitas
empresas possuem a respeito de diversas
ferramentas e tecnologias de código aberto que podem ser
utilizadas em
projetos de Sistema de Apoio à Decisão, o que reduz o custo de um projeto
de
Business Intelligence absurdamente.

A idéia é ajudar qualquer empresa que tenha interesse em desenvolver um


sistema de apoio à
decisão, mas não tem os recursos financeiros
necessários, a ter acesso às informações que tornem
esse desejo realidade.

1.2 Descrição do problema

Com a globalização as pequenas, médias e grandes empresas precisam


tornar-se cada vez
mais competitivas para conseguirem sobreviver no
cenário nacional e mundial. As grandes
empresas sabem disso e a cada ano
investem mais dinheiro em ferramentas de BI com o objetivo de
conhecer
melhor seu próprio negócio, realizar comparações com a concorrência e
previsões de
crescimento.

Apesar destas tecnologias custarem muito dinheiro já existem alternativas


gratuitas no
mercado, permitindo às pequenas e médias empresas a
beneficiarem-se de tecnologia semelhante às
tecnologias existentes nas
grandes empresas, sem a necessidade de grandes investimentos.

1.3 Justificativa

Toda empresa precisa estar apta a tomar decisões baseadas em dados


estatísticos, utilizando
um sistema de apoio à decisão que possa responder
às perguntas de negócio feitas por seus
executivos.

O grande problema da maioria das empresas é a variedade de informações


do mesmo
cenário. Isto acontece pois os analistas utilizam fontes diferentes
e montam diferentes resultados do
mesmo cenário, causando assim uma
tremenda confusão para a empresa, uma vez que não existe
um repositório
central de informações gerenciais, o chamado Data Warehouse.

Segundo Immon (1997), o conceito de Data Warehouse(DW) pode ser


definido como:
“conjunto de dados baseados em assuntos, integrados, não-
voláteis e variáveis em relação ao
tempo, para apoio às decisões
gerenciais”.

A solução para esse problema é a adoção de um sistema de Business


Intelligence
, onde todos
os executivos da empresa analisam suas
informações baseadas em dados confiáveis extraídos de
fontes seguras,
possibilitando assim a tomada de decisão de forma acertada.

Um projeto de
Business Intelligence baseado em ferramentas de código
aberto pode ser a
solução ideal para pequenas, médias e grandes empresas
devido ao baixo custo de investimento e a
alta qualidade, o que torna a
relação custo beneficio extremamente favorável.

1.4 Objetivo geral

O objetivo geral desse trabalho é demonstrar a importância de uma solução


de
Business
Intelligence utilizando Open Source (código aberto), Google
Mapas, tecnologia Java, Pentaho e
Google Android.

1.5 Objetivos específicos


 Os objetivos específicos desse trabalho são:
 • Definir as tecnologias necessárias para o desenvolvimento de uma solução
de Business
Intelligence;
 • Demonstrar o uso destas tecnologias através de um estudo de caso de uma
empresa fictícia;


Ajudar pequenas e médias empresas (privadas ou públicas) a desenvolver
com poucos
recursos financeiros uma solução de Business Intelligence, ou
pelo menos servir de material
de pesquisa para o planejamento de uma
futura implementação de Business Intelligence;

• Servir de referência para futuras pesquisas sobre descoberta de


conhecimento utilizando
Open Source, Google Mapas, tecnologia Java e
Google Android.
1.6 Metodologia

A presente monografia foi elaborada visando demonstrar as tecnologias


necessárias para a
criação de um sistema de Business Intelligence baseado
em software livre. A metodologia utiliza foi
a demonstração, através de
exemplo baseado em uma empresa fictícia, com necessidades
semelhantes à
de empresas reais, de como desenvolver um sistema de apoio à decisão.

Na primeira etapa abordamos alguns conceitos importantes explicados


através de uma
pesquisa bibliográfica bastante extensa, resultante de fontes
de pesquisas bastante confiáveis e
recomendadas no mundo corporativo e
acadêmico.

Durante a segunda etapa abordamos um cenário de uma empresa fictícia,


para a qual
desenvolvemos o projeto de Business Intelligence na prática,
criando um modelo de projeto que
poderá ser implementado em diversas
empresas.

2 BUSINESS INTELLIGENCE

2.1 Conceitos

O processo de desenvolvimento de uma solução profissional de


Business
Intelligence
esbarra em uma série de novos conceitos, os quais abordaremos
de uma forma prática e simples.

O conceito principal que explicaremos neste momento é Business


Intelligence. Atualmente
muitos CEO colocaram como prioridade a
implantação de uma solução de BI tornando o termo
Business Intelligence
extremamente popular. Porém essa necessidade não é nova, as empresas
sempre tiveram a necessidade de sistemas que transformassem dados em
informações relevantes.

O termo Business Intelligence traduzido para o português significa


Inteligência de Negócios,
e, resumidamente, significa coletar dados de
diversas fontes, organizá-los, analisá-los e
compartilhá-los com os
executivos mais importantes da empresa; estes então transformam essas
informações relevantes em decisões importantes para o futuro da empresa.

Desde a década de 80 encontramos no mercado o termo Inteligência


Empresarial difundido
pelo Gartner Group. Através desse as empresas
exploram informações internas contidas em um
DataWarehouse e externas
disponíveis no mercado com o intuito de se auto avaliarem e avaliar seus
concorrentes, desenvolvendo comparações e estratégias de crescimento e
aumento de Market Share,
sempre com os objetivos de guiar a organização
ao crescimento, à maior lucratividade, maior
satisfação de seus clientes,
menor perda, maior velocidade, ou seja, ao sucesso empresarial.

O processo de auto-avaliação e de estudo de seus concorrentes não é algo


novo e podemos
encontrar exemplos disso no livro “A arte da Guerra”, de
Sun Tzu; neste encontramos ensinamentos
que dizem que para se obter
sucesso na guerra, a pessoa deve deter todo o conhecimento de suas
fraquezas e virtudes, além de todo o conhecimento das fraquezas e virtudes
do inimigo. O contrário
pode levar à derrota e à destruição. Outro exemplo
clássico é a trilogia “O Poderoso Chefão”, de
Mario Puzo, que mostra a
necessidade de estudar seus concorrentes constantemente. Esses
ensinamentos podem muito bem ser levados para o mundo empresarial.

O Prof. Dr. (PhD) Ralph Kimball é um dos precursores dos conceitos de


data warehouse e
sistemas de apoio à decisão realizando pesquisas e
conceitos desde 1982. Seus estudos influenciam
até hoje a maioria dos
projetos de Business Intelligence das empresas no Brasil e no mundo. A
metodologia Kimball, mais conhecida como modelagem dimensional,
ensina como tornar sistemas
transacionais em sistemas orientados ao mundo
empresarial, permitindo uma maior organização,
melhor compreensão e
rapidez.

Com o passar dos anos muitas ferramentas foram criadas com o intuito de
ajudar na criação
de uma solução de Business Intelligence e o termo tornou-
se extremamente popular no mundo dos
negócios.

2.2 Soluções de BI disponíveis no mercado

Atualmente as empresas que desejam implantar uma solução de BI


encontram uma série de
fornecedores de ferramentas, tornando a tarefa de
escolha da ferramenta uma decisão difícil e
estratégica.

Os fornecedores mais conhecidos no mercado atualmente são: SAP, IBM,


Oracle, Microsoft,
SAS, MicroStrategy, Qlikview, Pentaho e Jasper.

Neste trabalho utilizaremos as ferramentas desenvolvidas pela empresa


Pentaho. A Pentaho
desenvolve uma versão chamada “Community Edtion”
destinada às empresas que desejam
implantar uma solução de Business
Intelligence totalmente aberta, ou seja, sem a necessidade de
compra de
licença de uso das ferramentas. Esta pode ser a solução para muitas
empresas que
desejam uma solução profissional de Business Intelligence
sem a necessidade de grandes
investimentos.

2.3 Tecnologia Java e Open Source

2.3.1 O movimento Open Source e sua história

O termo
Open Source traduzido para o português significa código aberto,
porém também é
conhecido como software livre.

Em fevereiro de 1998 Todd Anderson, Chris Peterson, Jon “Maddog” Hall,


Larry Augustin,
Sam Ockman e Eric Raymond reuniram-se e criaram o
termo Open Source. Também utiliza-se a
sigla FLOSS (Free/Libre and
Open Source Software).

Outro importante personagem é Richard Stallman que em 1985 fundou a


Free Software
Foundation (FSF, Fundação para o Software Livre), uma
organização sem fins lucrativos que se
dedica à eliminação de restrições
sobre a cópia, redistribuição, entendimento e modificação de
programas de
computadores. Uma de suas maiores contribuições foram o sistema
operacional GNU
e o Manifesto GNU, publicado em 1985 no Dr. Dobb's
Journal of Software Tools, o qual é
considerado por muitos como a
principal fonte filosófica do software livre.

Com a popularização destes ideais muitas pessoas e empresas começaram a


desenvolver
softwares e a disponibilizá-los de forma gratuita na internet
para que outras pessoas pudessem
utilizá-los, modificá-los e distribuí-los
sem custo, começando com o que conhecemos hoje por
comunidade
software livre.

De acordo com a Free Software Foundation em seu artigo “The Free


Software Definition”,
entende-se:

“O software livre é uma questão de liberdade dos usuários de executar,


copiar, distribuir,
estudar, modificar e melhorar o software. Mais
precisamente, o que significa que os usuários do
programa tenham as
quatro liberdades essenciais:

• A liberdade de executar o programa, para qualquer propósito (liberdade


0).

• A liberdade de estudar como o programa funciona, e alterá-lo para ele


fazer o que quiser

(liberdade 1). Acesso ao código-fonte é uma condição para isso.

• A liberdade de redistribuir cópias de modo que você possa ajudar ao seu


próximo

(liberdade 2).

• A liberdade de distribuir cópias de suas versões modificadas para os


outros (liberdade 3).

Ao fazer isso você pode dar a toda a comunidade a oportunidade de


beneficiar de suas

alterações. O acesso ao código-fonte é uma condição para isso.”

2.3.2 Linux

A palavra Linux, sem dúvida alguma, é a palavra mais conhecida no mundo


pelas pessoas
que não conhecem sobre software livre, open source, código
aberto ou qualquer palavra associada
ao movimento open source. Qualquer
usuário de computador sabe dizer que Linux é um sistema
operacional
gratuito, porém poucos o associam com o movimento open source.

Em 1991, o estudante finlandês Linus Torvalds começou de forma


independente o Linux,
um projeto que mudaria o mundo e daria uma
visibilidade enorme à comunidade open source. O
que ele fez foi
desenvolver um sistema operacional extremamente importante para o futuro
da
humanidade. Linus Benedict Torvalds, nascido em 28 de dezembro de
1969 na cidade de
Helsínquia, Finlandia é o criador do núcleo (kernel) do
sistema operacional GNU/Linux, mais
conhecido como Linux. O objetivo
inicial era criar um sistema operacional similar ao Unix e o
projeto foi
lançado em 1991 onde Linus enviou uma mensagem para a Usenet dizendo
que ele
estava disposto a divulgar o código-fonte e contar com a
colaboração de outros programadores. A
primeira versão oficial do núcleo
do linux, versão 0.02, foi lançada no dia 5 de outubro de 1991.

2.3.3 Principais projetos Open Source aplicados a Sistemas de BI

Após uma breve explicação sobre conceitos importantes chegou a hora de


listar alguns
projetos importantes que se caracterizam como projetos open
source aplicados ao desenvolvimento
de uma solução de BI.
São eles:

• Linux: sistema operacional livre, estável, robusto, confiável e gratuito,


muito utilizado
como servidores de business intelligence. Algumas
distribuições Linux são: SUSE,
Debian, CentOS, Ubuntu e Fedora;

• MySQL e PostgreSQL: são duas opções de bancos de dados muito


utilizadas em
projetos de business intelligence, ambos possuem uma versão
open source que pode
muito bem ser utilizada para a construção do
DataWarehouse;

• Pentaho BI Suite: uma série de ferramentas de BI desenvolvidas com


tecnologia Java.
Com essas ferramentas as empresas podem construir cubos
OLAP, relatórios
customizados, processos de ETL e disponibilizar tudo
através de um portal web baseado
em um webcontainer.

• Squirrel: cliente Universal de SQL desenvolvido em Java, muito útil para


a criação de
consultas SQL e execução em diversos bancos de dados através
de uma conexão JDBC.

• Apache Tomcat: webcontainer java muito utilizado em aplicações web. A


plataforma de
BI Pentaho utiliza o tomcat como webcontainer padrão.

• Java: tecnologia desenvolvida pela Sun Microsystems que permite o


desenvolvimento
de aplicações para desktop, web e celulares. Algumas das
grandes vantagens da
tecnologia Java são: portabilidade, robustes,
segurança, liberdade, open source e a
credibilidade da Sun Microsystem no
mundo de desenvolvimento de software.

• Eclipse: IDE de desenvolvimento muito utilizada no desenvolvimento de


painéis melhor
trabalhados.

• Jasper: outra Suite de BI concorrente da Suite Pentaho. Utiliza-se muito


no mundo livre
o produto chamado JasperReports junto com a IDE para
criação de relatórios, o chamado
iReports.

2.3.4 História da Tecnologia Java e conceitos

Como pode em tão pouco tempo a tecnologia Java estar tão presente em
nossas vidas?
Recentemente a Sun Microsystems, empresa criadora da
tecnologia Java, divulgou uma propaganda
chamada Java is Everywhere e
nos fez refletir a influência que essa tecnologia tem em nossas vidas.

De acordo com o site da Sun encontramos tecnologia Java em:


“computadores de bordo,
brinquedos, carros, aviões, foguetes, e até mesmo
a NASA Mars Rover. Ela traz a interatividade
com a Internet, gráficos em
tempo real para televisão, imagens instantâneas para câmeras e jogos
multi-player para telefones celulares e desktops. Ele se conecta as maiores
empresas e empresas de
pequeno porte para os seus empregados, clientes e
dados. E ela garante que a grande maioria das
transações eletrônicas no
varejo, finanças, governo, ciência e medicina. Em suma a tecnologia
Java,
vai onde quer que vá.” (Texto traduzido do site da Sun
http://br.sun.com/java/everywhere/).

Porém nem sempre foi assim. Voltando ao passado, mais precisamente em


1995, uma equipe
de programadores chefiada por James Gosling,
atualmente conhecido como o pai do Java, iniciava a
linguagem de
programação orientada a objetos, atualmente conhecida como Java.

Em 1991 o projeto chamava-se Green Project e os mentores eram Patrick


Naughton, Mike
Sheridan e James Gosling. Eles tinham como objetivo
planejar a “próxima onda” do mundo digital,
pois acreditavam que no
futuro haveria uma convergência dos computadores com os equipamentos
e
eletrodomésticos usados pelas pessoas no seu dia-a-dia.

O grande crescimento da tecnologia Java aconteceu com a popularização da


internet que
possibilitou que a tecnologia fosse utilizada em diversas
aplicações web.

A grande vantagem da tecnologia Java é o que chamamos de JVM (Java


Virtual Machine),
um programa que carrega e executa os aplicativos Java,
convertendo os bytecodes em código
executável de máquina. Esse
programa é o responsável pelo gerenciamento dos aplicativos, à
medida que
são executados. Todo computador ou dispositivo que deseja executar um
programa Java
precisa ter instalado uma JVM. Na prática, graças à máquina
virtual Java, os programas escritos em
Java podem funcionar em qualquer
plataforma de hardware e software que possua uma versão da
JVM,
tornando assim essas aplicações independentes da plataforma onde
funcionam.

Atualmente a tecnologia Java está dividida em três partes principais


(conforme figura):

• Java Standard Edition para aplicações desktop;

• Java Enterprise Edition (Java EE), Enterprise Java Beans (EJB) para
aplicações
corporativas;

• Java Server Pages, servlets, struts, JSF, etc para aplicações web;

• Java Micro Edition (Java ME) para aplicações móveis.

Programa.java
 API Java
 Máquina virtual Java
 Plataforma de hardware
 Figura 1 – Funcionamento Tecnologia Java
Fonte: UTFPR – Slides das
Aulas de Linguagem Java
Exemplo.java
 public class Exemplo
{

public static void main (String [] args)


{

System.out.println(“Exemplo”);
System.exit(0);

}
Compilador Java
Exemplo.class

-------------------

------------------

-------------------

-------------------(bytecode Java)

Máquina virtual
Máquina virtual
Máquina virtual
Java
Java
Java
Código

nativo
PDA

Código nativo PC
Código nativo
celular

Figura 2 – Funcionamento
Tecnologia Java
Fonte: UTFPR – Slides das Aulas de Linguagem Java
A
frase mais importante no mundo Java idealizada por seus criadores é: “Write
once, run
everywhere.”. A tradução para o português é: “Escreva uma vez,
execute em qualquer lugar”.
2.3.5 Vantagens da Tecnologia Java

A cada dia a tecnologia Java apresenta mais e mais vantagens para sua
adoção, a maior
delas é a independência de plataforma, ou seja, um
programa feito em Java pode rodar em qualquer
plataforma, basta que o
dispositivo tenha uma JVM.

Abaixo listamos algumas das vantagens da tecnologia Java.

• Gratuita – licença GPL;

• Padronizada, com uma especificação bem definida;

• Mantida pela JCP (Java Community Process);

• Orientada a Objetos;

• Liberdade de escolha de fornecedores de tecnologia e suporte;

• Independente de Plataforma - o mesmo código roda em qualquer


plataforma, sem a
necessidade de recompilação;

• As aplicações podem ser trocadas de servidores de aplicação;

• Não existe “vendor lock-in”- caso você fique insatisfeito com seu
fornecedor, pode

procurar outro;

• Suporte extensivo a aplicações multi-camadas;

• Incentivo ao desenvolvimento orientado a objetos;

• Reutilização de componentes com responsabilidades únicas;

• Possibilidade de testes unitários por componentes;

• Vasto conjunto de bibliotecas básicas prontas, chamadas de APIs;

• Vários frameworks que ajudam na implementação de padrões de projetos;

• Ferramentas para documentação de código;

• Maior comunidade de desenvolvedores do mundo;

• Milhares de artigos, revistas, fóruns, etc;

• Suporte e apoio das maiores companhias de software do mundo;

• Garbage Collector - desalocação de memória automática por processo de


coletor de lixo;

• Segurança – pode executar programas via rede com restrições de execução;

• Facilidades de Internacionalização – suporta nativo a caracteres Unicode;

• Carga dinâmica de código – as classes são carregadas somente no momento


em que

precisam ser utilizadas.

Algumas empresas que compõem a JCP (Java Community Process) são:

• Sun Microsystems;

• IBM;

• Oracle;

• BEA Systems;

• RedHat;

• Novell;

• Xerox;

• Comunidade Java.

2.3.6 Tecnologia Java e Open Source aplicada em Sistemas de BI


Atualmente existem duas empresas importantes no mundo da tecnologia
Java aplicada à
sistemas de Business Intelligence, são elas: Jasper e Pentaho.

A empresa Jasper produz uma Suite de BI Open Source bastante robusta e


importante; seu
produto mais conhecido é o JasperReports junto com a IDE
de desenvolvimento de Relatórios
chamada iReports. Muitos
desenvolvedores Java utilizam as ferramentas da Jasper para o
desenvolvimento de relatórios em programas desenvolvidos em Java.

No ano de 2004 algumas pessoas, oriundas das mais importantes empresas


do setor de
Business Intelligence, juntaram-se e fundaram a empresa
Pentaho, com o objetivo de criar uma
plataforma open source de Business
Intelligence.

A estratégia utilizada foi reunir as melhores ferramentas Open Source


disponíveis no
mercado e criar uma única suite de BI contendo todas as
ferramentas necessárias para uma solução
completa de BI Open Source. Para
isso foi necessário adquirir projetos e pessoas. O mais
interessante é o fato
de todas essas ferramentas terem sido desenvolvidas em Java, mais uma vez
provando a grande ligação entre a tecnologia Java e o mundo open source.

Antes da criação do Projeto Pentaho existiam quatro projetos open source


importantes
relacionados ao mundo de Business Intelligence, são eles:
Mondrian, Kettle, JFreeReport e Weka.

O projeto Mondrian, fundado por Julian Hyde, possibilitava à comunidade


open source um
servidor OLAP alternativo às opções disponíveis no
mercado. Com essa ferramenta era possível
integrar cubos OLAP em uma
aplicação Java utilizando Jpivot, Mondrian e Apache Tomcat.

A parte de relatórios era possível graças ao projeto JFreeReport, fundado por


Thomas
Morgner. Como alternativa open source para ferramentas de Data
Mining podia-se utilizar uma
ferramenta muito conhecida entre
pesquisadores de Universidades no mundo todo, a chamada Weka
(Waikato
Environment for Knowledge Analysis), criada em 1993 pela Universidade de
Wakato,
Nova Zelândia.

O último projeto, e extremamente importante, chamado Kettle (Extraction,


Transformation,
Transportation and Loading of data) criado por Matt
Casters, trata-se de uma ferramenta de ETL
desenvolvida em Java.

Resumindo, todas essas ferramentas open source desenvolvidas em Java


possuíam cada uma
um dono e estavam disponíveis na internet. Então à
partir da criação da Pentaho e da aquisição de
todas elas e de seus criadores
surgiu o que conhecemos como o Suite Pentaho de BI, atualmente
disponível
em duas formas: Community Edition e Enterprise Edition.

Desde Junho de 2005 todas as ferramentas que fazem parte do Projeto


Pentaho encontram-se
disponíveis no site de download sourceforge.net e
qualquer empresa pode baixá-las e utilizar em um
projeto profissional de
Business Intelligence.

2.3.7 O futuro do BI Open Source


De acordo com o Gartner Group, em
2011 o faturamento mundial do setor deve atingir 7
bilhões de dólares.
3
DATA WAREHOUSE

3.1 Conceitos

Define-se
Data Warehouse (DW) como sendo o local onde são armazenados
os dados
importantes de uma empresa; esses dados são catalogados de forma
organizada e estruturada. Na
grande maioria das vezes utiliza-se a
modelagem multi-dimensional na construção de um DW.

Segundo Inmon (1997), idealizador do conceito,


Data Warehouse “é uma
coleção de dados
integrados, orientados por assunto, variáveis com o tempo
e não voláteis, usados para dar suporte
ao processo gerencial de tomada de
decisão”.

3.2 O ambiente de Data Warehouse

3.2.1 Características do ambiente


Integrado: Através de um processo que chamamos de ETL (Extração,
Transformação e
Carga) os dados, oriundos de diversas fontes de dados, são
extraídos, combinados, limpos,
eliminados, desnormalizados, normalizados,
calculados, etc; então são enviados de forma
organizada e consolidada para o
DW, de forma que passa a ter um único significado perante a
empresa;

• Orientado por assuntos: Os dados do Data Warehouse são organizados de


modo a facilitar
a análise dos dados;
• Variante no Tempo: Os dados não são
atualizáveis, ou seja, são relativos a um determinado
instante de tempo, o
que proporciona o armazenamento histórico dos dados;

• Não volátil: Significa dizer que o Data Warehouse permite apenas a carga
inicial dos dados
e consultas a estes dados, ou seja, após serem integrados,
transformados e incluídos, os dados não
podem ser alterados.
3.2.2 Construção do Data Warehouse
De acordo com Kimball (1997) o
processo de construção de um Data Warehouse é composto
de nove etapas.
São elas:

1)
Selecionar o processo de negócio a ser modelado – por exemplo: analisar
o
faturamento da empresa medindo quantidade de produtos vendidos e valor
das
vendas;

2) Declarar o grão (nível de detalhes) do processo de negócio;

3)
Escolher as dimensões que se aplicam à cada linha da tabela de fatos;

4) Identificar os fatos numéricos (métricas) que preenchem cada linha da


tabela de
fatos – por exemplo: quantidade de produtos vendidos e valor das
vendas;

5) Armazenar os dados pré-calculados na tabela de fatos;

6) Fazer a carga das tabelas de dimensão;

7) Preparar dimensões para suportar evoluções (mudanças);

8) Definir a amplitude de tempo do histórico do banco de dados;

9) Definir o espaço de tempo (periodicidade dos indicadores) com que os


dados devem
ser extraídos e carregados no DW.
3.2.3 Extração,
transformação e carga dos dados - ETC

A etapa mais trabalhosa na construção de um


Data Warehouse é o que
chamamos de ETL,
sigla em inglês para ''Extract, Transform and Load'', e
que traduzido para o português significa
Extrair, Transformar e Carregar.

Sucintamente, este processo consiste em encontrar os dados importantes que


serão
analisados, extrair esses dados das diversas fontes de dados, realizar as
transformações necessárias
(que podem ser limpeza, combinação,
eliminação, cálculos, etc) e realizar a carga de dados no Data
Warehouse.
Desta forma a empresa começa a guardar seus dados importantes em um
banco de
dados único, modelado de forma multi-dimensional.

Para entender esse processo é necessário entender alguns conceitos


explicados abaixo:

A) Fonte de dados
- Na grande maioria dos DW, os dados provêm de várias
fontes diferentes e
independentes, podendo ser essas fontes as bases de
dados dos sistemas transacionais, planilhas
excel, etc.

B) Extração
- Significa a leitura e entendimento das fontes de dados e a
cópia das partes
necessárias para a área de transformação de dados, com o
intuito de serem trabalhadas
posteriormente. Um grande desafio no processo
de extração é determinar quais dados são realmente
importantes e quais tipos
de filtros aplicar. Essa tarefa é uma das atividades que mais consome
tempo
na construção do DW. Uma dica é perguntar ao patrocinador do projeto
quais são as
informações relevantes ao projeto e simplificar ao máximo o
processo de extração, poupando
recursos e tempo. Não vale a pena ter
diversas informações no DW, o ideal é ter apenas as
informações mais
importantes ao negócio.

C) Transformação
– Esta etapa do processo de ETL é valiosa para o
negócio; consiste em realizar
uma série de atividades sobre os dados
extraídos, de modo a convertê-los em formato adequado
para carga no data
warehouse. Algumas etapas da transformação dos dados de origem são:

1) Limpeza

• Correção do uso incorreto ou inconsistente de códigos e caracteres


especiais;

• Tratamento de dados perdidos;

• Correção de valores duplicados ou errados.

Sua finalidade é deixar os elementos de dados dentro de formatos padrões


(uniformizados),
não duplicados, corretos, consistentes e espelhando a
realidade.
2) Eliminação
• Constitui em desconsiderar os campos e dados
que não são úteis ao DW.
3) Combinação
• Realizada quando as fontes de
dados possuem exatamente os mesmos valores de chaves
representando
registros iguais ou complementares.

4) Desnormalização e Normalização

• O processo padrão de transformação é reunir as hierarquias de dados,


separadas em várias
tabelas devido à normalização, dentro de uma única
dimensão, de forma desnormalizada.
Pode ocorrer, entretanto, que dados
provenientes do processo de extração estejam
completamente
desnormalizados dentro de arquivos texto. Nesse caso pode ser que seja
necessário normalizar partes dos registros.
5) Cálculos, derivação e alocação
• São transformações a serem aplicadas
às regras do negócio identificadas durante o processo
de levantamento de
requisitos.
3.2.4 Acesso aos dados

Acessar os dados pode ser um momento critico e difícil. Isso é devido à


grande variedade de
bancos de dados disponíveis no mercado e também à
dificuldade que muitas empresas enfrentam
para conseguir acesso aos dados
da empresa (visto que muitas vezes estes são guardados a sete
chaves pela
área de segurança da informação).

A ferramenta utilizada para acessar os dados é chamada PDI – Kettle. Esta


ferramenta possui
uma interface com o desenvolvedor bastante simples, o
que possibilita a conexão com diversos
SGDB de maneira muito fácil e
amigável; a conexão JDBC é a forma mais fácil de acessar os
diversos
bancos de dados.

Em alguns casos os desenvolvedores de uma solução de Business


Intelligence enfrentam a
dificuldade de conseguir um usuário de leitura para
realizar o processo de extração. Mas isso pode
ser facilmente resolvido com
a ajuda de um patrocinador importante do projeto. Este patrocinador
pode
muito bem tomar as providências necessárias para a liberação dos acessos.

Todos os usuários necessários para o acesso às bases de dados transacionais


devem ter
privilégios apenas de leitura. Desta forma evita-se a possibilidade
de alteração ou remoção de dados
do sistema de origem, causados por algum
erro humano. Essa importante precaução reduz uma série
de erros comuns
em projetos de Business Intelligence e ajuda a área de segurança da
informação a
manter a segurança da empresa.

Em caso de fontes de dados como Excel, Access, arquivos textos, etc, o


acesso aos dados é
bastante tranqüilo, visto que a ferramenta de integração
de dados utilizada é bastante robusta e
capaz de ler dados em diversos
formatos.

3.2.5 Ferramentas OLAP

A grande maioria dos novos usuários de sistemas de Business Intelligence,


por não
compreender o suficiente, solicita relatórios, quando na verdade o
que querem, e o que precisam,
são ferramentas de análises de dados. Essas
ferramentas são as chamadas ferramentas OLAP. O
termo OLAP em inglês
significa On-line Analytical Processing.

Inmon (1999) nos dá uma definição sobre o OLAP, (...)


é uma tecnologia de
software que
permite a analistas, gerentes e executivos obterem os dados de
uma forma rápida, consistente e
com acesso interativo para uma grande
variedade de possíveis visões da informação na empresa.
Mais
sucintamente, OLAP é um conjunto de funcionalidades que tem, como
principal objetivo,
facilitar a análise multidimensional.

Uma ferramenta OLAP é capaz de executar consultas MDX e trabalhar com


o que
chamamos Cubos OLAP. Nesses cubos é possível cruzar os dados,
possibilitando a criação de
diversas visões dos mesmos dados. No exemplo
abaixo observamos como é possível cruzar os
dados por produtos, lojas e
período.

Figura 3
– Cubo OLAP
Fonte: IT4biz
Um cubo OLAP é composto de uma tabela fato
e algumas tabelas de dimensões. As
definições e exemplos desses termos
seguem abaixo:
1) Tabela Fato
– Tabela onde armazenam-se as chaves das dimensões e as
métricas.

2) Métricas – São os parâmetros quantitativos / valores do negócio que


desejam ser
medidos; ficam armazenados na tabela fato.

Exemplo de métricas: quantidade média de produtos vendidos, valor total


em reais, gastos
por cliente, etc.

3) Tabela Dimensão – Tabela onde armazenam-se os dados da dimensão.


Exemplos de algumas tabelas de dimensões são: produtos, lojas, tempo,
fornecedores, etc.
Exemplo de uma dimensão hierárquica “Localização do
Cliente” tendo o seguinte agrupamento:
País -> Estado -> Cidade.

Existem duas formas de modelar um Cubo OLAP: o modelo estrela (star


schema) e modelo
flocos de neve (snow flake schema).
3.2.6 Ferramentas
de Mineração de Dados

A mineração de dados é bastante complexa e envolve conhecimentos


estatísticos a fim de
saber qual procedimento deve ser utilizado.

Normalmente as empresas, após contarem com um Data Warehouse


estruturado, começam a
analisar de forma mais profunda seus dados
utilizando técnicas de Data Mining.

Na Suite Pentaho a ferramenta de Data Mining chama-se WEKA (Waikato


Environment for
Knowledge Analysis). A ''WEKA'' é uma ferramenta
bastante conhecida pelas Universidades no
Brasil e no mundo. Ela foi
desenvolvida pela Universidade de Wakato, Nova Zelândia e trazida
recentemente para o portifólio de produtos da Pentaho, tornando-se a
ferramenta oficial de Data
Mining da Suite Pentaho.

Existem muitas outras ferramentas poderosas de Data Mining que podem ser
utilizadas a fim
de enriquecer as decisões tomadas pelas empresas. Um
exemplo clássico é o supermercado WalMart, que ao utilizar Data Mining
percebeu que colocar uma lata de cerveja perto das fraldas
aumentaria
consideravelmente as vendas, visto que a mesma pessoa que comprava
fralda na sextafeira comprava cerveja, pois provavelmente passaria a sexta-
feira cuidando do filho pequeno e
tomando cerveja em casa.

4. BI COM PENTAHO
4.1 História da Pentaho

Fundada em 2004 por uma equipe de veteranos da indústria de


Business
Intelligence
provenientes de empresas como Business Objects, Cognos,
Hyperion, JBoss, Oracle, Red Hat e
SAS, a empresa Pentaho Corporation,
empresa norte-americana, tornou-se referência em Business
Intelligence de
código aberto.

Desde seu inicio a empresa possui sua sede em Orlando, Flórida, e conta
com colaboradores
vivendo em diversas partes do mundo. A Pentaho
Corporation é a desenvolvedora principal das
ferramentas de Business
Intelligence contidas em sua Suite.

A Pentaho possui aportes financeiros de fundos de investimentos como


Enterprise
Associates, investidores do SugarCRM, Xensource, Index
Ventures, investidores do MySQL, Zend
e outros.

O modelo de negócio adotado pela Pentaho é o que chamamos em inglês de


subscription
model. Trata-se de uma forma de comercializar o software sem
pagar pela licença de uso, onde o
fabricante, no caso a Pentaho, provê
suporte, serviços e melhorias no software através de uma
mensalidade anual.
Porém o cliente pode optar por utilizar a versão community onde não existe
suporte da Pentaho nem custo anual, uma vez que neste caso o suporte é
feito por meio da
comunidade de desenvolvedores Pentaho espalhados por
todo o mundo.

A Pentaho coordena e patrocina todos os projetos de código aberto


importantes e cruciais
relacionados à sua Suite de BI, como por exemplo os
projetos Mondrian, Kettle, WEKA, entre
outros projetos.

No início os projetos mais importantes da Pentaho eram desenvolvidos por


pessoas em todas
as partes do mundo e não tinham relação direta com a
Pentaho. Porém em 2004, quando a empresa
foi fundada, esses projetos
foram incorporados gradualmente pela Pentaho junto com seus
principais
desenvolvedores.

Por exemplo, o Kettle, desenvolvido por Matt Casters, foi incorporado pela
Pentaho em
2006 e passou a chamar-se PDI (Pentaho Data Integration);
desta forma Matt Casters, o
desenvolvedor mais importante, começou a
trabalhar junto com a Pentaho.
Apenas uma curiosidade: em 2009, enquanto jantava com Matt,
conversamos um pouco a
respeito de sua vida pessoal e ele me informou que
ainda vivia na Bélgica e trabalhava nos projetos
da Pentaho de forma
remota, fazendo apenas algumas visitas à sede da empresa em Orlando.

Outro exemplo importante é o projeto Mondrian, desenvolvido por Julian


Hyde, um inglês
que também foi incorporado, em 2005, junto com seu
projeto, à Pentaho. Naquele mesmo jantar que
tive com Matt e outros, em
2009, tive a oportunidade de trocar informações importantes com Julian
sobre sua forma de trabalho.

Além da parte de integração de dados (Kettle) e servidor OLAP (Mondrian)


também era
necessária uma solução de relatórios. É exatamente nesta parte
que entra o desenvolvedor Thomas
Morgner, que também foi incorporado à
Pentaho junto com seu projeto de código aberto chamado
JfreeReporting.
Atualmente Thomas é o principal líder do projeto, rebatizado como Pentaho
Reporting.

Por fim, mais uma importante aquisição em 2006 foi o projeto WEKA. Um
dos principais
desenvolvedores deste projeto, o Sr. Mark Hall, incorporou-se
à Pentaho, tornando-se o Engenheiro
Sênior de Data Mining da Pentaho, e o
projeto WEKA passou a ser conhecido como Pentaho Data
Mining.

Outras pessoas importantes na história da Pentaho são: Marc Batchelor


(fundador e
Engenheiro Chefe), Richard Daley (fundador e presidente),
James Dixon (fundador Chefe Geek),
Doug Moran (fundador e vice-
presidente da comunidade) e Will Gorman (vice-presidente).

4.2 Empresas que utilizam o Pentaho

Atualmente diversas empresas no Brasil e no mundo utilizam Pentaho.


Algumas delas são:
MySQL, Mozilla, Sun Microsystem, Honeywell,
Motorola, Vonage, Firefox, SERPRO, Caixa
Economica Federal, Banco do
Brasil, entre outras.

4.3 Licença

A plataforma Pentaho é distribuída como Código Aberto através da Licença


Pública da
Pentaho (PPL,do inglês, Pentaho Public License). Uma cópia
desta licença está disponível em
http://www.pentaho.org/license. A PPL é
similar à Licença Pública do Mozilla V1.1, com exceção
de um atributo
adicional.

Todas as ferramentas da Suite de BI da Pentaho podem ser baixadas


gratuitamente, através
do endereço
http://www.sourceforge.net/projects/pentaho.
4.4 Possibiliades
É permitido
realizar consultas, relatórios, análises de informações (OLAP), painéis
(dashboards) para controle gerencial, ETL e mineração de dados (Data
Mining).
4.5 Mobilidade
Acesso de KPI's através de celulares com
navegadores WEB. Por exemplo: iPhone,
Motorola Milestone(Google
Android), etc.
4.6 Vantagens


Projeto 100% Java;

• Servidor de BI e ferramentas de desenvolvimento multi plataforma;

• Escalável;

• Confiável;

• Open Source;

• Desenvolvido utilizando padrões abertos e ferramentas de mercado;

• Custo Zero de Licença (versão pentaho community);

• Possibilidade de customização e integração;

• Independente de Fornecedor;

• Suporte do fabricante por meio de Subscription Model (pago);

• Grande Comunidade de Desenvolvedores no Brasil e no Mundo;

• Acesso web aos indicadores de negócio via navegador, independente de


sistema operacional
(Windows, Linux, Mac, iPhone, Google Android, etc).

4.7 Pentaho BI Suite


A construção de um projeto de Business Intelligence
utilizando o Pentaho pode ser
exemplificada através da figura abaixo.
Figura 4 – Visão Geral de um Projeto de BI com Pentaho
Fonte: IT4biz

Utiliza-se o PDI - Kettle para o processo de ETL; o Data Warehouse pode


ser construído em
cima de qualquer base de dados. O servidor de aplicação,
chamado BI Server, também é multiplataforma. Ele será o responsável pelo
controle de acesso e compartilhamento dos Cubos OLAP,
relatórios e painéis
construídos baseados no DW. Os usuários poderão acessar esses indicadores
de
diversas formas, como por exemplo através de computadores desktop
(Windows, Linux e Mac),
computadores pessoais, celulares com acesso à
internet e navegador (iPhone, Android, Nokia, etc),
entre outros.

4.8 Pentaho BI Server

O Pentaho BI Server é a aplicação responsável pelo gerenciamento dos


indicadores,
compartilhamento entre os usuários, controle de acesso, etc. O
Pentaho BI Server pode ser
executado em diversos webserver J2EE, tais
como: Tomcat, JBOSS, Glassfish e outros. A versão
atual do Pentaho BI
Server é a versão 3.5, e utiliza o Tomcat como webserver padrão.
Figura 5 – Servidor de BI Pentaho
Figura 6 – Arquitetura Servidor de BI Pentaho

4.9 PRD (Pentaho Report Designer)

O PRD, sigla para Pentaho Reporting Designer, é a ferramenta de criação de


relatório da
Pentaho. A versão atual, chamada PRD 3.5, foi totalmente
reescrita por seu criador Thomas, e
apresenta uma série de novas
funcionalidades.
Com o PRD é possível criar relatórios com filtros, gráficos, sub-relatórios,
entre outros, em
PDF, Excel, ou HTML, e publicá-los diretamente no
Pentaho BI Server sem a necessidade de um
conhecimento de programação.
A ferramenta é totalmente visual e permite a criação de relatórios
extremamente profissionais. Ela também torna possível a criação do que
chamamos relatório pixel
perfect, no qual é possível organizar cada pixel.

4.10 PDI (Pentaho Data Integration)

O PDI é uma das ferramentas mais importantes da Suite de BI da Pentaho,


sendo o
responsável pelos processos de ETL (Extração, Transformação e
Carga). De uma forma totalmente
visual a ferramenta permite o
desenvolvedor de ETL conectar-se a diversos bancos de dados, extrair
dados, copiar, transformá-los, combiná-los, apagá-los, atualizá-los, enviá-los
a diversos locais, criar
“jobs”, enviar e-mails, acessar um servidor via ssh,
ftp, realizar tratamentos de erros, e tantas outras
tarefas necessárias a um
processo de ETL. Com a utilização do PDI é possível integrar empresas e
sistemas de uma forma visual e organizada.

4.11 PSW (Pentaho Schema Workbench)

O Pentaho Schema Workbench é a ferramenta necessária para a criação dos


cubos OLAP no
formato XML. O processo de criação deste esquema pode
ser através de um editor de texto ou, de
forma visual, através da aplicação
PSW – Pentaho Schema Workbench.

Os cubos criados no PSW são exibidos no Pentaho BI Server; seu processo


de publicação é
bastante simples e intuitivo. Com a ajuda do PSW é possível
criar métricas, dimensões, hierarquias,
etc.

4.12 WEKA

A WEKA é a ferramenta de Data Mining da Suite de BI da Pentaho. Trata-se


de um
ambiente gráfico onde é possível aplicar de forma intuitiva modelos
estatísticos, inteligência
artificial, e outros modelos, com o fim de enriquecer
a base de dados e apoiar o processo de tomada
de decisão.

5. CONSTRUINDO UMA SOLUÇÃO DE BI PROFISSIONAL

5.1 Instalando as ferramentas de BI


O processo de instalação das ferramentas de BI é bastante simples,
consistindo, na grande
maioria das vezes, em descompactar os arquivos e
executar o programa. Nesta monografia não
abordaremos esse processo de
instalação; as formas mais avançadas de instalação do Pentaho BI
Server
também não serão abordadas nesta monografia.

Para este projeto foi preparada uma máquina de desenvolvimento com o


sistema operacional
Linux, utilizada como servidor e máquina de
desenvolvimento. Em um projeto real é necessário
criar ambientes
separados, e de preferência utilizar o sistema operacional Linux para o
servidor.

Abaixo seguem duas listas de instalação.


Lista do que deve ser instalado no
Servidor Pentaho BI Server e Data Warehouse:


Sistema Operacional Linux;

• Banco de dados para o Data Warehouse;

• JDK (Java Development Kit);

• Pentaho BI Server.

Lista do que deve ser instalado nas maquinas dos desenvolvedores de BI:


Sistema Operacional;

• JDK (Java Development Kit);

• PSW – Pentaho Schema Workbench;

• PRD – Pentaho Report Designer;

• PDI – Pentaho Data Integration;

• Squirrel – SQL Cliente Universal.


Figura 7 – Tela de Login Portal BI
Fonte: Sistema Desenvolvido para a
Monografia

Figura 8 – Tela Interna Portal BI


5.2 Processos de ETL

5.2.1 Definindo os indicadores


Neste estudo de caso definimos como indicador a ser desenvolvido a análise
de faturamento
da empresa EXEMPLO. Este indicador terá sua análise de
faturamento (quantidade de vendas e
valor das vendas) cruzado com
vendedor, canal de venda, cliente, produto e tempo.

A grande maioria das empresas possui dificuldade em cruzar dados


extremamente
importantes, por isso pensamos em um modelo genérico que
pudesse atender o maior número de
empresas. Assim chegamos ao modelo
definido neste estudo de caso.

As visões definidas são:


Total (R$) e Quantidade de Produtos Vendidos;
◦ Por:

▪ Vendedor;

▪ Canal de Venda;

▪ Cliente;

▪ Produto;

▪ Tempo.

5.2.2 Modelagem Dimensional

Na figura abaixo vemos o modelo dimensional desenvolvido para responder


às perguntas
definidas pelos usuários do sistema de apoio à decisão. Neste
modelo utilizou-se o esquema estrela
(Star Schema).

No cubo OLAP, definido para analisar o faturamento da empresa, temos a


tabela “fato
vendas”. Nesta tabela as quantidades de produtos vendidos e
total da venda (R$) são definidas como
métricas, e as dimensões são:
vendedores, canal de venda, cliente, produto e tempo.
Modelo Estrela - Cubo
Faturamento
Figura 9 – Modelo Estrela – Cubo Faturamento
5.2.3 Descrição das
dimensões, fatos e campos
Tabela: fato_venda

Métricas:
qtd_produtos = Quantidade de Produtos vendidos
total_venda =
Valor Total (R$) da Venda.
Figura 10 – Tabela Fato_Venda

Fonte: Sistema Desenvolvido para a Monografia

Relacionamentos:

fato_venda.id_cliente → dim_cliente.id_cliente

fato_venda.id_canalvenda → dim_canalvenda.id_canalvenda
fato_venda.id_vendedor → dim_vendedor.id_vendedor
fato_venda.id_produto → dim_produto.id_produto
fato_venda.id_tempo →
dim_tempo.id_tempo

Tabela: dim_canalvenda
Figura 11 – Tabela
Dim_CanalVenda)
Fonte: Sistema Desenvolvido para a Monografia

Descrição dos Campos:

id_canalvenda → Identificador único do Canal de Venda


cod_canalvenda →
Código do Canal de Venda no Sistema de Origem
desc_canalvenda →
Descrição do Canal de Venda

Tabela: dim_tempo

Figura 12 – Tabela Dim_Tempo


Fonte: Sistema
Desenvolvido para a Monografia
Descrição dos Campos:

id_tempo → Identificador único do Período

ano → Ano

trimestre → Trimestre

mes → Mês

mesnumero → Número do Mês

Tabela: dim_cliente
Figura 13 – Tabela Dim_Cliente
Fonte: Sistema Desenvolvido para a Monografia

Descrição dos Campos:

id_cliente → Identificador único do Cliente

cod_cliente → Código do Cliente no Sistema de Origem

documento → CNPJ, CPF ou RG

tipo → Pessoa Física ou Pessoa Jurídica

desc_cliente → Descrição do Cliente

cidade → Cidade do Cliente

estado → Estado do Cliente

pais → Pais do Cliente

latitude → Latitude do Cliente

longitude → Longitude do Cliente

desc_negocio → Descrição do Negócio do Cliente


Tabela: dim_produto
Figura 14 – Tabela
Dim_Produto
Fonte: Sistema Desenvolvido para a Monografia

Descrição dos Campos:

id_produto → Identificador único do Produto

cod_produto → Código do Produto no Sistema de Origem


desc_produto →
Descrição do Produto

cod_categoria → Código da Categoria

desc_categoria → Descrição da Categoria

status_produto → A = Ativo e I = Inativo

Tabela: dim_vendedor
Figura 15 – Tabela
Dim_Vendedor
Fonte: Sistema Desenvolvido para a Monografia

Descrição dos Campos:

id_vendedor → Identificador único do Vendedor


cod_vendedor → Código do Vendedor no Sistema de Origem

documento → CPF, CNPJ, RG

tipo → vendedor interno, vendedor externo, distribuidor, representante,


revendedor
desc_vendedor → Descrição do Vendedor datanascimento →
Data de Nascimento do Vendedor
cidade → Cidade do Vendedor

estado → Estado do Vendedor

pais → Pais do Vendedor

5.2.4 Criando os processos de ETL no Kettle


Utilizaremos a ferramenta PDI – Kettle para desenvolver as rotinas de
extrações,
transformações e cargas necessárias para a criação do Data
Warehouse.
Abaixo vemos os componentes utilizados para a criação de uma dimensão
tradicional e suas
funções.

Figura 16 – Exemplo de
ETL usando o PDI
Fonte: Sistema Desenvolvido para a Monografia

Componentes:

1) TIN – Extrai Dados → Utilizando o componente Table Input, extraímos


os dados
necessários para a dimensão, através de uma consulta SQL
realizada na base de dados de Origem
das informações.

2) DIMLKP – Carrega Dimensão → No próximo passo utilizamos o


componente do PDI
chamado Dimension Lookup. Este componente verifica
se o registro já existe e permite a inserção
(caso o registro não exista) ou
atualização do registro (caso o mesmo exista). O DIMLKP permite a
criação
e a carga de uma dimensão, sendo também o responsável pelos controles
existentes em uma
dimensão.

O processo de criação da “tabela fato” envolve componentes como Table


Input, Database
Lookup e outros.

Não abordaremos nesta monografia o processo completo existente da


construção das rotinas
necessárias para a criação de um DataWarehouse.
Gostaríamos apenas de registrar que todo o
processo de ETL pode ser criado
utilizando o PDI – Kettle, de forma totalmente visual e
componentizada,
como demonstrado no exemplo anterior.

5.3 Cubos OLAP

5.3.1 Criando um Cubo OLAP

Na figura abaixo temos o Cubo OLAP de faturamento criado para o estudo


de caso desta
monografia.

Neste cubo podemos analisar a quantidade de produtos vendidos e o valor


total por produto,
vendedor, cliente e canal de venda.

Figura 17 – Cubo OLAP Faturamento

O Cubo OLAP de faturamento permite ao usuário, sem conhecimento


técnico algum, criar,
de forma independente, diversas visões de negócio.

Clicando no ícone abaixo, o usuário pode modificar a ordem das dimensões,


adicionar e
remover métricas e aplicar filtros.
Abaixo podemos visualizar um exemplo de cubo de faturamento.

Figura 18 – Criando uma nova visão no Cubo OLAP de Faturamento


Fonte:
Sistema Desenvolvido para a Monografia

No cubo de faturamento foram definidas três métricas: quantidade de


produtos vendidos,
faturamento total e quantidade de vendas. De forma
simples o usuário pode escolher quais métricas
ele utilizará para cada visão.

Figura 19 – Escolhendo as métricas


Fonte: Sistema Desenvolvido para a
Monografia
Com o intuito de demonstrar a capacidade de criação de
diversas visões das mesmas
informações, mostraremos algumas visões
criadas a partir do cubo de faturamento.
Figura 20 – Visão por Produto
Fonte: Sistema Desenvolvido para a
Monografia

Figura 21 – Faturamento por Canal de Venda


Figura 22 – Faturamento por Canal de Venda

Fonte: Sistema Desenvolvido para a Monografia


Figura 23 – Faturamento por Produtos
Figura 24 – Faturamento por Vendedores

Fonte: Sistema Desenvolvido para a Monografia


Figura 25 –
Faturamento por Vendedores (Gráfico)
Figura 26 –
Quantidade de Produtos Vendidos por Vendedores (Gráfico)

Figura 27 – Faturamento por Vendedores e Período (Tempo)


Fonte: Sistema

Desenvolvido para a Monografia

Figura 28 – Filtrando a dimensão Produtos

Figura 29 – Recurso de Drill Through

Fonte: Sistema Desenvolvido para a Monografia

O visualizador OLAP JPivot permite ao usuário transformar as informações


em diversos
tipos de gráficos e exportar para PDF e Excel. Abaixo vemos os
ícones que permitem essas
funcionalidades.

Figura 30 – Possibilidades JPivot.


5.4 Painel com
Mapas

5.4.1 Criando um painel com mapas

Com o intuito de ajudar o gestor da empresa foi criado um painel utilizando


Java, jQuery
(AJAX), Pentaho e Google Maps. Neste painel é possível
identificar a localização dos clientes da
empresa, saber, através das cores, o
total de faturamento de cada cliente, filtrar por faturamento,
canal de venda,
período, região e estado.

Legenda das cores dos ícones:

- Vermelho = Até 100 mil reais;

- Azul = Acima de 100 mil reais até 300 mil reais;

- Amarelo = Acima de 300 mil reais até 500 mil reais;

- Laranja = Acima de 500 mil reais até 1 milhão;

- Verde = Acima de 1 milhão.

Figura 31 – Painel Faturamento


Figura 32 – Painel Faturamento por Estado

Fonte: Sistema Desenvolvido para a Monografia

5.5 Google Android

5.5.1 Acessando o sistema de BI pelo celular Google Android


O portal de
BI desenvolvido para a empresa exemplo poderá ser acessado através de um
aplicativo desenvolvido para rodar em celulares com o sistema operacional
Google Android.
Figura 33 – Simulação do Aplicativo para acessar o Portal de BI no Google
Android
Fonte: Sistema Desenvolvido para a Monografia
O aplicativo
necessário para acessar o Portal chama-se IT4biz BI Mobile.

Figura 34 – Aplicativo IT4biz BI Mobile – Android


Figura 35 – Tela de Login Portal BI acessado via Google Android
Fonte:
Sistema Desenvolvido para a Monografia
Figura 36 – Exemplo de um Painel visualizado através do Google Android
Figura 37 – Exemplo de outro Painel visualizado através do Google Android
Fonte: Sistema Desenvolvido para a Monografia
Figura 38 – Exemplo de Cubo OLAP visualizado através do Google Android
5.5.2 BI Touch e BI Mobile: informações estratégicas na palma da sua
mão

Alguns celulares possuem o recurso de tela sensível ao toque (touch screen),


o que
possibilita um portal de BI sensível ao toque; desta forma o executivo
pode manipular seus
indicadores através do toque.

O futuro é a migração dos aplicativos para os celulares. Acompanhando essa


tendência, o
portal de BI desenvolvido para a empresa exemplo poderá ser
acessado via aplicativo próprio
desenvolvido para o Google Android.

Cada vez mais as empresas buscam soluções onde as informações


estratégicas possam estar
ao fácil alcance das pessoas que tomam as
decisões. Pensando nisso apresentamos, neste portal de
BI, a possibilidade
de visualização dessas informações em qualquer celular com acesso à
internet e
em celulares equipados com a tela sensível e sistema operacional
google android. Através desta
solução de BI Mobile e Touch o poder está
literalmente nas mãos dos usuários, de forma rápida e
simples.

6. CONCLUSÕES

Conclui-se que, com a chegada de ferramentas de código aberto ao setor de


Business
Intelligence, tornou-se possível para pequenas, médias e grandes
empresas o investimento na
criação de sistemas de apoio à decisão, os quais
têm como objetivo auxiliar os executivos das
empresas no processo de
tomada de decisão.

Um sistema de Inteligência de Negócios pode atender diversos usuários que


estejam em
diversas áreas da empresa, desde áreas operacionais até áreas
estratégicas da mesma.

Com o crescimento do movimento open source diversas empresas têm


investido na criação
de soluções baseadas em código livre. Estas soluções
podem ajudar diversas empresas a economizar
muito dinheiro e a obter a
mesma qualidade de uma ferramenta proprietária consolidada no
mercado.

Apesar das ferramentas necessárias para a criação de um projeto de Business


Intelligence
serem, na maioria das vezes, disponibilizadas gratuitamente, o
processo de concepção,
planejamento, desenvolvimento, testes e
acompanhamento precisam ser realizados por mão de obra
qualificada e
especializada.

Estamos vivendo uma era de liberdade, um momento histórico onde


empresas, sem os
recursos necessários, podem se beneficiar com as
tecnologias antigamente presentes somente nas
grandes empresas.

O modelo open souce proporciona às empresas uma liberdade e uma


economia significativa.
Estes fatores, que geralmente não existem no modelo
proprietário, são os pontos fortes desse
modelo, seu grande diferencial.

7. BIBLIOGRAFIA
KIMBALL, Ralph, The Data Warehouse Toolkit.
John Wiley & Sons,Inc, 1996.
BATES & SIERRA. Use a Cabeça! Java.
O'REILLY, 2009.
BOUMAN & DONGEN, Pentaho Solutions: Business
Intelligence and Data Warehousing with
Pentaho and MySQL. Wiley,
2009.
GORMAN, Will, Pentaho Reporting 3.5 for Java Developers. Packt
Publishing, 2009.
ROLDÁN, María. Pentaho 3.2 Data Integration:
Beginner's Guide. Packt Publishing, 2010.
Pentaho. Definições sobre o
Produto Pentaho BI Suite. Disponível em:
<http://www.pentaho.com>.
Acesso em: 16 de Junho de 2010.

DIXON,
James.
The
Beekeeper.
Disponível
em:
<http://wiki.pentaho.com/display/BEEKEEPER/The+Beekeeper>. Acesso
em: 16 de Junho de
2010.

Google. Projetos do Google para o Android. Disponível em:


<http://code.google.com/intl/ptBR/android>. Acesso em: 16 de Junho de
2010.
Google. Android Developers. Disponível em:
<http://developer.android.com/index.html>.
Acesso em: 16 de Junho de
2010.
Google. The Developer's Guide. Disponível em:
<http://developer.android.com/guide/index.html>
Acesso em: 16 de Junho de
2010.
Google. Android SDK. Disponível em:
<http://developer.android.com/sdk/index.html>. Acesso
em: 16 de Junho de
2010.
GNU. The Free Software Definition. Disponível em:
<http://www.gnu.org/philosophy/freesw.html>. Acesso em: 16 de Junho de
2010.
GNU. The GNU Manifesto. Disponível em:
<http://www.gnu.org/gnu/manifesto.html>. Acesso
em: 16 de Junho de
2010.
TORVALDS, Linus. Blog Pessoal Linus Torvalds. Disponível em:
<http://torvaldsfamily.blogspot.com/> Acesso em: 16 de Junho de 2010.
SUN. Java is Everywhere. Disponível em:
<http://br.sun.com/java/everywhere>. Acesso em: 16
de Junho de 2010.
JPIVOT.
Informações
sobre
o
visor
OLAP
JPivot.
Disponível
em:
<http://jpivot.sourceforge.net/>. Acesso em: 16 de Junho de 2010.

Você também pode gostar