open source data warehousing e business intelligence · 2011. 6. 7. · sido escolhidas as...

105
Instituto Politécnico de Coimbra Instituto Superior de Engenharia de Coimbra Departamento de Engenharia Informática e de Sistemas Open Source Data Warehousing e Business Intelligence Pedro Miguel Ribeiro Mestrado em Informática e Sistemas Coimbra, Dezembro 2010

Upload: others

Post on 01-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Instituto Politécnico de CoimbraInstituto Superior de Engenharia de Coimbra

    Departamento de Engenharia Informática e de Sistemas

    Open Source Data Warehousing eBusiness Intelligence

    Pedro Miguel Ribeiro

    Mestrado em Informática e SistemasCoimbra, Dezembro 2010

  • Instituto Politécnico de CoimbraInstituto Superior de Engenharia de Coimbra

    Departamento de Engenharia Informática e de Sistemas

    Open Source Data Warehousing eBusiness Intelligence

    Pedro Miguel Ribeiro

    Orientador:Prof. Doutor Jorge Bernardino

    ISEC - Instituto Superior de Engenharia de Coimbra

    Mestrado em Informática e SistemasCoimbra, Dezembro 2010

  • À minha esposa, e aos meus filhos.

  • Resumo

    O software de Business Intelligence (BI) ajuda a tomar decisões com base em dados operacio-nais concretos, através de indicadores, agregados e relatórios. O mercado desta área de softwaretem sido dominado pelas soluções proprietárias de grandes empresas, mas as alternativas OpenSource têm vindo a melhorar as suas características e a aproximar-se das soluções proprietárias.Por outro lado, os programas Open Source, devido à natureza do seu licenciamento podem seralterados para se ajustarem às necessidades dos seus utilizadores, permitindo obter benefícioseconómicos e de flexibilidade. A motivação para este trabalho teve como base a determinaçãoda viabilidade de implementação das plataformas de BI Open Source por parte das Pequenas ouMédias Empresas (PMEs) e a determinação da exequibilidade de serem efectuadas alteraçõesem software Open Source para implementar características importantes, mas não existentes.

    Foram avaliadas três plataformas BI Open Source (Pentaho, SpagoBI e OpenI) e foi deter-minada a validade destas plataformas como alternativas válidas para implementação por partede uma PME. Foi implementada a funcionalidade de Vistas Materializadas no servidor de basede dados MySQL, de modo a avaliar o ganho de performance na execução de queries. Deter-minámos que, em certas condições, poderão ser obtidos ganhos superiores a 99% no tempo deexecução.

    No âmbito deste trabalho foram ainda publicados dois artigos em conferências, um na confe-rência internacional E-ALT2010 (E-Activity and Learning Technologies) e um outro no workshopWACI’10 (Workshop on Applications of Computacional Intelligence).

    Palavras-Chave

    Business IntelligencePequenas e Médias Empresas (PMEs)Data WarehousingOpen Source

    iii

  • Abstract

    Business Intelligence (BI) software helps the decision maker to make decisions based on ope-rational data, through indicators, aggregations and reports. The BI market has been dominatedby the large multinational proprietary offerings, but Open Source alternatives are getting bet-ter and closer to the proprietary solutions. On the other hand, the Open Source licenses allowsoftware modification by anyone who desires, in any way deemed necessary, giving more thaneconomical benefits. With this work we try to find the feasibility of implementing a BI OpenSource suite on a Small or Medium Enterprise (SME) and also to determine the possibility ofmodifying Open Source software in order to implement unexistant interesting characteristics.Three Open Source BI suites were evaluated (Pentaho, SpagoBI and OpenI) and we determinedthe feasibility of these suites as alternative to proprietary solutions, for a SME. MaterializedViews were implemented on the Data Base Server MySQL, in order to check the performancegain of query execution. We determined that, under the proper conditions, more than 99% re-duction of query execution time can be achieved.Related to this work, two papers were published, one on the E-ALT2010 international confe-rence and other on the WACI’10 workshop.

    Keywords

    Business IntelligenceSmall and Medium Enterprises (SMEs)Data WarehousingOpen Source

    v

  • Agradecimentos

    Ao meu orientador, Professor Jorge Bernardino, pela disponibilidade e interesse demonstradosao longo de todo o trabalho desenvolvido, bem como pela ajuda preciosa na elaboração dosartigos submetidos à E-ALT2010, em Oviedo e ao WACI’10, em Coimbra.Aos meus amigos, pelo apoio e incitamento demonstrados.Finalmente, agradeço à minha família, esposa e filhos, pois sem o seu precioso apoio não teriasido possível chegar a bom porto na realização deste trabalho.

    vii

  • Conteúdo

    1. Introdução 11.1. Organização da Tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2. Software de Código Aberto 52.1. Diferenças entre Software Livre e Software Open-Source . . . . . . . . . . . . 72.2. Outras Definições e Licenças . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3. Vantagens e desvantagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3. Data Warehousing 113.1. Arquitectura genérica de uma Data Warehouse . . . . . . . . . . . . . . . . . . 133.2. Dados Operacionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3. Processos de ETL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4. Repositório de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.5. Software Analítico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    4. Open Source Business Intelligence 194.1. Servidores OLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2. Clientes OLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3. Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.4. Criação de Relatórios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.5. Dashboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    5. Análise de Plataformas Business Intelligence Open Source 235.1. Obtenção das plataformas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.2. Instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.3. Pentaho Business Intelligence Server Community Edition 3.5.0 . . . . . . . . . 255.4. SpagoBI 2.4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.5. OpenI 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    ix

  • 5.6. Resumo das plataformas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.7. Usabilidade das Plataformas . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    5.7.1. Pentaho Business Intelligence Server . . . . . . . . . . . . . . . . . . 375.7.2. SpagoBI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.7.3. OpenI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    5.8. Actividade das equipas de desenvolvimento. . . . . . . . . . . . . . . . . . . . 425.9. Utilzação das plataformas em PMEs . . . . . . . . . . . . . . . . . . . . . . . 44

    6. Modificação de sofwtare open-Source 456.1. Vistas Materializadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.2. Conjunto de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476.3. Avaliação Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486.4. Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    7. Conclusões e Trabalho Futuro 51

    A. Queries usadas no teste do MySQL 53

    B. Queries para criar as Vistas Materializadas 63

    C. Artigo publicado na conferência E-ALT2010 65

    D. Artigo publicado na conferência WACI ’10 77

    x

  • Lista de Figuras

    3.1. Cubo de quantidade vendida de um Produto a um Cliente numa determinadadata (Tempo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    3.2. Arquitectura genérica de uma Data Warehouse . . . . . . . . . . . . . . . . . . 14

    3.3. Esquema em Estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.4. Esquema em Floco de Neve . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.5. Dimensões Partilhadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    5.1. Interface de login do Pentaho Business Intelligence Server . . . . . . . . . . . 26

    5.2. Interface da Pentaho Administration Console . . . . . . . . . . . . . . . . . . 26

    5.3. Diálogo de opções relativas às tabelas OLAP . . . . . . . . . . . . . . . . . . 27

    5.4. Editor de query MDX do Pentaho . . . . . . . . . . . . . . . . . . . . . . . . 27

    5.5. Opções de gráficos do Pentaho . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    5.6. Exemplo de ligação do Pentaho ao serviço Google Maps . . . . . . . . . . . . 29

    5.7. Arquitectura do SpagoBI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    5.8. Interface de login do SpagoBI . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    5.9. Página principal após login válido na aplicação . . . . . . . . . . . . . . . . . 32

    5.10. Página de dashboard do SpagoBI . . . . . . . . . . . . . . . . . . . . . . . . . 32

    5.11. Propriedades de um documento SpagoBI . . . . . . . . . . . . . . . . . . . . . 33

    5.12. Login no OpenI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    5.13. Exemplo de análise no OpenI . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    5.14. Edição de um documento no Pentaho Design Studio . . . . . . . . . . . . . . . 38

    5.15. Resultado do documento de teste no Pentaho . . . . . . . . . . . . . . . . . . . 39

    5.16. Edição de um documento no SpagoBI Studio . . . . . . . . . . . . . . . . . . 40

    5.17. Resultado do documento de teste no SpagoBI . . . . . . . . . . . . . . . . . . 40

    5.18. Edição de um relatório no JasperSoft iReport Designer . . . . . . . . . . . . . 41

    5.19. Resultado do documento de teste no OpenI . . . . . . . . . . . . . . . . . . . 42

    5.20. Lançamentos do Pentaho em 2009 e 2010 . . . . . . . . . . . . . . . . . . . . 43

    xi

  • 5.21. Lançamentos do SpagoBI em 2009 e 2010 . . . . . . . . . . . . . . . . . . . . 435.22. Lançamentos de desenvolvimento da série 2.0 do OpenI, em 2009 e 2010 . . . 43

    6.1. Esquema em estrela da base de dados de testes . . . . . . . . . . . . . . . . . . 476.2. Query 2.1 (Q2.1) executada sobre a estrela de teste . . . . . . . . . . . . . . . 486.3. Query 2.1 (Q2.1) re-escrita para ser executada sobre uma Vista Materializada . 48

    xii

  • Lista de Tabelas

    2.1. Liberdades essenciais do software livre . . . . . . . . . . . . . . . . . . . . . . 72.2. Licenças mais usadas no software livre . . . . . . . . . . . . . . . . . . . . . . 9

    5.1. Programas disponíveis no repositório da Pentaho . . . . . . . . . . . . . . . . 285.2. Componentes da plataforma SpagoBI . . . . . . . . . . . . . . . . . . . . . . 345.3. Características das plataformas Open Source BI . . . . . . . . . . . . . . . . . 37

    6.1. Resumo dos resultados de execução dos testes de Vistas Materializadas . . . . 49

    xiii

  • Abreviaturas

    BI Business Intelligence

    DW Data Warehouse

    PME Pequena e Média Empresa

    OLAP On-Line Analytical Processing

    ROLAP Relational OLAP

    MOLAP Multidimensional OLAP

    ETL Extract-Transform-Load (Extracção-Transformação-Carregamento)

    OSI Open Source Initiative

    FSF Free Software Foundation

    RAM Random Access Memory

    xv

  • 1. Introdução

    O software de Business Intelligence (BI) ajuda todos os decisores de uma empresa ou organi-zação, sejam a gestão de topo ou ocupem funções mais baixas na hierarquia, a tomar decisõescom base em dados operacionais concretos, através de indicadores, agregados e relatórios quemostram de um modo rápido e fácil o comportamento da organização ao longo do tempo.O suporte para este tipo de software é dado por uma Data Warehouse, literalmente um armazémde dados, que junta dados provenientes de múltiplas fontes existentes na empresa e mesmo defontes externas à organização. Estes documentos podem ser provenientes de relações comerci-ais com clientes e fornecedores ou relatórios de análise de mercado produzidos por organismosestatais, e são agregados num conjunto de tabelas capazes de fornecer os dados necessários paracalcular os indicadores e relatórios de uma forma eficaz.De acordo com a literatura [TDWI, 2009, Veese, 2009, White, 2010], o mercado está dominadopelas plataformas de BI das grandes multinacionais, que são muito dispendiosas para que umaPME as possam adquirir.Um dos modelos de distribuição e licenciamento de software, contempla a distribuição não sódos programas em formato binário executável, mas também do respectivo código-fonte, dandopermissão aos utilizadores para o explorarem, analisarem, modificarem e redistribuírem. O soft-ware distribuído de acordo com esta filosofia é conhecido como Software Livre, Software OpenSource ou Software de Código Aberto.O Software Livre tem sido utilizado pelas empresas, especialmente no âmbito dos sistemas ope-rativos de servidor (Linux), servidores web (Apache), browsers de Internet (Mozilla Firefox),suites de produtividade (OpenOffice.org) entre outros, no entanto existem outras áreas em quea utilização de Software Livre é menor. Na área de Business Intelligence (BI), as empresas quetêm implementado um sistema de informação de apoio a esta função, recorrem principalmenteàs tradicionais soluções das empresas multinacionais, tais como a SAP, Oracle, IBM ou Micro-soft.Sendo uma das áreas com maior crescimento nos últimos anos, importa saber se existem alter-nativas baseadas em Software Livre e se estas são capazes de proporcionar as funcionalidades

    1

  • 1. Introdução

    necessárias à função de BI, especialmente em Pequenas e Médias Empresas (PMEs). Algumasplataformas de BI em Software Livre, ou Open Source, já possuem características que as tornamcandidatas ao uso por parte das PMEs como alternativa às plataformas comerciais. A principalmotivação deste trabalho é pois identificar e avaliar as eventuais alternativas de Software Livreàs tradicionais plataformas de BI das empresas tradicionais, no sentido de determinar a sua va-lidade como alternativa realista.Neste trabalho foram estudadas algumas das plataformas com maior relevância nesta área tendosido escolhidas as seguintes: Pentaho BI Server Community Edition 3.5 [Pentaho, 2010a], Spa-goBI 2.4[Spago, 2010a] e OpenI 2.0 [OpenI, 2010].Para cada uma das plataformas foi obtida a versão de demonstração disponível no respectivosite web, instalada e executada, notando os diversos requisitos e problemas. Foram avaliadasas funcionalidades oferecidas, as capacidades de cada plataforma e os respectivos pontos fortese fracos. Foi também criado um documento de teste em cada uma das plataformas de modo aavaliar a usabilidade das mesmas. As plataformas de BI baseadas em Sofware Livre podem seruma alternativa viável aos produtos comerciais, para implementação em PMEs. O seu baixopreço e conjunto de características tornam estas soluções atractivas para empresas e organiza-ções com baixos orçamentos para investimento em Tecnologias de Informação. No entanto, aatitude perante este tipo de software tem necessariamente que ser diferente, pois os verdadei-ros benefícios do Software Livre só são percebidos e aproveitados quando há um envolvimentomais sério entre os utilizadores e a respectiva comunidade.Uma outra vertente deste estudo incidiu na hipótese de melhorar um programa relevante nestaárea. Foi escolhido implementar Vistas Materializadas no servidor de base de dados MySQL,pois este é o servidor de base de dados mais usado em plataformas de Business IntelligenceOpen Source. As Vistas Materializadas podem trazer grandes benefícios de performance aqueries executadas sobre os dados de uma Data Warehouse, embora tragam também algumasdesvantagens, como sejam a necessidade de mais espaço e de maior esforço de manutenção dolado do servidor de base de dados.No âmbito do trabalho desenvolvido, foram publicados dois artigos, apresentados nos anexos Ce D, um publicado na conferência internacional E-ALT2010 - E-Activity and Leading Techno-logies 2010 e outro no workshop WACI’10 - 5th Workshop on Applications of ComputationalIntelligence.As principais contribuições desta tese foram as seguintes:

    2

  • 1.1. Organização da Tese

    • Avaliar a maturidade das plataformas BI open-source para poderem ser utilizadas emambientes empresariais de PMEs.

    • Demonstrar a exequibilidade de alterar um programa complexo para aumentar a perfor-mance numa área de interesse.

    1.1. Organização da Tese

    Além deste capítulo da introdução, esta tese está organizada do seguinte modo: no capítulo 2é efectuado um pequeno resumo sobre a evolução histórica do Software Livre. No capítulo 3são introduzidos os principais conceitos de Data Warehousing. No capítulo 4 é efectuada umaintrodução aos sistemas de Business Intelligence Open Source, com referência aos principaisprogramas existentes nesta área.O capítulo 5 descreve em detalhe as plataformas Business Intelligence Open Source e respectivaavaliação. A alteração do servidor de base de dados MySQL é descrita no capítulo 6 e asconclusões e propostas de trabalho futuro são apresentadas no Capítulo 7.Em anexos, apresentam-se os dois artigos derivados do trabalho efectuado no âmbito desteestudo e também todas as queries relativas aos testes realizados com o servidor MySQL alteradoconforme se descreve no capítulo 6.

    3

  • 2. Software de Código Aberto

    Na lógica de desenvolvimento fechado do software comercial, o resultado deste esforço dedesenvolvimento é tipicamente fornecido como programas em formato executável, para umaplataforma específica, em troca de um pagamento pelo direito de uso.

    Os utilizadores do software desenvolvido deste modo não têm, em condições normais, acessoao funcionamento interno nem podem influenciar o desenvolvimento de novas funcionalida-des ou correcção de bugs existentes, excepto nos casos em que existe um programa de "beta-testing"promovido pela empresa que desenvolve o software. Não podem, também estudar omodo como os problemas são resolvidos ou adaptar o software às suas necessidades, exceptonos casos em que essa adaptação for prevista pelo criador do software.

    O software desenvolvido segundo este modelo e licenciado desta forma é conhecido como"software proprietário"e é, actualmente, o modelo que impera na criação e distribuição de soft-ware comercial.

    No entanto, no início da indústria informática, o cenário era muito diferente. Nas décadasde 1950 a 1960 a maioria do software era desenvolvido na academia e localmente pelos clien-tes dos grandes sistemas computacionais, conhecidos como mainframes, nomeadamente paracorrecção de bugs e implementação de características úteis que não faziam parte do sistemaoperativo fornecido pelos fabricantes do hardware. Nesta época o sistema operativo, tambémconhecido nesta altura como "programa monitor", era normalmente fornecido sob a forma decódigo-fonte. Os clientes alteravam frequentemente o sistema operativo para resolver proble-mas e implementar funcionalidades desejadas. O sistema operativo, ou mesmo grande parte dorestante software, não era visto como tendo um valor comercial intrínseco.

    Os diversos grupos de pessoas que se dedicavam a melhorar e adaptar o software do sistemadepressa se organizaram em grupos de utilizadores, destinados a partilhar ideias e ao intercâm-bio de programas desenvolvidos pelos seus membros. Um dos mais antigos, e que ainda existe,é o grupo de utilizadores de mainframes IBM, SHARE, criado em 1955 [Share, 2010]. Outroexemplo é o grupo de utilizadores de sistemas da DEC - Digital Equipment Corporation, DE-CUS que surgiu em 1961. Enquanto o primeiro ainda subsiste como entidade independente, o

    5

  • 2. Software de Código Aberto

    segundo foi incorporado, através da compra da DEC pela Compaq e desta pela HP, nos gruposde utilizadores da HP. O software desenvolvido pelos membros destes grupos resultou em bibli-otecas de software disponíveis para uso livre. Foram estes grupos os primeiros impulsionadoresdo "Software de código aberto".

    Richard Stallman constatou, em 1971, ao iniciar o seu trabalho no MIT (Massachussets Ins-titute of Technology) Media Lab, que havia uma "comunidade vibrante de hackers1"que parti-lhavam software e ideias, não só entre eles, mas também com outros grupos semelhantes.

    No início dos anos 1980 esta comunidade estava muito menos activa, devido à migraçãode alguns dos seus membros para outras empresas e também devido a mudanças na própriaindústria informática. Nesta altura surgiram alguns mini-computadores, como o VAX (da DEC)que, embora poderosos para a época, usavam sistemas operativos licenciados de forma muitodiferente do que até aí tinha sido a prática comum. Estas novas máquinas eram distribuídas comsistemas desenvolvidos pelas empresas que os criaram e que viam este software como mais umafonte de rendimento. Ao mesmo tempo, criaram licenças desenhadas para forçar o utilizador anão tentar modificar, adaptar ou melhorar o software [GNU, 2010a].

    Em 1976, Bill Gates, sócio da Microsoft, escreveu uma carta aberta à comunidade ’hacker’em que acusava a comunidade de roubo e enormes prejuízos pessoais. Defendia assim a ideiaque todo o software, sem excepção, deveria ser pago.

    Esta tendência fortaleceu-se, do lado dos sistemas disponíveis para o grande público, com oadvento dos computadores pessoais, em 1981, distribuídos com o sistema operativo MS-DOS,licenciado pela Microsoft e, do lado dos grandes sistemas empresariais pelo anúncio da políticade OCO - Object Code Only, da IBM que pôs fim à distribuição de software sob a forma decódigo-fonte por parte desta empresa.

    Nesta altura, Richard Stallman criou o Projecto GNU (GNU é um acrónimo recursivo deGNU’s Not Unix) e começou a desenvolver o respectivo software que iria fazer parte de um"sistema operativo livre". Definiu também os termos em que considerava que determinadosoftware era ou não livre e o conceito de Copyleft, em oposição ao tradicional conceito deCopyright2, materializado na licença GNU GPL (General Public License) [GNU, 2010b].

    1O termo ’hacker’ é aqui usado no seu significado original de interessado por um sistema, por resolver umproblema ou por programação. Actualmente a palavra ’hacker’ tem conotações negativas devido ao uso dadopelos ’media’ a este termo como sinónimo de alguém que quebra mecanismos de segurança. Embora estatambém seja uma actividade praticada por alguns ’hackers’, existe uma ética em torno da comunidade ’hacker’que promove o bom uso do conhecimento adquirido ao contornar a segurança de um sistema, por exemplo,alertando o responsável do mesmo para as falhas encontradas de modo a que possam ser resolvidas . Ao longode todo este texto será seguido o significado original da palavra ’hacker’.

    2O termo Copyleft é um jogo de palavras com o termo Copyright, que, segundo Richard Stallman, limita a liber-dade que os utilizadores têm de usar o software. Por oposição, o termo Copyleft funciona "na outra direcção",

    6

  • 2.1. Diferenças entre Software Livre e Software Open-Source

    2.1. Diferenças entre Software Livre e Software

    Open-Source

    Richard Stallman criou em 1985 a Free Software Foundation (FSF), como suporte de financia-mento do Projecto GNU e para promover a filosofia do software livre. De acordo com Stallman,e para evitar a confusão entre os dois significados de "Free", "livre"e "gratuito", deve pensar-seno "Free Software"como "Free as in speech, not as in beer", e pensar neste conceito como umconceito social e não tecnológico. De facto, ao iniciar a sua actividade como programador desoftware livre, Richard Stallman deixou o seu trabalho no MIT de modo a não ter interferênciase potenciais conflitos de interesses.

    Para estar de acordo com os princípios do software livre, algumas garantias têm que ser dadasatravés da licença sob a qual o software é distribuído. A FSF definiu 4 pontos, chamados "asliberdades essenciais do software livre"que determinam se um determinado programa pode ounão ser classificado como "Livre".

    Estas liberdades estão descritas na Tabela 2.1

    Tabela 2.1.: Liberdades essenciais do software livreLiberdade no 0 Liberdade para executar o software para qualquer propósito.Liberdade no 1 Liberdade para estudar o programa e modificá-lo como desejar.Liberdade no 2 Liberdade para distribuir cópias do programa.Liberdade no 3 Liberdade para distribuir as próprias modificações.

    O anúncio do primeiro conjunto de liberdades apareceu no primeiro número do Boletim daGNU, em 1986 e desde então tem sido refinado e melhorado, tornando-se na definição oficialdo Software Livre, de acordo com a FSF.

    As liberdades associadas ao Software Livre, estão desenvolvidas para que não seja legalmentecomplicado utilizar e modificar o software e para que não seja possível restringir essas mesmasliberdades ao criar um trabalho derivado.

    Para que as liberdades no1 e no3 sejam garantidas, pressupõe-se que o código-fonte estejadisponível num formato editável. Assim, a disponibilidade do código-fonte é uma condiçãoobrigatória para que um determinado software seja classificado como "Livre".

    Desde cedo, esta posição por parte da FSF foi tida como algo radical e demasiado ideológicapor alguns membros da comunidade ’hacker’, que tinham uma visão mais pragmática. Além domais, alguma preocupação com a associação do movimento a causas mais políticas e o receio

    ou seja, garante a liberdade de uso aos utilizadores do software.

    7

  • 2. Software de Código Aberto

    que este tipo de associação fosse prejudicial para o software de código aberto no geral, levou àcriação no início de 1998 do termo "Open Source"por um grupo de hackers, incluindo Eric S.Raymond e John "Maddog"Hall, e, logo em seguida, foi fundada a organização "Open SourceInitiative"(OSI) [OSI, 2010] por Eric S. Raymond, Bruce Perens e Ian Murdock entre outros, demodo a promover o software considerado "Open Source". Tal como "Free Software", o conceitode "Open Source"está intimamente ligado à livre partilha de conhecimentos e trabalho colabo-rativo. Com a evolução da Internet, as possibilidades de partilha e oportunidades de colaboraçãoem projectos, mesmo que os participantes estejam geograficamente muito afastados, aumenta-ram enormemente, dando origem a uma profusão de projectos colaborativos, em praticamentetodas as áreas de software.

    As orientações seguidas pela OSI derivam das "Debian Free Software Guidelines"(DFSG),criadas no ano anterior por Bruce Perens com o apoio da comunidade Debian GNU/Linux.

    Actualmente, a principal diferença entre os termos "Open Source"e "Free Software"traduz-sena abordagem e filosofia das respectivas organizações de suporte, OSI e FSF. No entanto, paraa maioria dos casos práticos, o resultado final é idêntico.

    2.2. Outras Definições e Licenças

    No âmbito do software de código aberto, existe mais de meia centena de licenças usadas pormilhares de projectos. Cada uma destas licenças pode ser "aprovada"pela OSI ou pela FSFcomo "Open Source"ou "Free Software", respectivamente. Muitas licenças estão incluídas naslistas de licenças aprovadas das duas organizações.

    Um outro documento que ajuda a determinar o grau de liberdade oferecido por uma deter-minada licença é o documento intitulado "Debian Free Software Guidelines", que serviu demodelo à definição da OSI e que serve de guia para ajudar a determinar a inclusão ou exclusãodo software no repositório oficial do projecto Debian.

    O projecto Debian tem como objectivo incluir apenas Software Livre na sua distribuição,e como tal, usa este guia para determinar o grau de liberdade e, portanto, a possibilidade deinclusão ou não na distribuição Debian.

    Uma das licenças mais conhecidas e usadas pelos projectos de software livre é a GeneralPublic License da GNU, conhecida como GPL. Esta licença é usada por projectos tão mediáticoscomo o kernel Linux, MySQL ou o compilador GCC.

    Na Tabela 2.2 estão referidas as seis licenças mais usadas em projectos de software livre, bemcomo alguns exemplos de projectos que usam essas licenças.

    8

  • 2.3. Vantagens e desvantagens

    Tabela 2.2.: Licenças mais usadas no software livreLicença Exemplos de projectos que usam a licença

    General Public License (GPL) Kernel Linux, MySQL, GCCArtistic License PerlLesser GPL OpenOffice.orgBSD License Kernel BSDMIT License X Window SystemApache License Servidor http Apache

    2.3. Vantagens e desvantagens

    O modelo de negócio tradicional do software proprietário tenta aumentar o lucro das empresasque fornecem software através da criação de restrições artificiais à disponibilidade dos progra-mas, seja através do modelo de licenciamento ou seja através de dispositivos mais ou menoscomplexos para impedir a cópia ou uso do software em mais máquinas que o previamente acor-dado.

    O software de código aberto, por outro lado, não impõe este tipo de restrições ao uso dosprogramas. As empresas que têm o seu negócio centrado em plataformas Open-Source baseiamos seus rendimentos em outras actividades, como consultoria, formação e serviços de suporte.

    O uso do software de código aberto está normalmente associado a alguns benefícios:

    • Ciclos de produto curtos: Ao permitir que qualquer programador possa ler, alterar e distri-buir livremente o software, o público vai ter mais hipóteses de utilizar e testar as diferentesfuncionalidades, reportando mais fácil e rapidamente as falhas que possam existir. Esteefeito tem o nome de "Lei de Linus"e é habitualmente enunciado como "given enougheyeballs, all bugs are shallow"[Raymond, 2000]. Como o software de código aberto nãotem custos de licenciamento, os utilizadores estão mais receptivos a testar as novas ver-sões;

    • Confiança e segurança: Uma vez que toda a gente pode ver o código-fonte, as possíveisfalhas de segurança ou mesmo algoritmos menos robustos podem ser facilmente identifi-cados e corrigidos. Também o modo de operação do software pode ser escrutinado paragarantir que os resultados obtidos são os esperados;

    • Libertação do bloqueio em relação ao vendedor: Pela sua natureza, os programas decódigo aberto não permitem que exista um bloqueio do cliente em relação ao vendedor.

    9

  • 2. Software de Código Aberto

    No caso de um utilizador ter que trocar de fornecedor de serviços, o novo fornecedor podefacilmente analisar o código-fonte para prosseguir o trabalho.

    • Sem custos de vendas e licenciamento: O software de código aberto não tem, normal-mente, custos de licenciamento ou vendas que encarecem o produto. Todo o orçamentodisponível pode ser aplicado no desenvolvimento da solução, formação e outros inves-timentos. Esta característica também facilita o teste e análise de diversas versões ouprodutos concorrentes.

    Claro que nem tudo são vantagens, uma vez que a simples capacidade de escolha apresentadaa um utilizador, torna o cenário muito diferente das habituais relações de cliente-fornecedorpresentes na indústria. Muitas vezes, também, existe a noção que o Software Livre é umaespécie de bálsamo para todas as maleitas ou que se comporta exactamente como os programasde código fechado que substitui. A expectativa em relação às melhorias que o Software Livrepode trazer podem ser demasiadas, levando a que a utilização deste tipo de soluções acabe porser frustrante.

    Quando se considera a adopção de Software Livre numa empresa, é conveniente ter algumaconselhamento por alguém com experiência na utilização desta classe de Software e tambémcom alguma prática de análise de licenças.

    Para além dos aspectos legais, é benéfico para o potencial utilizador ter alguns conhecimen-tos, ou recorrer a alguém com conhecimentos, técnicos nas linguagens e tecnologias adoptadaspelos programas a usar. Deste modo, consegue-se obter maiores vantagens e aproveitar maisprofundamente as potencialidades do software.

    10

  • 3. Data Warehousing

    Os sistemas de gestão comuns nas empresas e organizações estão desenvolvidos para permitir oregisto de todas as operações necessárias e relevantes para o dia a dia da actividade empresarial.Nalguns casos existem sistemas integrados que cobrem todas as áreas de actividade de umaempresa (Recursos Humanos, Financeira, Aprovisionamentos, Produção, etc.), mas por vezesexistem sistemas diferentes para funções específicas ou áreas com requisitos distintos.

    Embora estes sistemas guardem todas as informações relevantes para o negócio, é por vezescomplicado responder às perguntas que os decisores precisam de realizar, como por exemplo"Qual foi o artigo com mais devoluções, por anos, dos nossos 10 maiores clientes?"ou "Em queárea geográfica os artigos X e Y estão associados em termos de vendas ?".

    O facto dos diversos sistemas em uso poderem ter dados não concordantes, ou não teremtodos os dados necessários para responder às necessidades dos decisores, torna muito difícilusar apenas os sistemas ERP (Enterprise Resource Planning) para análise e apoio a tomadas dedecisão. É necessário um sistema que apoie os processos de tomada de decisão de uma formamelhor que os ERP tradicionais.

    Na década de 1960 começaram a ser estudadas algumas propriedades e conceitos sobre Sis-temas de Apoio à Decisão (Decision Support Systems), como eram então conhecidos e na pri-meira metade da década de 1990 foram publicados dois dos livros mais importantes nesta área,um de Bill Inmon [Inmon, 2002] e outro escrito por Ralph Kimball [Kimball, 1996]. Estesdois autores abordam a temática do Data Warehousing, desde a sua concepção até à fase deutilização e desenvolvem alguns conceitos como Tabela de Factos e Tabelas de Dimensões, Cu-bos, Processos de Extracção-Transformação-Carregamento (ETL - Extract-Transform-Load) eactualização da Data Warehouse.

    Uma Data Warehouse é um repositório de informação de uma empresa ou organização quecentraliza, regulariza, limpa, cataloga e disponibiliza essa informação aos seus utilizadores,que são os decisores da organização. A interacção dos utilizadores com a data warehouse faz-se através de programas de análise e exploração de dados, os chamados sistemas de BusinessIntelligence.

    11

  • 3. Data Warehousing

    Ao contrário dos sistemas transaccionais, que estão desenhados para recolher a informaçãode uma forma contínua, estruturada, e de acordo com as regras estabelecidas por Codd parao desenho e desenvolvimento de bases de dados relacionais, uma data warehouse é projectadapara armazenar dados temporais, ou seja, a data warehouse deve conseguir fornecer uma "foto-grafia"dos dados num determinado momento para ser possível, no futuro, analisar diferenças ecomparar o estado da organização com outros períodos.

    Para conseguir esta fotografia do estado da organização tão correcta quanto possível, umaData Warehouse deve alimentar-se no maior número possível de fontes de informação, não sónos sistemas transaccionais mas também em outras fontes como ficheiros de folhas de cálculo,processadores de texto e mesmo imagens e fontes multimédia.

    Os dados são copiados das diversas fontes para a Data Warehouse através de processos deextracção e transformação de dados.

    As regras que servem de orientação ao desenvolvimento deste tipo de bases de dados sãosubstancialmente diferentes das enunciadas por Codd para as bases de dados relacionais, e nãoatendem a problemas de normalização, mas antes a questões de performance para fornecer osdados requisitados.

    De um modo conceptual, os dados existentes numa Data Warehouse seguem um modelo em"cubo"de n-dimensões, em que as dimensões do cubo representam as características dos factose na intersecção entre as dimensões estão os valores em análise. Na figura 3.1 apresenta-seum exemplo de um cubo que armazena valores de quantidade vendida em função do produto,cliente e tempo. Os cubos assim definidos têm frequentemente mais de três dimensões, embora,por razões óbvias, não seja possível representá-los facilmente numa folha de papel.

    Figura 3.1.: Cubo de quantidade vendida de um Produto a um Cliente numa determinada data (Tempo)

    12

  • 3.1. Arquitectura genérica de uma Data Warehouse

    A disposição dos dados em cubos torna simples a agregação dos mesmos ao longo das di-mensões, sendo esta operação da maior importância para o desempenho da Data Warehouse.

    3.1. Arquitectura genérica de uma Data Warehouse

    Uma Data Warehouse engloba não só o repositório de dados, mas sim todas as fontes de dados,processos de tratamento de dados e também todo o software de análise e exploração de dados.Portanto, uma Data Warehouse é um conjunto de programas e sistemas com diferentes fun-ções, cujo objectivo é levar os dados das respectivas fontes até aos utilizadores. Estes diversosprogramas e sistemas são normalmente divididos nas seguintes categorias:

    • Sistemas Operacionais e outras fontes de informação

    • Processos de Extracção,Transformação e Carregamento de Dados (ETL).

    • Reposítório de Dados

    • Software Analítico

    Todas estas áreas estão encadeadas e os dados circulam desde os "Sistemas Operacionais"atéao "Software Analítico", conforme mostrado na Figura 3.2.

    Os dados originalmente presentes num ou mais sistemas de suporte às operações quotidia-nas da empresa e noutras fontes de dados consideradas relevantes para a análise da situação,passam por um processo global de extracção dos dados, transformação e carregamento no re-positório, usualmente chamado processo de ETL (Extraction-Transformation-Load). Após ocarregamento, o repositório de dados alimenta o software analítico usado para as tomadas dedecisão.

    Vamos agora, nas secções seguintes, abordar com mais detalhe estas quatro áreas.

    3.2. Dados Operacionais

    Os dados operacionais são todos os dados, contidos nos diversos sistemas de apoio, em Basesde Dados Relacionais e, por vezes, em sistemas antigos com Bases de Dados não Relacionais(Legacy Systems) e documentos não estruturados (Folhas de Cálculo, Documentos textuaisdiversos, imagens, etc...).

    É necessário analisar com cuidado a relevância de cada uma destas fontes para o processode criação de uma Data Warehouse, já que cada uma delas implica geralmente algum tipo de

    13

  • 3. Data Warehousing

    Figura 3.2.: Arquitectura genérica de uma Data Warehouse

    processo de extracção único. Nesta fase, embora se deseje um processo tão automático quantopossível, pode ter que se recorrer, por vezes, à intervenção do operador para validar os dados eajudar o processo de extracção.

    De todas as fontes de informação, as mais facilmente integráveis numa Data Warehouse sãoos sistemas de Bases de Dados Relacionais. Estes sistemas têm alguma estrutura e muitas vezesguardam os dados necessários à resposta das perguntas feitas pelos decisores.

    O facto da linguagem SQL ser dominante em sistemas de gestão de bases de dados relacionaistorna simples a criação de queries SQL que extraiam os dados dos sistemas operacionais para orepositório da Data Warehouse.

    3.3. Processos de ETL

    Os processos de ETL têm como objectivo normalizar as informações em termos de correcçãode erros ou inconsistências. Por exemplo, duas fontes de dados distintas podem ter uma políticadiferente para armazenar moradas, onde um deles arquiva a morada completa enquanto outrodivide a morada em dois ou mais campos. O objectivo dos processos de ETL, neste caso, éobrigar a que todas as moradas sigam a mesma norma. Não é necessário que seja coincidentecom qualquer um dos sistemas originais.

    Estes processos devem ser criados cuidadosamente, de modo a que os dados provenientes dasdiversas fontes de informação não sejam adulterados, nem se introduzam dados incorrectos norepositório da Data Warehouse.

    Além dos processos de ETL serem frequentemente complicados de definir e implementar,

    14

  • 3.4. Repositório de Dados

    a sua execução tende a ser demorada. No entanto, são um dos mais importante aspectos dedesenvolvimento de uma Data Warehouse.

    O resultado dos processos de ETL é então carregado no Repositório de Dados, normalmentesegundo um horário previamente definido, de acordo com o tempo de execução dos ditos pro-cessos e com a tolerância da actualidade de informação necessária ao software analítico.

    A informação constante do repositório tem que ser periodicamente actualizada, de acordocom os tempos de execução dos processos de ETL relativos à actualização da informação, em-bora também existam alguns trabalhos sobre actualizações em tempo real [Santos, 2006].

    3.4. Repositório de Dados

    O repositório de dados de uma Data Warehouse pode residir numa Base de Dados Relacional,ou numa Base de Dados MOLAP (Multidimensional Online Analytical Processing).

    Ao contrário das Bases de Dados de suporte aos sistemas operacionais, o repositório de umaData Warehouse não segue as regras de Codd da normalização de Bases de Dados, mas sim umesquema em Estrela ou Floco-de-Neve, em que a Tabela de Factos (que guarda os factos rele-vantes, como vendas, preços, quantidades) é o centro da estrela ou floco de neve, e as dimensões(Clientes, Produtos, etc...) são as "pontas"da estrela ou os "braços"do floco-de-neve. Estes doisesquemas estão representados na Figuras 3.3 e 3.4.

    Uma vez que o esquema em Floco-de-Neve resulta da normalização das dimensões do es-quema em Estrela, vamos abordar apenas este.

    Figura 3.3.: Esquema em Estrela. Dim1 a Dim3 são as tabelas de Dimensões e Factos a Tabela deFactos

    Num repositório de Data Warehouse, existem uma ou mais tabelas de Factos, que contêm asmedidas numéricas do processo ou negócio a ser analisado. Estas medidas numéricas do negó-cio podem ser, por exemplo, a quantidade vendida de um produto numa determinada transacção,o custo de uma matéria prima num dado momento, a duração de uma certa operação, etc...

    15

  • 3. Data Warehousing

    Figura 3.4.: Esquema em Floco de Neve. Neste esquema, as dimensões são normalizadas, por exem-plo as Dimensões Dim1 e Dim2 foram normalizadas através das sub-dimensões SD1.1 e SD 2.1, res-pectivamente

    Ligadas à tabela de Factos, estão as tabelas de Dimensões. Estas são as tabelas que descre-vem os aspectos importantes dos factos. No caso da tabela de Factos incluir informação sobrevendas, podem existir a dimensão Cliente (que inclui todas as informações pertinentes para aidentificação dos clientes), a dimensão Produto (com todas as informações relativas aos diversosprodutos), a dimensão Tempo (que define os dias e informações adicionais sobre os dias, comoferiado, dia da semana, etc...). Como a Data Warehouse é um registo temporal do estado daorganização, é essencial que exista uma dimensão Tempo.

    As dimensões podem ser partilhadas por mais que uma tabela de factos, como se ilustra naFigura 3.5. De facto, uma das características das Data Warehouses definidas à custa dos requi-sitos dos vários departamentos e áreas de negócio de uma empresa é a existência de dimensõespartilhadas entre as diversas tabelas de factos. Estas dimensões são também chamadas de "Di-mensões Conformes".

    Figura 3.5.: A dimensão 1 é partilhada pelas tabelas de factos 1 e 2.

    Este esquema em estrela é o que normalmente é aplicado em ao armazenar os dados num Sis-tema Relacional. O armazenamento dos cubos apenas é efectuado de modo directo em sistemasMOLAP.

    16

  • 3.5. Software Analítico

    3.5. Software Analítico

    A utilidade de uma Data Warehouse está directamente relacionada com a qualidade e quanti-dade de análises e estudos que se podem realizar aos dados nela contidos, através do uso deprogramas específicos, que podem ser simples programas de folha de cálculo até uma completasuite de Business Intelligence, que permite a definição de análises, geração de relatórios, criaçãoe acompanhamento de KPI (Key Performance Indicators) entre outras utilizações.

    Os programas integrados de Business Intelligence permitem a exploração dos dados armaze-nados na Data Warehouse, através de uma interface que procura ser intuitiva e simples de utilizarpor parte de utilizadores não técnicos. No próximo capítulo analisaremos em mais pormenoresta categoria.

    17

  • 4. Open Source Business Intelligence

    A expressão "Business Intelligence"indica um conjunto de aplicações que promovem a execu-ção de análise de dados, através da disponibilização dos dados desde as Data Warehouses atéaos programas que os utilizadores finais vão usar para criar relatórios, análises e indicadores.

    Deste conjunto de software fazem parte servidores OLAP, clientes OLAP, programas de DataMining, programas de criação de relatórios e dashboards.

    Alguns destes programas estão disponíveis de forma isolada enquanto outros estão incluídosem plataformas ou grupos de programas. O trabalho desta tese centrou-se sobre as plataformasde Business Intelligence publicadas como Open Source1, pois consideramos que são estas asque estão melhor adaptadas para utilização pelas Pequenas e Médias Empresas (PMEs).

    Usar uma plataforma de Business Intelligence em vez de implementar as mesmas funcionali-dades através de uma colecção de programas, permite que se poupe recursos na integração dosvários componentes. Uma plataforma já fornece esta integração, permitindo concentrar esforçosna implementação da solução de Business Intelligence.

    4.1. Servidores OLAP

    Do ponto de vista da Business Intelligence, os dados existem sob a forma de cubos, comodescrito na Figura 3.1. No entanto, o armazenamento tradicional dos dados que servem de baseaos programas de Business Intelligence é quase sempre feito em sistemas de gestão de bases dedados relacionais.

    O armazenamento dos dados num sistema relacional permite armazenar uma imensa quan-tidade de informação, porque, ao contrário dos sistemas MOLAP, que criam os cubos em me-mória, estão limitados pela memória do RAM do sistema onde estiver instalado o servidor.Tipicamente, o tamanho disponível para armazenamento em disco é cerca de uma centena a ummilhar de vezes maior que o tamanho da memória RAM.

    1Para que um qualquer programa, ou conjunto de programas, seja considerado Open Source, basta que os autoresdo programa o publiquem sob uma das licenças aprovadas pela OSI, ou pela FSF.

    19

  • 4. Open Source Business Intelligence

    Um servidor OLAP é parte do conjunto de aplicações de Business Intelligence e tem comomissão permitir o acesso aos dados através da criação dos cubos e armazenamento destes numsistema Relacional ou Multidimensional. No primeiro caso chama-se ROLAP, e no segundocaso MOLAP. Dos vários produtos existentes, apenas dois são distribuídos sob licenças OpenSource: o Mondrian OLAP Server e o Jedox Palo OLAP Server.

    O servidor Mondrian é um produto ROLAP que está integrado no portfolio da Pentaho, sendousado também por outros projectos nesta área.

    Criado pela empresa Jedox, o Jedox Palo OLAP Server é um produto MOLAP, que guardaos cubos OLAP em memória e pode ser acedido através de folhas de cálculo, que servem as-sim como ferramentas de análise e exploração de dados. Pode também ser integrado noutrosprogramas através de interfaces com diversas linguagens.

    4.2. Clientes OLAP

    Qualquer programa que consiga ligar-se a um servidor OLAP e recolher dados, pode ser consi-derado um cliente OLAP. Assim, podemos considerar que esta classe de software inclui todosos programas que de algum modo acedem aos dados de um cubo OLAP.

    Alguns clientes dignos de referência são o Jpivot (programa de criação de gráficos e tabelas)[JPivot, 2010], Eclipse BIRT (programa de criação de relatórios) [BIRT, 2010] e o JasperRe-ports (também dedicado à criação de relatórios) [Jasper, 2010].

    4.3. Data Mining

    Para descobrir novos padrões de dados e relações entre conjuntos de dados é usado software deData Mining. Este tipo de software implementa diversos algoritmos que permitem a análise dedados. Os algoritmos tipicamente implementados incluem redes neuronais, árvores de decisão,clustering e algoritmos genéticos.

    Um notável exemplo de software de Data Mining publicado sob uma licença Open Source é oRapidMiner [RapidMiner, 2010].Como muitos outros programas nesta área, é escrito em Java epode, portanto, ser executado em qualquer sistema que disponha de uma Máquina Virtual Java.Pode também ser facilmente incluído noutros programas desenvolvidos nesta linguagem.

    Este tipo de software é normalmente usado isolado em vez de incluído numa suite. A suautilização está mais orientada para analistas de dados que decisores. No entanto, pode servircomo fonte de dados para alimentar um dashboard.

    20

  • 4.4. Criação de Relatórios

    4.4. Criação de Relatórios

    As bibliotecas de "Reporting"JasperReports, JPivot e BIRT são alguns dos exemplos de produ-tos Open Source usados para criar, armazenar, modificar e apresentar Relatórios de BusinessIntelligence. As suas capacidades gráficas permitem a criação de uma variedade de formas derepresentação de dados que ajudam a interpretar os indicadores relevantes.

    Todas estas bibliotecas são usadas tanto em programas de Código Aberto como em programascomerciais de código fechado.

    Estas bibliotecas representam uma das mais importantes funcionalidades dos sistemas de Bu-siness Intelligence, já que permitem a visualização rápida e concisa de grandes quantidades deinformação, bem como a criação de relatórios executivos directamente a partir das ferramentasde exploração de dados.

    4.5. Dashboards

    Os dashboards são outra das funcionalidades muito apreciadas pelos utilizadores de BusinessIntelligence, pois permitem, num só écran, acompanhar um conjunto de indicadores e valoresde referência. A criação do dashboard deve ser pessoal, isto é, cada utilizador do sistema deBusiness Intelligence deve ter permissão para criar o seu dashboard pessoal, com as variáveis eindicadores que lhe interessarem mais para o tipo de análises que normalmente usa.

    Devem ser desenvolvidos e desenhados para uma utilização rápida e simples que forneça umavisão global da empresa ou organização.

    As suites de Business Intelligence incluem algum tipo de dashboards, enquanto que a utiliza-ção isolada deste tipo de software é menos comum.

    Além das funcionalidades integradas em suites de BI ou noutros projectos de Código Aberto,não são comuns os projectos de Open Source exclusivamente dedicados a esta área. Os com-ponentes destinados à criação de gráficos e relatórios são muitas vezes usados para acrescentarfuncionalidade de dashboard a uma qualquer aplicação.

    21

  • 5. Análise de Plataformas BusinessIntelligence Open Source

    O Linux, o Apache, o MySQL e o OpenOffice.org1, entre outros, são já rotineiramente usadosem diversas empresas e organizações. Ao contrário destes, as soluções de Business Intelligence,apenas agora começam a mostrar todo o seu potencial e a tornar-se uma alternativa viável àstradicionais soluções comerciais.

    A maior atracção das soluções de Business Intelligence em código aberto é a poupança ob-tida, tanto financeiramente como em tempo de desenvolvimento, mas além do preço existe apossibilidade de fazer evoluir uma solução de Business Intelligence e integrá-la com a restanteinfraestrutura da empresa ou organização, de um modo que nunca será possível com as plata-formas comerciais tradicionais.

    No âmbito deste trabalho foi feita uma análise a algumas plataformas de Business Intelli-gence Open Source. Para escolher as plataformas a estudar, fez-se uma pesquisa bibliográficado estado da arte neste domínio, identificando as plataformas com maior potencial. A plata-forma Pentaho tem mais de 30000 downloads na soma das diversas versões estáveis lançadasem 2010 (mais de 2700 downloads/mês), e o fórum de suporte conta já com mais de 29000tópicos com quase 109000 mensagens (3,7 mensagens por tópico) desde 25 de Maio de 2005(54 mensagens/dia). Os dados para o SpagoBI são mais difíceis de obter, uma vez que o nú-mero de downloads não é divulgado no respectivo repositório, no entanto, os números do fórumincluem mais de 1600 tópicos com cerca de 5500 mensagens (3,4 mensagens / tópico), desde11 de Outubro de 2005 (3 mensagens / dia). O OpenI teve já 8600 downloads (mais de 350download/mês, ao longo de 2009 e 2010), só das versões de desenvolvimento e apresenta 600tópicos com 1500 mensagens (2,5 mensagems/tópico) desde 1 de Maio de 2005 (0,7 mensagens/ dia).

    Os trabalhos de Matteo Golfarelli [Golfarelli, 2009] e de Christian Thomsen e Torben Pe-

    1O nome do projecto e do programa é "OpenOffice.org"devido ao facto de "OpenOffice"ser uma marca registadana Holanda (ver www.openoffice.nl) e na Alemanha (ver www.openoffice.net). No entanto, emlinguagem falada pode pronunciar-se como "OpenOffice".[OpenOffice, 2006].

    23

  • 5. Análise de Plataformas Business Intelligence Open Source

    dersen [Thomsen, 2005, Thomsen, 2008] constituíram um importante ponto de partida para oestudo desta área.

    A escolha das plataformas em análise recaiu sobre o Pentaho BI Server Community Edition[Pentaho, 2010a], o SpagoBI Server [Spago, 2010a] e o OpenI server [OpenI, 2010], uma vezque na análise prévia efectuada foram aquelas que considerámos mais populares ou com maiorpotencial.

    5.1. Obtenção das plataformas

    De acordo com a prática comum no mundo Open Source, todos os programas analisados estãodisponíveis para download a partir dos respectivos sites. Além dos programas, estão dispo-níveis também para download o código-fonte e demonstrações pré-configuradas. As versõesdisponíveis incluem não só as mais recentes, mas também algumas versões mais antigas.

    As demonstrações incluem os programas, alguns dados de teste e um servidor de aplicaçõesjá pré-configurado e pronto a ser executado.

    Foi feito o download tanto das demonstrações como dos programas e procedeu-se à respectivainstalação e execução no sentido de avaliar as características de cada uma das plataformas.

    5.2. Instalação

    Todas as plataformas analisadas são escritas na linguagem Java e usam a tecnologia JSP paraserem executadas num servidor de aplicações, como o Apache Tomcat [Tomcat, 2010] ou oJboss [JBoss, 2010].

    A instalação das plataformas depende, pois, do servidor de aplicações a usar para as executar.Uma vez que todas as demonstrações pré-configuradas usam o Apache Tomcat, essa foi tambéma plataforma usada para as instalações das plataformas não configuradas.

    Nenhuma das demonstrações pré-configuradas que estão disponíveis para download incluium servidor de base de dados, mas apresenta os dados já pré-processados em cubos Mondrian.Usando os drivers JDBC (disponibilizados pela plataforma ou acrescentados posteriormente),podemos ligar a qualquer sistema de base de dados. Existem drivers JDBC para todos os siste-mas de gestão de base de dados mais comuns, incluindo Oracle, Microsoft SQL Server, MySQL,Postgresql e IBM DB2 e ainda um driver de ligação JDBC-ODBC que permite a ligação a basesde dados em sistemas sem drivers JDBC mas com drivers ODBC.

    24

  • 5.3. Pentaho Business Intelligence Server Community Edition 3.5.0

    Convém relembrar que para acedermos a um sistema de bases de dados temos que garantirque estão instalados os drivers necessários.

    As plataformas foram executadas num computador portátil com um processador Intel Core2Duo T58700, sob os sistemas operativos Debian GNU/Linux e Microsoft Windows 7, com 4GBde RAM e um disco de 320 GB. Foi necessário garantir que o ambiente de execução Java,JRE, estava devidamente instalado e que as variáveis de ambiente necessárias (JRE_HOME eJAVA_HOME) estavam definidas.

    O início e o fim da execução das plataformas de demonstração é conseguido com a ajuda dedois scripts incluídos nos pacotes de software (start-pentaho e stop-pentaho no Pentaho, start-openi e stop-openi no OpenI e startup e shutdown no SpagoBI). Após o início da demonstração,basta apontar o browser para o porto 8080 da máquina onde estiver a correr o programa e se tudoestiver em condições, podemos autenticar-nos na aplicação e começar a exploração das platafor-mas. Quando se instala uma destas plataformas fora do âmbito destes pacotes de demonstração,o arranque e finalização dos programas fica ao cargo dos métodos usuais para iniciar e terminarserviços, dependente do sistema operativo em uso. A avaliação das diversas aplicações incidiuparticularmente na identificação das principais características de cada plataforma e do interfacecom o utilizador.

    5.3. Pentaho Business Intelligence Server Community

    Edition 3.5.0

    A Pentaho é uma empresa que desenvolve uma plataforma de Business Intelligence segundoum modelo de "Open Source Comercial". De acordo com este modelo de negócio, existe umaversão de código aberto, distribuída sob uma licença Open Source (por vezes com algumas res-trições à alteração e redistribuição do software) e disponível para download na Internet, e existeuma versão comercial, com capacidades adicionais, disponibilizada em conjunto com algunsserviços (formação, instalação, suporte técnico, consultoria) sob a forma de um produto emtudo idêntico a um produto proprietário não livre. Deste modo o programa Pentaho BusinessIntelligence Server é distribuído em duas edições a Community Edition, e a Enterprise Edi-tion, sendo que a primeira é a versão de código aberto e a segunda a versão proprietária comcomponentes de código fechado.

    A versão analisada no âmbito deste trabalho foi a Community Edition.

    Esta plataforma apresenta um pacote de demonstração pré-configurado que inclui o Business

    25

  • 5. Análise de Plataformas Business Intelligence Open Source

    Intelligence Server Community Edition, alguns dados de exemplo (designados como FoodmartDatabase), o servidor de aplicações Apache Tomcat, a aplicação de controlo e administração doservidor, Administration Console e o ambiente de execução Java, JRE, necessário para executaro Apache Tomcat e respectivas aplicações web.

    A Figura 5.1 apresenta o interface de login do Pentaho Business Intelligence Server, e na Fi-gura 5.2 mostra-se o interface principal da Administration Console, a consola de administraçãodo servidor de Business Intelligence.

    Figura 5.1.: Interface de login do Pentaho Business Intelligence Server

    O Pentaho Business Server inclui o motor OLAP Mondrian, o componente de integração dedados Pentaho Data Integration (anteriormente designado como Kettle), o motor de relatóriosJFreeReport e o módulo de Data Mining Weka.

    Figura 5.2.: Interface da Pentaho Administration Console

    Todos estes componentes estão também disponíveis como aplicações isoladas e podem, por-tanto, ser executados fora do contexto da solução integrada de Business Intelligence, além disso,podem também ser integrados noutros projectos.

    A interface de utilizador do Pentaho apresenta uma árvore dos documentos disponíveis, se-parados em projectos e categorias. Ao visualizar um documento, é dada a possibilidade doutilizador alterar alguns parâmetros OLAP, editar a query MDX ou opções do gráfico. NasFiguras 5.3 a 5.5 apresentam-se alguns dos diálogos de controlo destas opções.

    26

  • 5.3. Pentaho Business Intelligence Server Community Edition 3.5.0

    Figura 5.3.: Diálogo de opções relativas às tabelas OLAP

    A Figura 5.3 mostra opções relativas às tabelas OLAP, nomeadamente a possibilidade decriar filtros ou ordenar os dados e a Figura 5.4 apresenta o editor de queries MDX que permitemodificar a query relacionada com a tabela de dados em exibição.

    Figura 5.4.: Editor de query MDX do Pentaho

    A Figura 5.5 mostra o diálogo de opções de formatação de gráficos, desde os tipos de gráficosdisponíveis (na lista pendente) até às diversas opções de escala e legenda de eixos Atravésdestas opções podemos definir o tipo e apresentação do gráfico que estamos a visualizar. Nalista pendente (Chart Type) temos os diversos tipos de gráfico, como por exemplo, de barrasverticais, de barras horizontais ou gráficos de linhas. As restantes opções aplicam-se ao tipoescolhido e permitem definir escalas, títulos do gráfico e dos eixos e legenda. É ainda possívelescolher a cor de fundo do gráfico.

    O pacote de demonstração inclui também um script auxiliar, de nome set-pentaho-java paragarantir que determinadas variáveis de ambiente (relacionadas com a execução do ambienteJava) estão bem definidas.

    Além deste pacote de demonstração, estão ainda disponíveis no mesmo repositório on-linealgumas outras ferramentas que podem ajudar à utilização e configuração da solução de Busi-ness Intelligence, nomeadamente, na criação de relatórios, agregados e processos de ETL. Estasferramentas estão sumariamente descritas na Tabela 5.1

    A interface do Pentaho está disponível em vários idiomas (Inglês, Espanhol, Francês, Alemãoe Japonês), mas apenas para utilizadores com permissões de administrador. Para os utilizadores

    27

  • 5. Análise de Plataformas Business Intelligence Open Source

    Figura 5.5.: Opções de controlo dos gráficos, mostrando as diversas opções disponíveis à esquerda eos diversos tipos de gráficos disponíveis na lista pendente.

    Tabela 5.1.: Programas disponíveis no repositório da PentahoPrograma Função

    Pentaho Report Designer Desenho de relatórios e criação de "Action Sequences"Pentaho Data Integration ETLPentaho Design Studio Editor e depurador de relatórios e "Action Sequences"Pentaho Metadata Editor Editor de metadados conformes com o modelo

    Common Data WarehouseMondrian Schema Workbench Editor de Schemas OLAP do MondrianMondrian Aggregation Designer Editor de tabelas de agregaçãoPentaho Report Engine Executa e mostra relatóriosWeka Data Mining Componente de Data Mining

    28

  • 5.4. SpagoBI 2.4.0

    regulares, não existe um modo óbvio de alterar o idioma, ficando a interface com o idiomapré-definido, Inglês.

    É possível a ligação dos relatórios, análises ou dashboards com serviços externos e é apre-sentado um exemplo de uma ligação ao serviço Google Maps. Este caso é ilustrado na Figura5.6

    Figura 5.6.: Exemplo de ligação do Pentaho ao serviço Google Maps

    Os relatórios e análises podem ser exportados para diversos formatos, incluindo PDF e Mi-crosoft Excel.

    Na demonstração estão incluídas também algumas amostras de desenvolvimento de relató-rios, análises, dashboards e serviços web. Num ambiente de produção, devem usar-se os pro-gramas disponíveis no repositório da Pentaho para desenvolver as soluções necessárias.

    No que se refere a ajuda disponível via Internet, existe um fórum [Pentaho, 2010b], um wiki[Pentaho, 2010c], uma newsletter [Pentaho, 2010d] e um FAQ [Pentaho, 2010e], bem comouma grande comunidade de utilizadores dispostos a partilhar o conhecimento.

    5.4. SpagoBI 2.4.0

    A plataforma SpagoBI é uma das que segue um modelo de licenciamento puramente OpenSource, o que significa que existe apenas uma edição livre da plataforma.

    Criado pela empresa Ingegneria Informatica S.p.A. [Eng, 2010], de Itália, é desenvolvido poruma comunidade de programadores aberta a todos os que estejam interessados em dar o seucontributo.

    Tal como o Pentaho, esta plataforma é desenvolvida na linguagem Java e usa a tecnologia JavaServer Pages para criar a sua interface. Pode ser executada em qualquer servidor de aplicaçõesJava, como o Apache Tomcat ou o RedHat JBoss. O servidor OLAP incluído nesta plataforma

    29

  • 5. Análise de Plataformas Business Intelligence Open Source

    é também o Mondrian, e as funcionalidades de Data Mining estão entregues ao Weka. Estaplataforma inclui os clientes OLAP JPivot e JPalo. O cliente JPivot pode ainda ser combinadocom um servidor XMLA (XML for Analysis), incluindo, por exemplo, o Microsoft AnalysisServices.

    O SpagoBI tem uma arquitectura muito modular, apresentando diversos componentes, cha-mados "motores"que tratam das diversas funcionalidades da plataforma, desde o acesso aos da-dos à apresentação de relatórios, passando pelo Data Mining e processos de Extracção, Transfor-mação e Carregamento de dados. Os diversos módulos ou motores são aplicações distintas, quepodem ser executadas per si num servidor de aplicações e que estão integrados na plataformaSpagoBI. A Figura 5.7 mostra a arquitectura do SpagoBI Server, onde os diversos componentesestão integrados no "Analytical Engine", que, por sua vez, assenta no "Behavioural Model",responsável pela autenticação dos utilizadores e verificação das respectivas permissões. Abaixodo "Behavioural Model"existe a camada de "Data & Metadata"que interage com a Data Wa-rehouse e fontes externas de dados e acima do "Analytical Engine"aparecem as funcionalidadesrelacionadas com a interface de utilizador.

    Figura 5.7.: Arquitectura do SpagoBI

    Devido ao modo como são implementados os diversos componentes e motores existentesna plataforma SpagoBI, é possível desactivar qualquer um dos módulos pelo administrador daaplicação. Em teoria, é também possível adicionar novos componentes à plataforma SpagoBI,embora esta funcionalidade em particular não tenha sido testada no decorrer do trabalho.

    Na área de motores de criação e apresentação de relatórios, o SpagoBI inclui o BIRT, o

    30

  • 5.4. SpagoBI 2.4.0

    JasperReports e o GeoReports, este último dedicado a relatórios que apresentem informaçãogeo-referenciada. A capacidade de Extracção, Transformação e Carregamento de dados (ETL- Extract-Transform-Load) fica a cargo do Talend Open Studio, integrado no SpagoBI sob aforma de um motor de execução de trabalhos de ETL, chamado SpagoBITalendEngine.

    Juntamente com todos estes componentes, o pacote de demonstração do SpagoBI inclui oApache Tomcat, os dados de exemplo do FoodMart database, tendo o utilizador que disponi-bilizar o ambiente de execução Java. A administração desta solução está incluída no mesmoexecutável e fica disponível de acordo com o nível de permissões do utilizador que inicia asessão.

    Nas figuras 5.8 a 5.11 estão representados alguns aspectos desta plataforma. Na Figura 5.8está representada a interface de login do SpagoBI.

    Figura 5.8.: Interface de login do SpagoBI

    A Figura 5.9 mostra uma possível página de abertura, logo após o login, mostrando diversosKPIs. Os KPI, ou Key Performance Indicators, são indicadores considerados chave para aanálise do negócio. Podem ser, por exemplo, o tempo médio de cobrança de facturas, ou apercentagem de stock não vendido no mês anterior. Esta página é configurável através dasopções de configuração do menu, disponível para os administradores. Estas opções permitemtambém alterar as opções disponíveis no menu principal para os utilizadores.

    Um outro exemplo de página do SpagoBI que pode ser configurada como página de entrada,está representado na Figura 5.10, que mostra um dashboard típico, com os seus diversos medi-dores e gráficos. Este dashboard mostra quatro gráfico tipo "velocímetro"onde são mostradosalguns indicadores com uma escala de cores que ajuda a determinar se o valor do indicador estádentro dos limites aceitáveis (verde) ou fora desses limites (vermelho). Além dos "velocíme-tros", este dashboard apresenta também duas tabelas de valores e um gráfico. Na nossa modesta

    31

  • 5. Análise de Plataformas Business Intelligence Open Source

    Figura 5.9.: Página principal após login válido na aplicação

    opinião, pensamos que no geral a interface do SpagoBI tem um aspecto visual menos cuidadoque a do Pentaho, embora seja também bastante funcional.

    Figura 5.10.: Página de dashboard do SpagoBI

    Os documentos do SpagoBI podem ser personalizados e as suas propriedades consultadas ealteradas na própria aplicação. No entanto, para o desenvolvimento de soluções de BI comple-tas, recomenda-se a utilização do SpagoBI Studio, o programa dedicado à edição e criação derelatórios e outros documentos capazes de ser integrados no SpagoBI Server.

    Na Figura 5.11 mostra-se a interface de alteração das propriedades dos documentos a partir do

    32

  • 5.4. SpagoBI 2.4.0

    SpagoBI Server. Nesta interface as propriedades são apresentadas à esquerda (Nome e descrçãodo documento, tipo de documento, motor responsável pela respectiva execução, estado e outras)e à direita é mostrada uma árvore onde o documento pode ser colocado. Essa árvore é depoisapresentada aos utilizadores.

    Figura 5.11.: Propriedades de um documento SpagoBI

    Do ponto de vista das análises, as capacidades oferecidas pelo SpagoBI são as mesmas doPentaho, já que ambos usam o mesmo componente (JPivot) para mostrar os resultados. É,portanto, possível editar queries MDX, opções de gráficos e alterar os parâmetros dos cubosOLAP a partir da tabela de dados.

    Embora possam ser definidos novos documentos a partir da interface da aplicação, esta ope-ração é confusa, pois exige um grande número de etapas em que se vão definindo os diversoscomponentes de um relatório (por exemplo) até se conseguir definir o relatório com base nessescomponentes.

    Um componente presente nesta plataforma e que não aparece nas outras plataformas avali-adas, é um motor de QbE (Query-by-Example) que permite definir uma consulta a partir dedados de exemplo.

    Todos estes pacotes, tanto dos componentes como do SpagoBI Studio, estão disponíveis paradownload no repositório do SpagoBI. A Tabela 5.2 apresenta os componentes da solução Spa-goBI

    Quanto aos idiomas disponíveis, o SpagoBI oferece o Italiano, Inglês, Francês e Espanhol.,disponíveis para todos os utilizadores. Em termos de ajuda ou apoio disponíveis na Internet,

    33

  • 5. Análise de Plataformas Business Intelligence Open Source

    Tabela 5.2.: Componentes da plataforma SpagoBIComponente Função

    BIRT Report Engine Execução e apresentação de relatóriosGeo Engine Tratamento de informação geo-referenciadaGeoReport Engine Execução e apresentação de relatórios com

    informação geo-referenciadaJasperReport Engine Execução e apresentação de relatóriosJPalo Cliente OLAPJPivot Cliente OLAPJPXMLA Engine Servidor OLAP baseado em XMLAMondrian Servidor OLAPOpen Talend Studio Criação de processos de ETLQbE Engine Permite o desenvolvimento de queries de um modo

    intuitivoWeka Engine Componente de Data Mining

    existe um Wiki [Spago, 2010b], um Fórum [Spago, 2010c], o gestor de bugs [Spago, 2010d] euma lista de correio [Spago, 2010e].

    5.5. OpenI 2.0

    Este projecto é o resultado da publicação em 2005 do código de uma anterior aplicação deBI sob uma licença Open Source. Posiciona-se como uma solução particularmente adaptadaao mercado SaaS (Software as a Service) e o seu desenvolvimento não é coordenado por umaempresa, mas sim por um conjunto de programadores através do SourceForge. Tal como oSpagoBI, esta plataforma apresenta apenas uma edição do software.

    Mais uma vez, são usadas a linguagem Java e a tecnologia JSP para desenvolver a plataforma,como tal, necessita de um servidor de aplicações Java como o Apache Tomcat ou o RedHatJBoss para ser executada.

    Ao contrário das outras plataformas, a equipa de desenvolvimento da plataforma OpenI nãodesenvolve nenhuma ferramenta associada para criar relatórios ou desenvolver os processos deETL. Esta plataforma também não inclui nenhum componente de ETL nem de Data Mining,mas inclui o servidor OLAP Mondrian e o motor de relatórios JasperReports. Para desenvolveros relatórios e análises pode ser usado, por exemplo, o Jasper Report Designer [Jasper, 2010].

    O conjunto de idiomas disponíveis também é fora do comum, apresentando o Inglês, o Hindi

    34

  • 5.5. OpenI 2.0

    e o Português Brasileiro como alternativas linguísticas de interface, justificadas pela nacionali-dade dos programadores de referência do projecto.

    A Figura 5.12 apresenta a interface de login na plataforma OpenI.

    Figura 5.12.: Login no OpenI

    A principal diferença em termos de interface do OpenI para as outras plataformas advémda incapacidade deste programa apresentar os dados e o respectivo gráfico simultaneamente namesma janela. Esta limitação torna o seu uso como plataforma interactiva de análise de dadosum pouco mais complicado que as outras alternativas.

    Na Figura 5.13 mostra-se um exemplo de análise, em que se nota a distinção entre a vista de"Gráfico"e a de "Tabela".

    As propriedades das análises estão disponíveis para inspecção e alteração, assim como aquery MDX subjacente, já que, como as outras plataformas incluídas nesta análise, o OpenI usao JPivot e o JFreeChart. Ao contrário das outras plataformas, a exportação dos dados a partirdo OpenI contempla apenas os formatos PDF e Microsoft Excel.

    No repositório do OpenI estão disponíveis, além do pacote de demonstração, duas versõesda plataforma optimizadas para cada um dos servidores de aplicações Apache Tomcat e RedhatJBoss, e o código-fonte da plataforma. Os pacotes disponíveis não incluem os componentesem separado, mas apenas o código-fonte do conjunto da plataforma. A demonstração inclui

    35

  • 5. Análise de Plataformas Business Intelligence Open Source

    Figura 5.13.: Exemplo de análise no OpenI. Nota-se a distinção entre "Dados"e "Gráfico"em cima e àesquerda do gráfico.

    o Apache Tomcat e o ambiente de execução Java, tanto para Microsoft Windows como paraLinux, e vem pré-definida apenas com o utilizador de administração.

    5.6. Resumo das plataformas

    A Tabela 5.3 mostra algumas características das três plataformas em análise. Muito do códigoé partilhado entre as plataformas devido à partilha de componentes, seja por inclusão directa docódigo, seja por aquisição do componente a outra equipa. Como exemplo do primeiro, temos aintegração do Talend Open Studio na plataforma SpagoBI, como exemplo do segundo, podemosreferir o desenvolvimento do Pentaho Data Integration a partir do projecto Kettle. Esta partilhade código e até de conceitos e ideias é um dos fundamentos do movimento Open Source e criastandards de facto no universo das plataformas Open Source de Business Intelligence, sendo omelhor exemplo o servidor OLAP Mondrian. Mesmo o uso quase em exclusivo da linguagemde programação Java e das Java Server Pages mostram a troca de experiências entre os diversosprojectos.

    5.7. Usabilidade das Plataformas

    Além da apreciação das demonstrações pré-configuradas, foi também testada a criação de docu-mentos adicionais, ligados a uma fonte de dados diferente da que está incluída na demonstração

    36

  • 5.7. Usabilidade das Plataformas

    Tabela 5.3.: Características das plataformas Open Source BICaracterística OpenI Pentaho SpagoBI

    Licença Open Source (GPL) Duplo licenciamento: Open Source (GPL)comercial e Open Source

    Linguagem de Java Java JavadesenvolvimentoServidor de Apache Tomcat, Apache Tomcat, Apache Tomcat,aplicações Redhat JBoss Oracle Glassfish, Oracle Glassfish,

    Redhat JBoss Redhat JBossServidor OLAP Mondrian Mondrian MondrianFerramenta de ETL nenhuma Pentaho Data Integration Talend Open StudioMotor de relatórios Jasper Reports JFree Reports BIRT e JasperReportsData Mining nenhuma Weka Weka

    no sentido de descobrir a plataforma mais simples de usar por parte de utilizadores não técnicosou com pouca experiência nesta área.

    Como já foi referido, num ambiente de produção é aconselhado o uso de aplicações externaspara desenvolver os documentos e publicá-los no servidor de Business Intelligence. Antes dedesenvolver os documentos, foi criada uma base de dados de exemplo, constituída por umatabela de factos para armazenar valores de quantidade vendida e valor de venda e três dimensões,Cliente, Produto e Tempo. Estes dados de exemplo foram guardados num servidor MySQL5.1.50 a correr no mesmo computador do servidor de Business Intelligence.

    A criação dos documentos de análise (relatórios, gráficos, dashboards) varia conforme a pla-taforma em causa e foi testada nas três plataformas. Para a criação dos documentos foram usadasas versões de demonstração, uma vez que o código dos servidores de Business Intelligence éo mesmo das versões "stand-alone"e estão já configurados com alguns dados de exemplo, tor-nando mais simples a sua utilização e adaptação para usar o servidor de base de dados referidoanteriormente como fonte de dados.

    5.7.1. Pentaho Business Intelligence Server

    Antes de criar os documentos e respectivas queries de suporte, é necessário criar a ligação dedados que vai permitir o acesso aos dados por parte do servidor de Business Intelligence. Paraesta tarefa é necessário aceder à opção "Database Connections"na aplicação de administração doservidor, "Administration Console", e definir o nome pelo qual esta ligação será posteriormente

    37

  • 5. Análise de Plataformas Business Intelligence Open Source

    conhecida e os parâmetros necessários (servidor, base de dados, utilizador e palavra-chave).

    Ao iniciar o "Pentaho Design Studio", a ferramenta recomendada pela Pentaho para desen-volver as soluções de Business Intelligence ligadas as servidor Pentaho, tem que definir-se umespaço de trabalho (workspace) que deverá corresponder à localização no sistema de ficheirosonde estão alojados os documentos analíticos. Neste espaço de trabalho pode depois criar-se umdocumento que se deseje e publicá-lo no servidor. A operação de publicação tem como objec-tivo torná-lo visível para os utilizadores da solução de Business Intelligence. Após a publicação,o documento aparece na árvore de documentos e pode ser visualizado com um duplo-clique nonome. Na Figura 5.14 apresenta-se um aspecto da edição de documentos no "Pentaho DesignStudio".

    Figura 5.14.: Edição de um documento no Pentaho Design Studio

    No âmbito do teste das plataformas, foi criada uma "Action Sequence"(um documento doPentaho) com o objectivo de mostrar o resultado de uma query de um modo visual através darepresentação em forma de gráfico tipo "velocímetro". O documento foi criado e publicadono servidor com sucesso, embora a visualização não tenha sido conseguida como pretendido,apenas se conseguindo visualizar o resultado da query de forma textual, como se mostra naFigura 5.15.

    Em resumo, o método de criação de documentos não é muito complicado, embora tenha algu-mas particularidades que possam criar problemas, especialmente porque algumas opções maisavançadas apenas podem ser configuradas editando o ficheiro XML directamente, contornandoa interface de desenvolvimento, o que obriga ao conhecimento completo da especificação do

    38

  • 5.7. Usabilidade das Plataformas

    Figura 5.15.: Resultado do documento de teste no Pentaho

    formato de XML válido.

    5.7.2. SpagoBI

    Na criação de documentos do SpagoBI usam-se funcionalidades da plataforma e também umaaplicação externa, chamada "SpagoBI Studio"que permite o design dos documentos.

    As funcionalidades da plataforma necessárias incluem a criação de ligações às Bases de Da-dos, criação de "DataSets"e outros objectos de base necessários à criação do documento final.Estas funcionalidades estão disponíveis na interface do SpagoBI ao fazer-se o login com umutilizador com permissões de administrador. Devem criar-se os objectos de base antes de ten-tar criar o documento propriamente dito, nomeadamente as ligações às Bases de Dados ("DataSources") e queries necessárias ("Data Sets"). O documento é criado com a ajuda do SpagoBIStudio, embora possa ser editado aprenas com um editor de texto, uma vez que se trata deficheiros XML.

    O SpagoBI Studio consegue criar relatórios nos formatos BIRT (para serem apresentadosatravés do SpagoBIBirtReportEngine) e Jasper (SpagoBIJasperReportEngine), relatórios cominformação georeferenciada (para o SpagoBIGeoReportEngine), dashboards e gráficos de vá-rios tipos, bem como documentos compostos por outros documentos.

    O processo de criação de relatórios do formato Jasper exige a presença do programa "iRe-port", os outros tipos de documentos podem ser editados directamente no SpagoBI Studio. NaFigura 5.16 apresenta-se um aspecto do SpagoBI Studio.

    Após a criação do documento é necessário copiá-lo para o servidor, para que apareça dispo-

    39

  • 5. Análise de Plataformas Business Intelligence Open Source

    Figura 5.16.: Edição de um documento no SpagoBI Studio

    nível na lista de documentos. Foi tentada a criação de um documento de análise que pretendiamostrar de modo visual (sob a forma de gráfico "velocímetro") o resultado de uma query simplesexecutada sobre os dados de exemplo.

    O resultado final, embora melhor que o obtido no Pentaho, ficou ainda assim aquém do espe-rado, pois apareceram alguns "artefactos"na escala do gráfico. Com uma análise mais completaao formato do ficheiro XML e verificação cuidada das respectivas propriedades, poder-se-ia terobtido um resultado mais satisfatório. Na Figura 5.17 apresenta-se o resultado da execuçãodeste documento.

    Figura 5.17.: Resultado do documento de teste no SpagoBI

    40

  • 5.7. Usabilidade das Plataformas

    Na plataforma SpagoBI o processo de criação de documentos é muito semelhante ao Pen-taho, não sendo complicado mas podendo exigir alguma edição dos ficheiros XML para algumcaso mais específico. Tanto o SpagoBI Studio como o Pentaho Design Studio são baseados nopopular editor Eclipse [Eclipse ,2010].

    5.7.3. OpenI

    Para criar um documento no OpenI, começa-se por configurar a ligação à Base de Dados , atra-vés do menu "Preferências", opção "Data Sources". Uma vez que esta plataforma não oferecea capacidade de criar dashboards a partir de fontes de dados relacionais, foi tentada a criaçãode um relatório que apresente o resultado de uma query. Os dados e a query usados foramos mesmos que nas outras duas plataformas. De acordo com a documentação da plataforma,é recomendado usar o programa JasperSoft iReport Designer [Jasper, 2010] para a criação dorelatório. Após a criação do relatório nesse programa (é uma operação relativamente simples,pois dispõe-se de um wizard para ajudar nesta tarefa), a publicação do documento faz-se atravésda interface web da plataforma, opção "Gerenciar Arquivos"do menu "Preferências". Na Figura5.18 mostra-se um aspecto da edição de um relatório no JasperSoft iReport Designer.

    Figura 5.18.: Edição de um relatório no JasperSoft iReport Designer

    Nesta plataforma, o resultado obtido correspondeu às expectativas, não havendo necessidadede editar o ficheiro XML manualmente. É necessário apenas confirmar a fonte de dados associ-ada ao relatório através da interface da plataforma, estando o resultado obtido representado naFigura 5.19.

    Em resumo, embora a plataforma OpenI não tenha as mesmas capacidades de visualizaçãode informação que as outras duas plataformas, é muito simples criar relatórios.

    41

  • 5. Análise de Plataformas Business Intelligence Open Source

    Figura 5.19.: Resultado do documento de teste no OpenI

    No global, é relativamente simples criar documentos nas várias plataformas, embora nemsempre os resultados sejam os melhores. A ligação a fontes de dados relacionais é fácil deefectuar, sendo um processo simples em todas as plataformas.

    A criação de novos cubos OLAP no servidor Mondrian incluído na demonstração das váriasplataformas revelou-se complicada e não se obtiveram resultados que permitissem criar docu-mentos que obtivessem os dados nesses cubos OLAP.

    5.8. Actividade das equipas de desenvolvimento.

    Ao optar por uma plataforma de Business Intelligence Open Source, é fundamental que setenha um conhecimento seguro da actividade da respectiva equipa de desenvolvimento e dostempos habituais para lançamento de versões. Normalmente os projectos desenvolvidos poruma empresa, de acordo com o modelo do Pentaho, têm um calendário de lançamentos maisregular, ao passo que os projectos desenvolvidos pela comunidade têm períodos de actividademais irregulares, com momentos de grande actividade e outras alturas menos produtivas.

    Esta situação verifica-se também em relação a estas três plataformas, se observarmos os seuscalendários de lançamento em 2009 e 2010.

    Nestes últimos dois anos, a plataforma Pentaho teve 5 lançamentos, com intervalos de cercade três meses entre cada um, passando da versão 2.0.0 para a 3.6.0, a equipa do SpagoBI realizouo lançamento de dez versões, com intervalos que oscilam entre alguns dias e quatro meses,avançando da versão 1.9.3 para a 2.7.0 e o OpenI não teve senão 4 lançamentos de versõesde desenvolvimento da série 2.0 com o lançamento mais recente a ocorrer em Setembro de2009. As figuras 5.20 a 5.22 mostram uma linha de tempo dos lançamentos de cada uma dasplataformas. A Figura 5.20 apresenta os lançamentos das cinco versões estáveis do Pentaho.

    42

  • 5.8. Actividade das equipas de desenvolvimento.

    Figura 5.20.: Lançamentos do Pentaho em 2009 e 2010

    Entre as versões 2.x e 3.x houve alterações a nível de arquitectura do servidor e componentesincluídos na distribuição, nomeadamente a nível de componentes para mostrar gráficos em Flashe no componente de ETL. Ao longo das versões 3.x, as alterações consistem essencialmenteem correcção de problemas ("bugs") e melhorias ao nível de interface, idiomas suportados eintegração com os servidores de aplicações. Na Figura 5.21 são apresentados os lançamentosdo SpagoBI em 2009 e 2010, totalizando dez versões estáveis.

    Figura 5.21.: Lançamentos do SpagoBI em 2009 e 2010

    A transição entre as versões 1.9.x e 2.0 incidiu especialmente em novos motores (incluindo omotor de informação geo-referenciada), mudanças na arquitectura da plataforma e implemen-tação de funcionalidades independentes da plataforma onde é executado. Ao longo das versões2.x, foram sendo implementadas melhorias nos motores existentes e também nas aplicações deapoio, como o SpagoBI Studio. Na Figura 5.22 mostram-se os lançamentos do OpenI. Comoesta plataforma não teve lançamentos oficiais em 2009 e 2010, apresentam-se os lançamentosde desenvolvimento da série 2.0.

    Figura 5.22.: Lançamentos de desenvolvimento da série 2.0 do OpenI, em 2009 e 2010

    A plataforma OpenI sofreu uma completa remodelação, tanto em termos de características

    43

  • 5. Análise