integração de ferramentas de código aberto (java, pentaho e android) e mapas, aplicada a projetos...

57
1 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 DE CÓDIGO ABERTO (JAVA, PENTAHO E ANDROID) E MAPAS, APLICADA A PROJETOS DE INTELIGÊNCIA DE NEGÓCIOS. MONOGRAFIA DE ESPECIALIZAÇÃO CURITIBA 2010

Upload: caio-moreno-de-souza

Post on 18-Dec-2014

2.368 views

Category:

Technology


11 download

DESCRIPTION

O objetivo geral desse trabalho é mostrar a importância de um sistema de 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 seusolhos 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 encontra-se espalhadas em sistemas da empresa, empastas 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.

TRANSCRIPT

1

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 DE CÓDIGO ABERTO (JAVA, PENTAHO E ANDROID) E MAPAS, APLICADA A PROJETOS DE

INTELIGÊNCIA DE NEGÓCIOS.

MONOGRAFIA DE ESPECIALIZAÇÃO

CURITIBA 2010

2

CAIO MORENO DE SOUZA

INTEGRAÇÃO DE FERRAMENTAS DE CÓDIGO ABERTO (JAVA, PENTAHO E ANDROID) E MAPAS, APLICADA A PROJETOS DE

INTELIGÊNCIA DE NEGÓCIOS.

Monografia apresentada ao programa de Pós-Graduação em 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.

CURITIBA 2010

3

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

4

RESUMO

DE SOUZA, Caio Moreno. Integração de ferramentas de código aberto (java, pentaho e android) e mapas, aplicada a projetos de inteligência de negócios. 2010. 57 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 um sistema de 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 encontra-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: Armazém de dados; Inteligência de Negócios; software livre; estratégias competitivas, tecnologia java, descoberta de conhecimento, mineração de dados, mapas, sistemas de apoio a decisão, código aberto, google android.

5

ABSTRACT

DE SOUZA, Caio Moreno. Integration of open source tools (java, pentaho and Android) and maps, applied to business intelligence projects. 2010. 57 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 system 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.

6

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

7

LISTA DE ABREVIATURAS BD Banco de Dados JCP ( Java Community Process) – Processo da Comunidade Java DW (Data Warehouse) – Armazém de dados OLAP (On-Line Analytic Processing) – Processamento Analítico On-Line OLTP On-Line Transaction Processing – Processamento de Transação On-Line PDF Portable Document Format – Formato Portátil de documento SGBD Sistema Gerenciador de Banco de Dados SQL (Structured Query Language) – Linguagem Estruturada de Query 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) – Inteligência de Negócios 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

8

SUMÁRIO RESUMO ....................................................................................................................................... 4 ABSTRACT ................................................................................................................................... 5 LISTA DE FIGURAS ..................................................................................................................... 6 LISTA DE ABREVIATURAS ......................................................................................................... 7 SUMÁRIO...................................................................................................................................... 8 1. INTRODUÇÃO ........................................................................................................................ 10

1.1 Apresentação ...................................................................................................................... 10 1.2 Descrição do problema ........................................................................................................11 1.3 Justificativa .........................................................................................................................11 1.4 Objetivo geral ..................................................................................................................... 12 1.5 Objetivos específicos .......................................................................................................... 12 1.6 Metodologia ....................................................................................................................... 12

2 INTELIGÊNCIA DE NEGÓCIOS ............................................................................................ 13 2.1 História ............................................................................................................................... 13 2.2 Ferramentas de Inteligência de Negócios disponíveis no mercado ...................................... 14 2.3 Tecnologia Java e Código Aberto ...................................................................................... 14

2.3.1 O movimento Open Source e sua história .................................................................... 14 2.3.2 Linux .......................................................................................................................... 15 2.3.3 Principais projetos de código aberto aplicados a sistemas de inteligência de negócios............................................................................................................................... 15 2.3.4 História da Tecnologia Java e conceitos ....................................................................... 16 2.3.5 Características da Tecnologia Java ............................................................................... 19 2.3.6 Tecnologia Java e de Código Aberto aplicada a Sistemas de Inteligência de Negócios .............................................................................................................................. 20

