Integração de ferramentas de código aberto (java, pentaho e android) e mapas, aplicada a projetos de inteligência de negócios
Upcoming SlideShare
Loading in...5
×
 

Integração de ferramentas de código aberto (java, pentaho e android) e mapas, aplicada a projetos de inteligência de negócios

on

  • 2,710 views

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

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.

Statistics

Views

Total Views
2,710
Views on SlideShare
2,708
Embed Views
2

Actions

Likes
0
Downloads
177
Comments
1

2 Embeds 2

http://www.slideshare.net 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Integração de ferramentas de código aberto (java, pentaho e android) e mapas, aplicada a projetos de inteligência de negócios Integração de ferramentas de código aberto (java, pentaho e android) e mapas, aplicada a projetos de inteligência de negócios Document Transcript

  • UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA ESPECIALIZAÇÃO EM TECNOLOGIA JAVA CAIO MORENO DE SOUZAINTEGRAÇÃ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 1
  • CAIO MORENO DE SOUZAINTEGRAÇÃ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 2
  • Dedico esta monografia à minha esposa Milena, mulher sábia, bela e eterna companheira. 3
  • RESUMODE SOUZA, Caio Moreno. Integração de ferramentas de código aberto (java, pentahoe 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 emTecnologia, Universidade Tecnológica Federal do Paraná. Curitiba, 2010. O objetivo geral desse trabalho é mostrar a importância de um sistema deinteligência de negócios nas empresas, demonstrando que a utilização adequada de umsistema 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 deforma a transformar esse amontoado de dados em informações relevantes para a tomada dedecisão. Grande parte das informações encontra-se espalhadas em sistemas da empresa, empastas compartilhadas, nos computadores dos funcionários, sistemas paralelos, sistemaslegados, etc. Organizar essa enormidade de dados torna-se um grande desafio para osgestores da empresa.Palavras-chave: Armazém de dados; Inteligência de Negócios; software livre; estratégiascompetitivas, tecnologia java, descoberta de conhecimento, mineração de dados, mapas,sistemas de apoio a decisão, código aberto, google android. 4
  • ABSTRACTDE SOUZA, Caio Moreno. Integration of open source tools (java, pentaho andAndroid) 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 systemfor enterprises, demonstrating that proper use of a decision support system helps in makingright strategic decisions. Any company that wants to compete intelligently must turn their eyes to its internaldata and to the data available on the market, arranging them in order to transform this massof data into relevant information for decision making. Much of the information is scattered in enterprise systems, shared folders, onemployees computers, parallel systems, legacy systems, etc.. Organize this huge amount ofdata 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, opensource, google android. 5
  • LISTA DE FIGURASFigura 1: Funcionamento Tecnologia JavaFigura 2: Funcionamento Tecnologia JavaFigura 3: Cubo OLAPFigura 4: Visão Geral de um Projeto de BI com PentahoFigura 5: Servidor de BI PentahoFigura 6: Arquitetura Servidor de BI PentahoFigura 7: Tela de Login Portal BIFigura 8: Tela Interna Portal BIFigura 9: Modelo Estrela – Cubo FaturamentoFigura 10: Tabela Fato_VendaFigura 11: Tabela Dim_CanalVendaFigura 12: Tabela Dim_TempoFigura 13: Tabela Dim_ClienteFigura 14: Tabela Dim_ProdutoFigura 15: Tabela Dim_VendedorFigura 16: Exemplo de ETL usando o PDIFigura 17: Cubo OLAP FaturamentoFigura 18: Criando uma nova visão no Cubo OLAP de FaturamentoFigura 19: Escolhendo as métricasFigura 20: Visão por ProdutoFigura 21: Faturamento por Canal de VendaFigura 22: Faturamento por Canal de VendaFigura 23: Faturamento por ProdutosFigura 24: Faturamento por VendedoresFigura 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 ProdutosFigura 29: Recurso de Drill ThroughFigura 30: Possibilidades JPivotFigura 31: Painel FaturamentoFigura 32: Painel Faturamento por EstadoFigura 33: Simulação do Aplicativo para acessar o Portal de BI no Google AndroidFigura 34: Aplicativo IT4biz BI Mobile – AndroidFigura 35: Tela de Login Portal BI acessado via Google AndroidFigura 36: Exemplo de um Painel visualizado através do Google AndroidFigura 37: Exemplo de outro Painel visualizado através do Google AndroidFigura 38: Exemplo de Cubo OLAP visualizado através do Google Android 6
  • LISTA DE ABREVIATURASBD Banco de DadosJCP ( Java Community Process) – Processo da Comunidade JavaDW (Data Warehouse) – Armazém de dadosOLAP (On-Line Analytic Processing) – Processamento Analítico On-LineOLTP On-Line Transaction Processing – Processamento de Transação On-LinePDF Portable Document Format – Formato Portátil de documentoSGBD Sistema Gerenciador de Banco de DadosSQL (Structured Query Language) – Linguagem Estruturada de QueryPSW Pentaho Schema WorkbenchPDS Pentaho Design StudioPRD Pentaho Report DesignerPDI Pentaho Data IntegrationPUC Pentaho User ConsolePAC Pentaho Adminstration ConsolePME Pentaho Metadata EditorWAQR Web-based Adhoc Query and ReportingAPI Application Programming InterfaceBI (Business Intelligence) – Inteligência de NegóciosETL Extract, Transform and LoadETC Extração, Transformação e CargaJDBC Java Database ConnectivityJNDI Java Naming and Directory InterfaceJRE Java Runtime EnvironmentJVM Java Virtual MachineKETTLE Kettle, Extraction, Transport, Transformation and Loading EnvironmentMDX Multi-Dimensional ExpressionsPCI Pre-Configured InstallationPPL Pentaho Public LicenseXML Extensible Markup LanguageDDL Data Definition LanguageCEO Chefe Executive Oficer 7
  • SUMÁRIORESUMO ....................................................................................................................................... 4ABSTRACT ................................................................................................................................... 5LISTA DE FIGURAS ..................................................................................................................... 6LISTA DE ABREVIATURAS ......................................................................................................... 7SUMÁRIO...................................................................................................................................... 81. 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 ....................................................................................................................... 122 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 .............................................................................................................................. 203 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 .......................................................................................................... 254 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................................................................................................................................ 305. 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 8
  • 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......................... 546. CONCLUSÕES ........................................................................................................................ 557. BIBLIOGRAFIA ...................................................................................................................... 56 9
  • 1. INTRODUÇÃO A globalização tem exigido de qualquer empresa o conhecimento de seu negócio edo negócio de seus concorrentes. Porém, grande parte das informações encontra-seespalhada em sistemas da empresa, em pastas compartilhadas, nos computadores dosfuncionários, sistemas paralelos, sistemas legados, etc. Organizar essa enormidade dedados torna-se um grande desafio para os gestores da empresa. Qualquer empresa quedeseja competir de forma inteligente precisa voltar seus olhos para seus dados internos epara os dados disponíveis no mercado, organizando-os de forma a transformar esseamontoado 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 desistemas 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 emSistemas 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 dedesenvolvimento de software (programa) algo mais acessível para as empresas. Temosvisto diversas empresas utilizarem tecnologias antigamente utilizadas por poucos, e queagora estão à disposição de qualquer empresa. O grande desafio é ajudar as empresas a desenvolver um projeto de Inteligência deNegócios utilizando tecnologias de código aberto. Um projeto deste porte exige daempresa o domínio de uma série de ferramentas e produtos. Com a utilização de tecnologiade código aberto as empresas passam a não precisar investir milhões em programas decomputadores e passam a investir em serviços, os quais muitas vezes podem ser feitosinternamente. Entende-se como problema a ser pesquisado e resolvido a falta de informação quemuitas empresas possuem a respeito de diversas ferramentas e tecnologias de código abertoque podem ser utilizadas em projetos de Sistema de Apoio à Decisão, o que reduz o custode um projeto de Inteligência de Negócios absurdamente. A idéia é ajudar qualquer empresa que tenha interesse em desenvolver um sistemade apoio à decisão, mas não tem os recursos financeiros necessários, a ter acesso àsinformações que tornem esse desejo realidade. 10
  • 1.2 Descrição do problema Com a globalização as pequenas, médias e grandes empresas precisam tornar-secada 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 deBI com o objetivo de conhecer melhor seu próprio negócio, realizar comparações com aconcorrência e previsões de crescimento. Apesar destas tecnologias custarem muito dinheiro já existem alternativas gratuitasno mercado, permitindo às pequenas e médias empresas a beneficiarem-se de tecnologiasemelhante às tecnologias existentes nas grandes empresas, sem a necessidade de grandesinvestimentos.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óciofeitas por seus executivos. O grande problema da maioria das empresas é a variedade de informações domesmo cenário. Isto acontece pois os analistas utilizam fontes diferentes e montamdiferentes resultados do mesmo cenário, causando assim uma tremenda confusão para aempresa, uma vez que não existe um repositório central de informações gerenciais, ochamado 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 deNegócios, onde todos os executivos da empresa analisam suas informações baseadas emdados confiáveis extraídos de fontes seguras, possibilitando assim a tomada de decisão deforma acertada. Um projeto de Inteligência de Negócios baseado em ferramentas de código abertopode ser a solução ideal para pequenas, médias e grandes empresas, dos mais diversossetores, devido ao baixo custo de investimento e a alta qualidade, o que torna a relaçãocusto beneficio extremamente favorável. 11
  • 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áriaspara a criação de um sistema de apoio à decisão baseado em programas de código aberto. Ametodologia utiliza foi a demonstração, através de exemplo baseado em uma empresafictícia, com necessidades semelhantes à de empresas reais, de como desenvolver umsistema de apoio à decisão. Na primeira etapa abordamos alguns conceitos importantes explicados através deuma pesquisa bibliográfica bastante extensa, resultante de fontes de pesquisas bastanteconfiáveis e recomendadas no mundo corporativo e acadêmico. Durante a segunda etapa abordamos um cenário de uma empresa fictícia, para aqual desenvolvemos o projeto de Inteligência de Negócios na prática, criando um modelode projeto que poderá ser implementado em diversas empresas. 12
  • 2 INTELIGÊNCIA DE NEGÓCIOS O processo de desenvolvimento de uma solução profissional de Inteligência deNegócios esbarra em uma série de novos conceitos, os quais abordaremos de uma formaprá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 termoInteligência de Negócios extremamente popular. Porém essa necessidade não é nova, asempresas sempre tiveram a necessidade de sistemas que transformassem dados eminformações relevantes. O termo Inteligência de Negócios, resumidamente, significa coletar dados dediversas fontes, organizá-los, analisá-los e compartilhá-los com os executivos maisimportantes da empresa; estes então transformam essas informações relevantes emdecisões importantes para o futuro da empresa.2.1 História Desde a década de 80 encontramos no mercado o termo Inteligência Empresarialdifundido pelo Gartner Group. Através desse as empresas exploram informações internascontidas em um armazém de dados e externas disponíveis no mercado com o intuito de seauto avaliarem e avaliar seus concorrentes, desenvolvendo comparações e estratégias decrescimento e aumento de fatias de mercado, sempre com os objetivos de guiar aorganizaçã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 epodemos 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 pessoadeve deter todo o conhecimento de suas fraquezas e virtudes, além de todo o conhecimentodas fraquezas e virtudes do inimigo. O contrário pode levar à derrota e à destruição. Outroexemplo clássico é a trilogia “O Poderoso Chefão”, de Mario Puzo, que aborda, nodecorrer 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 dedados e sistemas de apoio à decisão realizando pesquisas e conceitos desde 1982. Seusestudos influenciam até hoje a maioria dos projetos de Inteligência de Negócios dasempresas no Brasil e no mundo. A metodologia Kimball, mais conhecida como modelagemdimensional, ensina como tornar sistemas transacionais em sistemas orientados ao mundoempresarial, 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 nacriação de uma solução de Inteligência de Negócios e o termo tornou-se extremamentepopular no mundo dos negócios. 13
  • 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 deNegócios encontram uma série de fornecedores de ferramentas, tornando a tarefa deescolha 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. APentaho desenvolve uma versão chamada “Community Edtion” destinada às empresas quedesejam implantar uma solução de Inteligência de Negócios totalmente aberta, ou seja, sema necessidade de compra de licença de uso das ferramentas. Esta pode ser a solução paramuitas empresas que desejam uma solução profissional de Inteligência de Negócios sem anecessidade 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 programaspara 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 desua hipoteca e veja imagens em 3D, isso é apenas para citar algumas coisas . É tambémintegrante dos aplicativos de intranet e outras soluções de e-business que formam a baseda computação corporativa.” (SUN, 2010). O termo Open Source, traduzido para o português, significa código aberto. Deacordo com a empresa Open Source Initiative: “Open source não significa apenas acessoao código-fonte. Os termos de distribuição de software de código aberto devem obedeceraos seguintes critérios: redistribuição livre, código fonte, trabalhos derivados, integridadedo código fonte do autor, sem discriminação contra pessoas ou grupos, sem discriminaçãocontra campos de trabalho, distribuição da licença, a licença não deve ser específica a umproduto, licença não deve restringir outro software e a licença deve ser tecnologicamenteneutra.” (OSI, 2010)2.3.1 O movimento Open Source e sua história Em fevereiro de 1998 Todd Anderson, Chris Peterson, Jon “Maddog” Hall, LarryAugustin, 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 FreeSoftware Foundation (FSF, Fundação para o Software Livre), uma organização sem finslucrativos 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 maiorescontribuições foi o sistema operacional GNU e o Manifesto GNU, publicado em 1985 noDr. Dobbs Journal of Software Tools, o qual é considerado por muitos como a principalfonte filosófica do software livre. Com a popularização destes ideais muitas pessoas e empresas começaram adesenvolver softwares e a disponibilizá-los de forma gratuita na internet para que outraspessoas pudessem utilizá-los, modificá-los e distribuí-los sem custo, começando com o queconhecemos hoje por comunidade software livre. 14
  • De acordo com a Free Software Foundation em seu artigo “The Free SoftwareDefinition”, 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 significaque 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 pelaspessoas que não conhecem sobre software livre, código aberto ou qualquer palavraassociada ao movimento open source. Qualquer usuário de computador sabe dizer queLinux é um sistema operacional gratuito, porém poucos o associam com o movimentoopen source. Em 1991, o estudante finlandês Linus Torvalds começou de forma independente oLinux, um projeto que mudaria o mundo e daria uma visibilidade enorme à comunidade. Oque ele fez foi desenvolver um sistema operacional extremamente importante para o futuroda humanidade. Linus Benedict Torvalds, nascido em 28 de dezembro de 1969 na cidadede Helsínquia, Finlandia é o criador do núcleo (kernel) do sistema operacionalGNU/Linux, mais conhecido como Linux. O objetivo inicial era criar um sistemaoperacional similar ao Unix e o projeto foi lançado em 1991 onde Linus enviou umamensagem para a Usenet dizendo que ele estava disposto a divulgar o código-fonte econtar com a colaboração de outros programadores. A primeira versão oficial do núcleo dolinux, 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 denegócios Após uma breve explicação sobre conceitos importantes chegou a hora de listaralguns projetos importantes que se caracterizam como projetos de código aberto aplicadosao 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 15
  • 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 nossasvidas? Recentemente a Sun Microsystems, empresa criadora da tecnologia Java, divulgouuma propaganda chamada Java is Everywhere e nos fez refletir a influência que essatecnologia tem em nossas vidas. De acordo com o site da Sun encontramos tecnologiaJava em: “computadores de bordo, brinquedos, carros, aviões, foguetes, e até mesmo aNASA Mars Rover. Ela traz a interatividade com a Internet, gráficos em tempo real paratelevisão, imagens instantâneas para câmeras e jogos multi-player para telefones celularese desktops. Ele se conecta as maiores empresas e empresas de pequeno porte para os seusempregados, clientes e dados. E ela garante que a grande maioria das transaçõeseletrô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 opai do Java, iniciava a linguagem de programação orientada a objetos, atualmenteconhecida como Java. Em 1991 o projeto chamava-se Green Project e os mentores eram PatrickNaughton, Mike Sheridan e James Gosling. Eles tinham como objetivo planejar a “próximaonda” do mundo digital, pois acreditavam que no futuro haveria uma convergência doscomputadores com os equipamentos e eletrodomésticos usados pelas pessoas no seu dia-a- 16
  • dia. O grande crescimento da tecnologia Java aconteceu com a popularização dainternet que possibilitou que a tecnologia fosse utilizada em diversas aplicações web. A grande vantagem da tecnologia Java é o que chamamos de JVM (Java VirtualMachine), um programa que carrega e executa os aplicativos Java, convertendo osbytecodes em código executável de máquina. Esse programa é o responsável pelogerenciamento dos aplicativos, à medida que são executados. Todo computador oudispositivo que deseja executar um programa Java precisa ter instalado uma JVM. Naprática, graças à máquina virtual Java, os programas escritos em Java podem funcionar emqualquer plataforma de hardware e software que possua uma versão da JVM, tornandoassim essas aplicações independentes da plataforma onde funcionam. Atualmente a tecnologia Java está dividida em três partes principais (conformefigura):  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) 17
  • 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 Código nativo PC Código nativo PDA celular 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 é: “Writeonce, run everywhere.”. A tradução para o português é: “Escrever uma vez/ executar emqualquer local” (BATES & SIERRA, 2009). 18
  • 2.3.5 Características da Tecnologia Java A cada dia a tecnologia Java apresenta mais e mais vantagens para sua adoção, amaior delas é a independência de plataforma, ou seja, um programa feito em Java poderodar 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. 19
  • 2.3.6 Tecnologia Java e de Código Aberto aplicada a Sistemas de Inteligência deNegócios Atualmente existem duas empresas importantes no mundo da tecnologia Javaaplicada à 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 abertobastante robusta e importante; seu produto mais conhecido é o JasperReports junto com aIDE de desenvolvimento de Relatórios chamada iReports. Muitos desenvolvedores Javautilizam as ferramentas da Jasper para o desenvolvimento de relatórios em programasdesenvolvidos em Java. No ano de 2004 algumas pessoas, oriundas das mais importantes empresas do setorde Inteligência de Negócios, juntaram-se e fundaram a empresa Pentaho, com o objetivo decriar uma plataforma de código aberto de Inteligência de Negócios. A estratégia utilizada foi reunir as melhores ferramentas de código abertodisponíveis no mercado e criar uma única suite de BI contendo todas as ferramentasnecessárias para uma solução completa de Inteligência de Negócios de código aberto. Paraisso foi necessário adquirir projetos e pessoas. O mais interessante é o fato de todas essasferramentas terem sido desenvolvidas em Java, mais uma vez provando a grande ligaçãoentre a tecnologia Java e o mundo de código aberto. Antes da criação do Projeto Pentaho existiam quatro projetos de código abertoimportantes 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 decódigo aberto um servidor OLAP alternativo às opções disponíveis no mercado. Com essaferramenta 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 porThomas Morgner. Como alternativa de código aberto para ferramentas de mineração dedados podia-se utilizar uma ferramenta muito conhecida entre pesquisadores deUniversidades no mundo todo, a chamada Weka (Waikato Environment for KnowledgeAnalysis), 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 deuma ferramenta de ETL desenvolvida em Java. Em outras palavras, todas essas ferramentas de código aberto, desenvolvidas emJava, possuíam cada uma um criador e estavam disponíveis na internet. Então, à partir dacriação da Pentaho e da aquisição de todas essas ferramentas e de seus principaisdesenvolvedores, surgiu o que conhecemos como o Suite Pentaho de BI, atualmentedisponível em duas formas: Community Edition e Enterprise Edition. Desde Junho de 2005 todas as ferramentas que fazem parte do Projeto Pentahoencontram-se disponíveis no site de download sourceforge.net e qualquer empresa podebaixá-las e utilizar em um projeto profissional de Inteligência de Negócios. 20
  • 3 ARMAZÉM DE DADOS Define-se Armazém de Dados (DW) como sendo o local onde são armazenados osdados importantes de uma empresa; esses dados são catalogados de forma organizada eestruturada. Na grande maioria das vezes utiliza-se a modelagem multi-dimensional naconstrução de um DW. Segundo Inmon (1997), idealizador do conceito, Armazém de Dados “é umacoleção de dados integrados, orientados por assunto, variáveis com o tempo e nãovolá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ãosã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 modoa facilitar a análise dos dados; • Variante no Tempo: Os dados não são atualizáveis, ou seja, são relativos a umdeterminado 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 cargainicial dos dados e consultas a estes dados, ou seja, após serem integrados, transformados eincluí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; 21
  • 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 chamamosde ETL, sigla em inglês para Extract, Transform and Load, e que traduzido para oportuguês significa Extrair, Transformar e Carregar. Sucintamente, este processo consiste em encontrar os dados importantes que serãoanalisados, extrair esses dados das diversas fontes de dados, realizar as transformaçõesnecessárias (que podem ser limpeza, combinação, eliminação, cálculos, etc) e realizar acarga de dados no armazém de dados. Desta forma a empresa começa a guardar seus dadosimportantes em um banco de dados único, modelado de forma multi-dimensional. Para entender esse processo é necessário entender alguns conceitos explicadosabaixo:A) Fonte de dados - Na grande maioria dos DW, os dados provêm de várias fontesdiferentes e independentes, podendo ser essas fontes as bases de dados dos sistemastransacionais, planilhas excel, etc.B) Extração - Significa a leitura e entendimento das fontes de dados e a cópia das partesnecessárias para a área de transformação de dados, com o intuito de serem trabalhadasposteriormente. Um grande desafio no processo de extração é determinar quais dados sãorealmente importantes e quais tipos de filtros aplicar. Essa tarefa é uma das atividades quemais consome tempo na construção do DW. Uma dica é perguntar ao patrocinador doprojeto quais são as informações relevantes ao projeto e simplificar ao máximo o processode 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 emrealizar uma série de atividades sobre os dados extraídos, de modo a convertê-los emformato adequado para carga no armazém de dados. Algumas etapas da transformação dosdados 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. 22
  • 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 à grandevariedade de bancos de dados disponíveis no mercado e também à dificuldade que muitasempresas enfrentam para conseguir acesso aos dados da empresa (visto que muitas vezesestes são guardados a sete chaves pela área de segurança da informação). A ferramenta utilizada para acessar os dados é chamada PDI – Kettle. Estaferramenta possui uma interface com o desenvolvedor bastante simples, o que possibilita aconexão com diversos SGDB de maneira muito fácil e amigável; a conexão JDBC é aforma mais fácil de acessar os diversos bancos de dados. Em alguns casos os desenvolvedores de uma solução de Inteligência de Negóciosenfrentam a dificuldade de conseguir um usuário de leitura para realizar o processo deextração. Mas isso pode ser facilmente resolvido com a ajuda de um patrocinadorimportante do projeto. Este patrocinador pode muito bem tomar as providênciasnecessárias para a liberação dos acessos. Todos os usuários necessários para o acesso às bases de dados transacionais devemter privilégios apenas de leitura. Desta forma evita-se a possibilidade de alteração ouremoção de dados do sistema de origem, causados por algum erro humano. Essaimportante precaução reduz uma série de erros comuns em projetos de Inteligência deNegó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 aosdados é bastante tranqüilo, visto que a ferramenta de integração de dados utilizada ébastante robusta e capaz de ler dados em diversos formatos. 23
  • 3.5 Ferramentas OLAP A grande maioria dos novos usuários de sistemas de Inteligência de Negócios, pornão compreender o suficiente, solicita relatórios, quando na verdade o que querem, e o queprecisam, são ferramentas de análises de dados. Essas ferramentas são as chamadasferramentas OLAP. O termo OLAP em inglês significa On-line Analytical Processing. Inmon (1999) nos dá uma definição sobre o OLAP, (...) é uma tecnologia desoftware que permite a analistas, gerentes e executivos obterem os dados de uma formarápida, consistente e com acesso interativo para uma grande variedade de possíveis visõesda informação na empresa. Mais sucintamente, OLAP é um conjunto de funcionalidadesque tem, como principal objetivo, facilitar a análise multidimensional. Uma ferramenta OLAP é capaz de executar consultas MDX e trabalhar com o quechamamos Cubos OLAP. Nesses cubos é possível cruzar os dados, possibilitando a criaçãode diversas visões dos mesmos dados. No exemplo abaixo observamos como é possívelcruzar 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. Asdefinições e exemplos desses termos seguem abaixo: 1) Tabela Fato – Tabela onde armazenam-se as chaves das dimensões e asmétricas. 2) Métricas – São os parâmetros quantitativos / valores do negócio que desejamser medidos; ficam armazenados na tabela fato. 24
  • 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 oseguinte agrupamento:País -> Estado -> Cidade. Existem duas formas de modelar um Cubo OLAP: o modelo estrela (star schema) emodelo flocos de neve (snow flake schema).3.6 Mineração de Dados A mineração de dados é bastante complexa e envolve conhecimentos estatísticos afim 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çãode dados. Na Suite Pentaho a ferramenta de mineração de dados chama-se WEKA (WaikatoEnvironment for Knowledge Analysis). A WEKA é uma ferramenta bastante conhecidapelas Universidades no Brasil e no mundo. Ela foi desenvolvida pela Universidade deWakato, 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émdesta (WEKA) existem muitas outras ferramentas poderosas de mineração de dados quepodem ser utilizadas a fim de enriquecer as decisões tomadas pelas empresas. 25
  • 4 PENTAHO Fundada em 2004 por uma equipe de veteranos da indústria de Inteligência deNegó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 comcolaboradores vivendo em diversas partes do mundo. A Pentaho Corporation é adesenvolvedora principal das ferramentas de Inteligência de Negócios contidas em suaSuite. A Pentaho possui aportes financeiros de fundos de investimentos como EnterpriseAssociates, investidores do SugarCRM, Xensource, Index Ventures, investidores doMySQL, Zend e outros. O modelo de negócio adotado pela Pentaho é o que chamamos em inglês desubscription model. Trata-se de uma forma de comercializar o software sem pagar pelalicença de uso, onde o fabricante, no caso a Pentaho, provê suporte, serviços e melhoriasno software através de uma mensalidade anual. Porém o cliente pode optar por utilizar aversão community onde não existe suporte da Pentaho nem custo anual, uma vez que nestecaso o suporte é feito por meio da comunidade de desenvolvedores Pentaho espalhados portodo o mundo. A Pentaho coordena e patrocina todos os projetos de código aberto importantes ecruciais 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 pessoasem 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 pelaPentaho junto com seus principais desenvolvedores. Por exemplo, o Kettle, desenvolvido por Matt Casters, foi incorporado pela Pentahoem 2006 e passou a chamar-se PDI (Pentaho Data Integration); desta forma Matt Casters, odesenvolvedor mais importante, começou a trabalhar junto com a Pentaho. Outro exemplo importante é o projeto Mondrian, desenvolvido por Julian Hyde, uminglê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 odesenvolvedor Thomas Morgner, que também foi incorporado à Pentaho junto com seuprojeto de código aberto chamado JfreeReporting. Atualmente Thomas é o principal líderdo projeto, rebatizado como Pentaho Reporting. Por fim, mais uma importante aquisição em 2006 foi o projeto WEKA. Um dosprincipais 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 WEKApassou a ser conhecido como Pentaho Mineração de Dados. Outras pessoas importantes na história da Pentaho são: Marc Batchelor (fundador eEngenheiro Chefe), Richard Daley (fundador e presidente), James Dixon (fundador ChefeGeek), Doug Moran (fundador e vice-presidente da comunidade) e Will Gorman (vice-presidente). 26
  • 4.1 Mobilidade Acesso de KPIs 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 podeser exemplificada através da figura abaixo. Figura 4 – Visão Geral de um Projeto de BI com Pentaho Fonte: IT4biz 27
  • Utiliza-se o PDI - Kettle para o processo de ETL; o armazém de dados pode serconstruído em cima de qualquer base de dados. O servidor de aplicação, chamado BIServer, também é multi- plataforma. Ele será o responsável pelo controle de acesso ecompartilhamento dos Cubos OLAP, relatórios e painéis construídos baseados no DW. Osusuários poderão acessar esses indicadores de diversas formas, como por exemplo atravésde computadores desktop (Windows, Linux e Mac), computadores pessoais, celulares comacesso à 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 serexecutado em diversos webserver J2EE, tais como: Tomcat, JBOSS, Glassfish e outros. Aversão atual do Pentaho BI Server é a versão 3.5, e utiliza o Tomcat como webserverpadrão. Figura 5 – Servidor de BI Pentaho Fonte: Pentaho 28
  • Figura 6 – Arquitetura Servidor de BI PentahoFonte: Pentaho 29
  • 4.5 PRD (Pentaho Report Designer) O PRD, sigla para Pentaho Reporting Designer, é a ferramenta de criação derelatório da Pentaho. A versão atual, chamada PRD 3.5, foi totalmente reescrita por seucriador Thomas, e apresenta uma série de novas funcionalidades. Com o PRD é possível criar relatórios com filtros, gráficos, sub-relatórios, entreoutros, em PDF, Excel, ou HTML, e publicá-los diretamente no Pentaho BI Server sem anecessidade de um conhecimento de programação. A ferramenta é totalmente visual epermite a criação de relatórios extremamente profissionais. Ela também torna possível acriaçã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 oresponsável pelos processos de ETL (Extração, Transformação e Carga). De uma formatotalmente visual a ferramenta permite o desenvolvedor de ETL conectar-se a diversosbancos 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 eorganizada.4.7 PSW (Pentaho Schema Workbench) O Pentaho Schema Workbench é a ferramenta necessária para a criação dos cubosOLAP no formato XML. O processo de criação deste esquema pode ser através de umeditor de texto ou, de forma visual, através da aplicação PSW – Pentaho SchemaWorkbench. Os cubos criados no PSW são exibidos no Pentaho BI Server; seu processo depublicaçã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-sede 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 oprocesso de tomada de decisão. 30
  • 5. CONSTRUINDO UMA SOLUÇÃO DE BI PROFISSIONAL O processo de instalação das ferramentas de BI é bastante simples, consistindo, nagrande maioria das vezes, em descompactar os arquivos e executar o programa. Nestamonografia não abordaremos esse processo de instalação; as formas mais avançadas deinstalaçã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 sistemaoperacional Linux, utilizada como servidor e máquina de desenvolvimento. Em um projetoreal é necessário criar ambientes separados, e, de preferência, utilizar o sistema operacionalLinux para o servidor. Abaixo seguem duas listas de instalação. Lista do que deve ser instalado no Servidor Pentaho BI Server e Armazém deDados:  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. 31
  • Figura 7 – Tela de Login Portal BIFonte: Sistema Desenvolvido para a MonografiaFigura 8 – Tela Interna Portal BIFonte: Sistema Desenvolvido para a Monografia 32
  • 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 consumegrande parte do esforço e dos recursos necessários para a realização de um projeto deInteligência de Negócios. Esta etapa precisa ser desenvolvida em colaboração com aspessoas tomadoras de decisão, pois as perguntas de negócio determinam os processos deETL.5.2.1 Definindo os indicadores Neste estudo de caso definimos como indicador a ser desenvolvido a análise defaturamento 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 extremamenteimportantes, por isso pensamos em um modelo que pudesse ser aplicado por empresas detodos os tamanhos. Segundo o SEBRAE: “Planejar ações de vendas e, por meio de avaliaçõessistemáticas, ampliar o índice de acerto e corrigir erros cometidos, é uma forma deempresas aumentarem a competitividade no mercado. A adoção de um controle de vendaspossibilita ao empresário prever receitas futuras e, consequentemente, programar comprasda empresa. Além disso, torna-se mais fácil acompanhar o comportamento mensal dasvendas, as variações devido à sazonalidade, bem como o prazo médio concedido para ospagamentos 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 àsperguntas definidas pelos usuários do sistema de apoio à decisão. Neste modelo utilizou-seo 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ãodefinidas como métricas, e as dimensões são: vendedores, canal de venda, cliente, produtoe tempo.Modelo Estrela - Cubo Faturamento 33
  • Figura 9 – Modelo Estrela – Cubo FaturamentoFonte: Sistema Desenvolvido para a Monografia 34
  • 5.2.3 Descrição das dimensões, fatos e camposTabela: fato_venda Figura 10 – Tabela Fato_Venda Fonte: Sistema Desenvolvido para a MonografiaMétricas:qtd_produtos = Quantidade de Produtos vendidostotal_venda = Valor Total (R$) da Venda.Relacionamentos:fato_venda.id_cliente → dim_cliente.id_clientefato_venda.id_canalvenda → dim_canalvenda.id_canalvendafato_venda.id_vendedor → dim_vendedor.id_vendedorfato_venda.id_produto → dim_produto.id_produtofato_venda.id_tempo → dim_tempo.id_tempoTabela: dim_canalvenda Figura 11 – Tabela Dim_CanalVenda) Fonte: Sistema Desenvolvido para a MonografiaDescrição dos Campos:id_canalvenda → Identificador único do Canal de Vendacod_canalvenda → Código do Canal de Venda no Sistema de Origemdesc_canalvenda → Descrição do Canal de Venda 35
  • Tabela: dim_tempo Figura 12 – Tabela Dim_Tempo Fonte: Sistema Desenvolvido para a MonografiaDescrição dos Campos:id_tempo → Identificador único do Períodoano → Anotrimestre → Trimestremes → Mêsmesnumero → Número do MêsTabela: dim_cliente Figura 13 – Tabela Dim_Cliente Fonte: Sistema Desenvolvido para a MonografiaDescrição dos Campos:id_cliente → Identificador único do Clientecod_cliente → Código do Cliente no Sistema de Origemdocumento → CNPJ, CPF ou RGtipo → Pessoa Física ou Pessoa Jurídicadesc_cliente → Descrição do Cliente 36
  • cidade → Cidade do Clienteestado → Estado do Clientepais → Pais do Clientelatitude → Latitude do Clientelongitude → Longitude do Clientedesc_negocio → Descrição do Negócio do ClienteTabela: dim_produto Figura 14 – Tabela Dim_Produto Fonte: Sistema Desenvolvido para a MonografiaDescrição dos Campos:id_produto → Identificador único do Produtocod_produto → Código do Produto no Sistema de Origemdesc_produto → Descrição do Produtocod_categoria → Código da Categoriadesc_categoria → Descrição da Categoriastatus_produto → A = Ativo e I = InativoTabela: dim_vendedor Figura 15 – Tabela Dim_Vendedor Fonte: Sistema Desenvolvido para a Monografia 37
  • Descrição dos Campos:id_vendedor → Identificador único do Vendedorcod_vendedor → Código do Vendedor no Sistema de Origemdocumento → CPF, CNPJ, RGtipo → vendedor interno, vendedor externo, distribuidor, representante, revendedordesc_vendedor → Descrição do Vendedordatanascimento → Data de Nascimento do Vendedorcidade → Cidade do Vendedorestado → Estado do Vendedorpais → Pais do Vendedor5.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ãotradicional 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 dadosnecessários para a dimensão, através de uma consulta SQL realizada na base de dados deOrigem das informações. 2) DIMLKP – Carrega Dimensão → No próximo passo utilizamos o componentedo PDI chamado Dimension Lookup. Este componente verifica se o registro já existe epermite a inserção (caso o registro não exista) ou atualização do registro (caso o mesmoexista). O DIMLKP permite a criação e a carga de uma dimensão, sendo também oresponsá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çãodas rotinas necessárias para a criação de um armazém de dados. Gostaríamos apenas deregistrar que todo o processo de ETL pode ser criado utilizando o PDI – Kettle, de formatotalmente visual e componentizada, como demonstrado no exemplo anterior. 38
  • 5.3 Cubos OLAP Na figura abaixo temos o Cubo OLAP de faturamento criado para o estudo de casodesta monografia. Neste cubo podemos analisar a quantidade de produtos vendidos e o valor total porproduto, vendedor, cliente e canal de venda. Figura 17 – Cubo OLAP Faturamento Fonte: Sistema Desenvolvido para a Monografia 39
  • O Cubo OLAP de faturamento permite ao usuário, sem conhecimento técnicoalgum, 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 produtosvendidos, faturamento total e quantidade de vendas. De forma simples o usuário podeescolher quais métricas ele utilizará para cada visão. Figura 19 – Escolhendo as métricas Fonte: Sistema Desenvolvido para a Monografia 40
  • Com o intuito de demonstrar a capacidade de criação de diversas visões dasmesmas 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 41
  • Figura 22 – Faturamento por Canal de VendaFonte: Sistema Desenvolvido para a Monografia 42
  • Figura 23 – Faturamento por ProdutosFonte: Sistema Desenvolvido para a Monografia 43
  • Figura 24 – Faturamento por VendedoresFonte: Sistema Desenvolvido para a Monografia 44
  • Figura 25 – Faturamento por Vendedores (Gráfico)Fonte: Sistema Desenvolvido para a Monografia 45
  • Figura 26 – Quantidade de Produtos Vendidos por Vendedores (Gráfico)Fonte: Sistema Desenvolvido para a Monografia 46
  • Figura 27 – Faturamento por Vendedores e Período (Tempo)Fonte: Sistema Desenvolvido para a Monografia 47
  • Figura 28 – Filtrando a dimensão ProdutosFonte: Sistema Desenvolvido para a MonografiaFigura 29 – Recurso de Drill ThroughFonte: Sistema Desenvolvido para a Monografia 48
  • O visualizador OLAP JPivot permite ao usuário transformar as informações emdiversos tipos de gráficos e exportar para PDF e Excel. Abaixo vemos os ícones quepermitem essas funcionalidades. Figura 30 – Possibilidades JPivot. Fonte: Sistema Desenvolvido para a Monografia5.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çãodos 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. 49
  • Figura 31 – Painel FaturamentoFonte: Sistema Desenvolvido para a MonografiaFigura 32 – Painel Faturamento por EstadoFonte: Sistema Desenvolvido para a Monografia 50
  • 5.5 Google Android De acordo com o site do Google: “Android é um software de código aberto criadopara celulares e outros dispositivos. O Android Open Source Project (AOSP), lideradopelo 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ésde um aplicativo desenvolvido para rodar em celulares com o sistema operacional GoogleAndroid.Figura 33 – Simulação do Aplicativo para acessar o Portal de BI no Google AndroidFonte: Sistema Desenvolvido para a Monografia 51
  • 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 52
  • Figura 36 – Exemplo de um Painel visualizado através do Google AndroidFonte: Sistema Desenvolvido para a Monografia Figura 37 – Exemplo de outro Painel visualizado através do Google Android Fonte: Sistema Desenvolvido para a Monografia 53
  • Figura 38 – Exemplo de Cubo OLAP visualizado através do Google Android Fonte: Sistema Desenvolvido para a Monografia5.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 quepossibilita um portal de BI sensível ao toque; desta forma o executivo pode manipular seusindicadores através do toque. O futuro é a migração dos aplicativos para os celulares. Acompanhando essatendência, o portal de BI desenvolvido para a empresa exemplo poderá ser acessado viaaplicativo próprio desenvolvido para o Google Android. Cada vez mais as empresas buscam soluções onde as informações estratégicaspossam estar ao fácil alcance das pessoas que tomam as decisões. Pensando nissoapresentamos, neste portal de BI, a possibilidade de visualização dessas informações emqualquer celular com acesso à internet e em celulares equipados com a tela sensível esistema operacional google android. Através desta solução de BI Mobile e Touch o poderestá literalmente nas mãos dos usuários, de forma rápida e simples. 54
  • 6. CONCLUSÕES Conclui-se que, com a chegada de ferramentas de código aberto ao setor deInteligência de Negócios, tornou-se possível para pequenas, médias e grandes empresas oinvestimento na criação de sistemas de apoio à decisão, os quais têm como objetivoauxiliar os executivos das empresas no processo de tomada de decisão. Um sistema de Inteligência de Negócios pode atender diversos usuários queestejam em diversas áreas da empresa, desde áreas operacionais até áreas estratégicas damesma. Com o crescimento do movimento open source diversas empresas têm investido nacriação de soluções baseadas em código livre. Estas soluções podem ajudar diversasempresas a economizar muito dinheiro e a obter a mesma qualidade de uma ferramentaproprietária consolidada no mercado. Apesar das ferramentas necessárias para a criação de um projeto de Inteligência deNegócios serem, na maioria das vezes, disponibilizadas gratuitamente, o processo deconcepção, planejamento, desenvolvimento, testes e acompanhamento precisam serrealizados por mão de obra qualificada e especializada. Estamos vivendo uma era de liberdade, um momento histórico onde empresas, semos recursos necessários, podem se beneficiar com as tecnologias antigamente presentessomente nas grandes empresas. O modelo de código aberto proporciona às empresas uma liberdade e umaeconomia significativa. Estes fatores, que geralmente não existem no modelo proprietário,são os pontos fortes desse modelo, seu grande diferencial. 55
  • 7. BIBLIOGRAFIAPUZO, 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 dominarmercados. 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. OREILLY, 2009.BOUMAN & DONGEN, Pentaho Solutions: Business Intelligence and DataWarehousing 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: Beginners 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 deJunho 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 Developers 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. 56
  • SUN. Java is Everywhere. Disponível em: <http://br.sun.com/java/everywhere>. Acessoem: 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/>. Acessoem: 16 de Junho de 2010.Eclipse. Definições Eclipse. Disponível em: <http://www.eclipse.org/>. Acesso em: 16 deJunho 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 de2009. 57