3 ARMAZÉM DE DADOS .......................................................................................................... 21 3.1 Características .................................................................................................................... 21 3.2 Construção......................................................................................................................... 21 3.3 Extração, transformação e carga dos dados - ETC .............................................................. 22 3.4 Acesso aos dados ............................................................................................................... 23 3.5 Ferramentas OLAP ............................................................................................................. 24 3.6 Mineração de Dados .......................................................................................................... 25

4 PENTAHO ................................................................................................................................ 26 4.1 Mobilidade ......................................................................................................................... 27 4.2 Características .................................................................................................................... 27 4.3 Pentaho BI Suite ................................................................................................................. 27 4.4 Pentaho BI Server ............................................................................................................... 28 4.5 PRD (Pentaho Report Designer) ......................................................................................... 30 4.6 PDI (Pentaho Data Integration) ........................................................................................... 30 4.7 PSW (Pentaho Schema Workbench) .................................................................................... 30 4.8 WEKA................................................................................................................................ 30

5. CONSTRUINDO UMA SOLUÇÃO DE BI PROFISSIONAL .................................................. 31 5.1 Instalação das ferramentas de Inteligência de Negócios ...................................................... 31 5.2 Processos de ETL ............................................................................................................... 33

5.2.1 Definindo os indicadores ............................................................................................. 33 5.2.2 Modelagem Dimensional ............................................................................................. 33 5.2.3 Descrição das dimensões, fatos e campos .................................................................... 35 5.2.4 Criando os processos de ETL no Kettle ....................................................................... 38

5.3 Cubos OLAP ...................................................................................................................... 39 5.4 Painel com Mapas ............................................................................................................... 49

9

5.5 Google Android .................................................................................................................. 51 5.5.1 Acessando o sistema de Inteligência de Negócios pelo celular Google Android ........... 51 5.5.2 BI Touch e BI Mobile: informações estratégicas na palma da sua mão......................... 54

6. CONCLUSÕES ........................................................................................................................ 55 7. BIBLIOGRAFIA ...................................................................................................................... 56

10

1. INTRODUÇÃ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.

1.1 Apresentaçã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 Inteligência de Negócios (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 Inteligência de Negócios 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 Inteligência de Negócios 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.

11

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 armazém de dados. De acordo com Immon (1997), o conceito de armazém de dados (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 Inteligência de Negócios, 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 Inteligência de Negócios baseado em ferramentas de código aberto pode ser a solução ideal para pequenas, médias e grandes empresas, dos mais diversos setores, devido ao baixo custo de investimento e a alta qualidade, o que torna a relação custo beneficio extremamente favorável.

12

1.4 Objetivo geral O objetivo geral desse trabalho é demonstrar a importância de um sistema de apoio à decisão nas pequenas, médias e grandes empresas dos mais diversos setores.

1.5 Objetivos específicos Os objetivos específicos desse trabalho são:

Definir as tecnologias necessárias para o desenvolvimento de um sistema de inteligência de negócios;

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 Inteligência Competitiva, ou pelo menos servir de material de pesquisa para o planejamento de uma futura implementação de uma estratégia de Inteligência de Negócios;

Servir de referência para futuras pesquisas sobre descoberta de conhecimento utilizando ferramentas de código aberto.

1.6 Metodologia A presente monografia foi elaborada visando demonstrar as tecnologias necessárias para a criação de um sistema de apoio à decisão baseado em programas de código aberto. 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 Inteligência de Negócios na prática, criando um modelo de projeto que poderá ser implementado em diversas empresas.

13

2 INTELIGÊNCIA DE NEGÓCIOS O processo de desenvolvimento de uma solução profissional de Inteligência de Negócios 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 é Inteligência de Negócios. Atualmente muitos diretores executivos/gerais (em inglês Chief Executive Officer, CEO) colocaram como prioridade a implantação de uma solução de BI, tornando o termo Inteligência de Negócios 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 Inteligência de Negócios, 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.

2.1 História 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 armazém de dados 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 fatias de mercado, 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 (TZU, 2000); 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 aborda, no decorrer da história, a necessidade de estudar seus concorrentes constantemente (PUZO, 2000). Sobre essa metodologia de estudo da concorrência, Kotler também afirma que “ Uma empresa precisa saber sobre seus concorrentes (…) seus objetivos, estratégias, pontos fortes e fracos e padrões de resposta.” (KOTLER, 1999). O Prof. PhD. Ralph Kimball é um dos precursores dos conceitos de armazém de dados e sistemas de apoio à decisão realizando pesquisas e conceitos desde 1982. Seus estudos influenciam até hoje a maioria dos projetos de Inteligência de Negócios 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 (KIMBALL, 1996). Com o passar dos anos muitas ferramentas foram criadas com o intuito de ajudar na criação de uma solução de Inteligência de Negócios e o termo tornou-se extremamente popular no mundo dos negócios.

14

2.2 Ferramentas de Inteligência de Negócios disponíveis no mercado Atualmente as empresas que desejam implantar uma solução de Inteligência de Negócios 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 Inteligência de Negócios 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 Inteligência de Negócios sem a necessidade de grandes investimentos.

2.3 Tecnologia Java e Código Aberto Java, segundo o glossário disponível no site da Sun, é marca registrada da Sun “para um conjunto de tecnologias que permite a criação e execução segura de programas para ambientes desktop e ambientes de rede.” (SUN, 2010). Ainda segundo o endereço web supracitado, essa tecnologia “permite que você jogue online, converse com pessoas ao redor do mundo, calcule o seu financiamento de sua hipoteca e veja imagens em 3D, isso é apenas para citar algumas coisas . É também integrante dos aplicativos de intranet e outras soluções de e-business que formam a base da computação corporativa.” (SUN, 2010). O termo Open Source, traduzido para o português, significa código aberto. De acordo com a empresa Open Source Initiative: “Open source não significa apenas acesso ao código-fonte. Os termos de distribuição de software de código aberto devem obedecer aos seguintes critérios: redistribuição livre, código fonte, trabalhos derivados, integridade do código fonte do autor, sem discriminação contra pessoas ou grupos, sem discriminação contra campos de trabalho, distribuição da licença, a licença não deve ser específica a um produto, licença não deve restringir outro software e a licença deve ser tecnologicamente neutra.” (OSI, 2010)

2.3.1 O movimento Open Source e sua história 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) (OSI, 2010). 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 foi 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.

15

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.”(GNU,2010).

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, 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. 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 de código aberto aplicados a sistemas de inteligência de negócios Após uma breve explicação sobre conceitos importantes chegou a hora de listar alguns projetos importantes que se caracterizam como projetos de código aberto 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 inteligência de negócios. Algumas distribuições Linux são: SUSE, Debian, CentOS, Ubuntu e Fedora (LINUX, 2010).

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

16

em projetos de inteligência de negócios, ambos possuem uma versão comunidade que pode muito bem ser utilizada para a construção do Armazém de Dados (MySQL e PostgreSQL, 2010).

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 web container (PENTAHO, 2010).

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 (SQUIRREL, 2010).

Apache Tomcat: conteiner java muito utilizado em aplicações web. A plataforma de BI Pentaho utiliza o tomcat como servidor web padrão (TOMCAT, 2010).

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, robustez, segurança, liberdade, código aberto e a credibilidade da Sun MicroSystem no mundo de desenvolvimento de software. (SUN, 2010)

Eclipse: IDE de desenvolvimento muito utilizada no desenvolvimento de painéis melhor trabalhados (ECLIPSE, 2010).

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 (JASPER, 2010).

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á.” (SUN, 2010). 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-

17

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.

Figura 1 – Funcionamento Tecnologia Java Fonte: UTFPR – Apontamento das aulas de Linguagem Java (LINHARES, 2009)

18

Figura 2 – Funcionamento Tecnologia Java Fonte: UTFPR – Apontamento das aulas de Linguagem Java (LINHARES, 2009) A frase mais importante no mundo Java idealizada por seus criadores é: “Write once, run everywhere.”. A tradução para o português é: “Escrever uma vez/ executar em qualquer local” (BATES & SIERRA, 2009).

Máquina virtual Java

public class Exemplo{ public static void main (String [] args) {

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

}}

Compilador Java

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

Exemplo.java

Exemplo.class

Máquina virtual Java

Máquina virtual Java

Código nativo PDA

Código nativo PC Código nativo celular

19

2.3.5 Características 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 características 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 insatisfação com relação ao fornecedor, é

possível 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.

20

2.3.6 Tecnologia Java e de Código Aberto aplicada a Sistemas de Inteligência de Negócios Atualmente existem duas empresas importantes no mundo da tecnologia Java aplicada à sistemas de Inteligência de Negócios, são elas: Jasper e Pentaho. A empresa Jasper produz uma Suite de Inteligência de Negócios de código aberto 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 Inteligência de Negócios, juntaram-se e fundaram a empresa Pentaho, com o objetivo de criar uma plataforma de código aberto de Inteligência de Negócios. A estratégia utilizada foi reunir as melhores ferramentas de código aberto disponíveis no mercado e criar uma única suite de BI contendo todas as ferramentas necessárias para uma solução completa de Inteligência de Negócios de código aberto. 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 de código aberto. Antes da criação do Projeto Pentaho existiam quatro projetos de código aberto importantes relacionados ao mundo de Inteligência de Negócios, são eles: Mondrian, Kettle, JFreeReport e Weka. O projeto Mondrian, fundado por Julian Hyde, possibilitava à comunidade de código aberto 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 de código aberto para ferramentas de mineração de dados 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. Em outras palavras, todas essas ferramentas de código aberto, desenvolvidas em Java, possuíam cada uma um criador e estavam disponíveis na internet. Então, à partir da criação da Pentaho e da aquisição de todas essas ferramentas e de seus principais desenvolvedores, 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 Inteligência de Negócios.

21

3 ARMAZÉM DE DADOS Define-se Armazém de Dados (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, Armazém de Dados “é 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.1 Características • 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 armazém de dados 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 armazém de dados 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 Construção De acordo com Kimball (1997), o processo de construção de um armazém de dados é 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) Definir a granularidade (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;

22

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.3 Extração, transformação e carga dos dados - ETC A etapa mais trabalhosa na construção de um armazém de dados é 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 armazém de dados. 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 armazém de dados. 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.

23

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.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 Inteligência de Negócios 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 Inteligência de Negócios 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.

24

3.5 Ferramentas OLAP A grande maioria dos novos usuários de sistemas de Inteligência de Negócios, 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.

25

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.6 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 armazém de dados estruturado, começam a analisar de forma mais profunda seus dados utilizando técnicas de mineração de dados. Na Suite Pentaho a ferramenta de mineração de dados 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 mineração de dados da Suite Pentaho. Porém além desta (WEKA) existem muitas outras ferramentas poderosas de mineração de dados que podem ser utilizadas a fim de enriquecer as decisões tomadas pelas empresas.

26

4 PENTAHO

Fundada em 2004 por uma equipe de veteranos da indústria de Inteligência de Negócios 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 Inteligência de Negócios 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 Inteligência de Negócios 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. 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. 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 Mineração de Dados da Pentaho, e o projeto WEKA passou a ser conhecido como Pentaho Mineração de Dados. 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).

27

4.1 Mobilidade Acesso de KPI's através de celulares com navegadores WEB. Por exemplo: iPhone, Motorola Milestone(Google Android), etc.

4.2 Características

Projeto 100% Java; Servidor de BI e ferramentas de desenvolvimento multi plataforma; Escalável; Confiável; Código aberto; 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.3 Pentaho BI Suite A construção de um projeto de Inteligência de Negócios 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

28

Utiliza-se o PDI - Kettle para o processo de ETL; o armazém de dados pode ser construído em cima de qualquer base de dados. O servidor de aplicação, chamado BI Server, também é multi- plataforma. 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.4 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 Fonte: Pentaho

29

Figura 6 – Arquitetura Servidor de BI Pentaho Fonte: Pentaho

30

4.5 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.6 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.7 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.8 WEKA A WEKA é a ferramenta de mineração de dados 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.

31

5. CONSTRUINDO UMA SOLUÇÃO DE BI PROFISSIONAL 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.

5.1 Instalação das ferramentas de Inteligência de Negócios 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 Armazém de Dados:

Sistema Operacional Linux; Banco de dados para o Armazém de Dados; 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.

32

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

Figura 8 – Tela Interna Portal BI Fonte: Sistema Desenvolvido para a Monografia

33

5.2 Processos de ETL O processo de coleta, organização, limpeza, aplicação de regras de negócios, fórmulas, combinação de diversas fontes de dados e armazenamento dos dados consume grande parte do esforço e dos recursos necessários para a realização de um projeto de Inteligência de Negócios. Esta etapa precisa ser desenvolvida em colaboração com as pessoas tomadoras de decisão, pois as perguntas de negócio determinam os 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 que pudesse ser aplicado por empresas de todos os tamanhos. Segundo o SEBRAE: “Planejar ações de vendas e, por meio de avaliações sistemáticas, ampliar o índice de acerto e corrigir erros cometidos, é uma forma de empresas aumentarem a competitividade no mercado. A adoção de um controle de vendas possibilita ao empresário prever receitas futuras e, consequentemente, programar compras da empresa. Além disso, torna-se mais fácil acompanhar o comportamento mensal das vendas, as variações devido à sazonalidade, bem como o prazo médio concedido para os pagamentos realizados a prazo.” (SEBRAE, 2010) 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

34

Figura 9 – Modelo Estrela – Cubo Faturamento Fonte: Sistema Desenvolvido para a Monografia

35

5.2.3 Descrição das dimensões, fatos e campos Tabela: fato_venda

Figura 10 – Tabela Fato_Venda Fonte: Sistema Desenvolvido para a Monografia Métricas: qtd_produtos = Quantidade de Produtos vendidos total_venda = Valor Total (R$) da Venda. 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

36

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

37

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

38

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 armazém de dados. 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 armazém de dados. 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.

39

5.3 Cubos 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 Fonte: Sistema Desenvolvido para a Monografia

40

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

41

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 Fonte: Sistema Desenvolvido para a Monografia

42

Figura 22 – Faturamento por Canal de Venda Fonte: Sistema Desenvolvido para a Monografia

43

Figura 23 – Faturamento por Produtos Fonte: Sistema Desenvolvido para a Monografia

44

Figura 24 – Faturamento por Vendedores Fonte: Sistema Desenvolvido para a Monografia

45

Figura 25 – Faturamento por Vendedores (Gráfico) Fonte: Sistema Desenvolvido para a Monografia

46

Figura 26 – Quantidade de Produtos Vendidos por Vendedores (Gráfico) Fonte: Sistema Desenvolvido para a Monografia

47

Figura 27 – Faturamento por Vendedores e Período (Tempo) Fonte: Sistema Desenvolvido para a Monografia

48

Figura 28 – Filtrando a dimensão Produtos Fonte: Sistema Desenvolvido para a Monografia

Figura 29 – Recurso de Drill Through Fonte: Sistema Desenvolvido para a Monografia

49

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. Fonte: Sistema Desenvolvido para a Monografia

5.4 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.

50

Figura 31 – Painel Faturamento Fonte: Sistema Desenvolvido para a Monografia

Figura 32 – Painel Faturamento por Estado Fonte: Sistema Desenvolvido para a Monografia

51

5.5 Google Android De acordo com o site do Google: “Android é um software de código aberto criado para celulares e outros dispositivos. O Android Open Source Project (AOSP), liderado pelo Google, está encarregado da manutenção e desenvolvimento do Android.” (Google, 2010)

5.5.1 Acessando o sistema de Inteligência de Negócios 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

52

O aplicativo necessário para acessar o Portal chama-se IT4biz BI Mobile. Figura 34 – Aplicativo IT4biz BI Mobile – Android Fonte: Sistema Desenvolvido para a Monografia Figura 35 – Tela de Login Portal BI acessado via Google Android Fonte: Sistema Desenvolvido para a Monografia

53

Figura 36 – Exemplo de um Painel visualizado através do Google Android Fonte: Sistema Desenvolvido para a Monografia Figura 37 – Exemplo de outro Painel visualizado através do Google Android Fonte: Sistema Desenvolvido para a Monografia

54

Figura 38 – Exemplo de Cubo OLAP visualizado através do Google Android Fonte: Sistema Desenvolvido para a Monografia

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.

55

6. CONCLUSÕES

Conclui-se que, com a chegada de ferramentas de código aberto ao setor de Inteligência de Negócios, 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 Inteligência de Negócios 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 de código aberto 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.

56

7. BIBLIOGRAFIA PUZO, Mario. O Poderoso Chefão. Record, 2000. TZU, Sun. A arte da Guerra. L&PM, 2000. KOTLER, Philip. Marketing para o século XXI: como criar, conquistar e dominar mercados. Futura, 1999. INMON, W. H. Como Construir o Data Warehouse. Campus, 1997. 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/pt-BR/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. Google. About the Android Open Source Project. Disponível em: <http://source.android.com/about/index.html>. Acesso em: 23 de Julho de 2010. GNU. The Free Software Definition. Disponível em: <http://www.gnu.org/philosophy/free-sw.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.

57

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. OSI. Open Source Initiative - Definição de Código Aberto. Disponível em: <http://www.opensource.org/osd.html>. Acesso em: 16 de Junho de 2010. OSI. Open Source Initiative - História da iniciativa Open Source. Disponível em: <http://www.opensource.org/history>. Acesso em: 16 de Junho de 2010. SUN. Glossário Definição Java. Disponível em: <http://java.sun.com/docs/glossary.html>. Acesso em: 16 de Junho de 2010. SUN. Definição Java. Disponível em: <http://www.java.com/en/download/whatis_java.jsp>. Acesso em: 16 de Junho de 2010. MySQL. MySQL Community Server. Disponível em: <http://www.mysql.com/downloads/mysql/>. Acesso em: 16 de Junho de 2010. PostgreSQL. Definição PostgreSQL. Disponível em: <http://www.postgresql.org/about/>. Acesso em: 16 de Junho de 2010. Squirrel. Definições Squirrel. Disponível em: <http://squirrel-sql.sourceforge.net/>. Acesso em: 16 de Junho de 2010. Tomcat. Definições Apache Tomcat. Disponível em: <http://tomcat.apache.org/>. Acesso em: 16 de Junho de 2010. Eclipse. Definições Eclipse. Disponível em: <http://www.eclipse.org/>. Acesso em: 16 de Junho de 2010. Jasper. Definições Jasper. Disponível em: <http://jasperforge.org/projects/jasperreports>. Acesso em: 16 de Junho de 2010. Linux. The Linux Foundation. Disponível em: <http://www.linuxfoundation.org/>. Acesso em: 16 de Junho de 2010. SEBRAE. Acompanhamento e controle de vendas. Disponível em: <http://www.sebrae.com.br/momento/tenho-um-negocio-com-menos-de-2-anos/gestao/falta-controle/integra_bia?ident_unico=396>. Acesso em: 23 de Julho de 2010. LINHARES, Robson. Apontamento das aulas de Linguagem Java. Disponível em: <http://www.dainf.ct.utfpr.edu.br/~robson/posjava/2009/>. Acesso em: 20 fevereiro de 2009.