Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy

6.200 visualizações

Publicada em

Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy

Publicada em: Dados e análise
  • Seja o primeiro a comentar

Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy

  1. 1. [Projeto B.I – Grupo Sage] Pentaho CE Multi Tenancy
  2. 2. l 2/28 Agenda l Apresentação Pessoal/Profissional l Conceito/Ideia Multi Tenancy l Case Grupo Sage – Pentaho Multi Tenancy l Resultados
  3. 3. Apresentação Pessoal e Profissional Vinicius Alexandre Elyseu 24 anos - Curitiba – PR. Formação - Sistemas de Informação (Universidade Positivo – 2011 – Curitiba PR). - MBA Business Intelligence (Universidade Positivo – 2014 – Curitiba PR). Experiências Profissionais - Grupo Sage: EBS Sistemas – Analista de Sistemas/B.I - Grupo Positivo: Tecnologia Educacional – Desenvolvedor - Grupo Barigui: Barigui Financeira – Analista de Sistemas Demais Experiências/Projetos - Blog: pentahobrazil.wordpress.com.br - Empresa: Millennials – Consultoria em BI - Central do Jogo: www.centraldojogo.com.br - Entre outros l 3/28
  4. 4. Apresentação Grupo Sage O Grupo Sage é uma multinacional, líder mundial no desenvolvimento e comercialização de Software de Gestão para Pequenas e Médias Empresas (PME). Conta com mais de 6 milhões de clientes em todo o Mundo. Grupo Sage Brasil: Formado pela junção de três grandes empresas EBS Sistemas IOB FOLHAMATIC Principais Segmentos: Contábil ERP Consultoria Tributária l 4/28 Mais de 40.000 mil clientes
  5. 5. Case Grupo Sage Situação Projeto em parceria O objetivo do Grupo Sage é implantar B.I em um software ERP existente onde mais de 800 clientes já o utilizam. CARACTERÍSTICA PRINCIPAL: Todo processo deve estar automatizado. O software possui a mesma estrutura de tabelas e cada instalação é realizada no próprio servidor do cliente. Para implantar o B.I em cada servidor precisaríamos instalar a ferramenta de B.I, banco de dados e outros requisitos. Porém utilizando esse formato de projeto a implantação seria longa e muitas vezes inviável. COMO FAZER ISTO DE MANEIRA ÁGIL E COM BAIXO CUSTO? l 5/28
  6. 6. Conceito Multi Tenancy UTILIZANDO O CONCEITO MULTI-TENANCY (Multi-Inquilinos/Clientes) O Conceito multi-tenancy vem de princípios da arquitetura de software, a fim de padronizar, otimizar e minimizar estruturas e ideias. A ideia do conceito é ter um único Servidor de B.I servindo diversos clientes. l 6/28
  7. 7. Conceito Multi Tenancy Multi-Tenancy: Multi-Inquilinos Os Clientes utilizam (No Servidor) a mesma: → Aplicação → Sistema operacional → Hardware → Banco de dados. Porém de maneira que um usuário de um “Tenant” não possa ver ou alterar os dados de outros “Tenants”. l 7/28
  8. 8. Pentaho Multi Tenancy Infraestrutura Utilizada O Grupo Sage possui dois servidores externos em Nuvem na Amazon. 1- Servidor de Aplicação (WebService - Windows). 2- Servidor de B.I (Pentaho e MySQL - Linux). l 8/28 SERVIDORES
  9. 9. Pentaho Multi Tenancy Servidor B.I – Banco de Dados COMO O SERVIDOR DE BI VAI DIFERENCIAR OS DADOS DE CADA CLIENTE? Cada cliente terá o seu Datawarehouse em um database (MySQL) com seu código de identificação que é o Código do Cliente. l 9/28
  10. 10. Pentaho Multi Tenancy Envio dos dados do Cliente MAS COMO OS DADOS SERÃO ENVIADOS A ESTE SERVIDOR? Servidor do Cliente: Roda um processo de ETL (Kettle) que gera arquivos CSV (Ex: 10123-clientes.csv) com os dados do BD do Cliente. Processo feito quando o cliente habilita/compra o B.I Após a geração dos arquivos, o Kettle os envia para o Servidor de Aplicação através de um WebService (utiliza a mesma porta do HTTP). O Servidor de Aplicação roda um processo de ETL (Kettle) de 15 em 15 minutos que lê os arquivos CSV, identifica qual o cliente através do nome do arquivo, cria o datawarehouse do cliente, se necessário, e insere os dados do cliente no Servidor de B.I. l 10/28
  11. 11. Pentaho Multi Tenancy Funcionamento Servidores Servidor do B.I (Pentaho e MySQL): Responsável por administrar o Pentaho e o Banco de dados. Servidor de aplicação (WebService): Responsável por receber os dados e enviar via ETL (Kettle) para o banco de dados no Servidor do B.I. l 11/28
  12. 12. Pentaho Multi Tenancy Processo Kettle (Servidor Aplicação) De 15 em 15 minutos roda o processo ETL (Kettle) no Servidor de aplicação Recebe parâmetro de Código do Cliente através do nome do arquivo Cria o DatawareHouse no MySQL Cria as configurações do DW no HSQLDB Datawarehouse_CodCliente l 12/28
  13. 13. Pentaho Multi Tenancy Processo Criação DW PAC l 13/28
  14. 14. Pentaho Multi Tenancy Criação de Usuários no HSQLDB Criação automatizada dos usuários para integração: no Banco de dados HSQLDB (InMemory) do Pentaho l 14/28
  15. 15. Pentaho Multi Tenancy Criação de Usuários no HSQLDB l 15/28
  16. 16. Pentaho Multi Tenancy Cache do Hibernate Após a criação/atualização dos usuários pelo Kettle, subentende-se que o usuário já poderá acessar o sistema com seu login, porém o Pentaho tem um cache que só pega novos usuários quando o servidor do pentaho é reiniciado. Para solucionar este problema, temos que desabilitar o cache do Hibernate. Para desabilitar o mesmo: ir até o arquivo applicationContext-spring-security-hibernate.xml que no meu caso fica no diretório C:optpentahobiserver-cepentaho-solutionssystem e adicionar uma nova propriedade dentro da tag XML: <property name=”hibernateProperties”> e <props> após a última <prop> l 16/28
  17. 17. Pentaho Multi Tenancy Cache do Hibernate Vale lembrar que esta situação só acontece para versões inferiores a 5.0. Quem utiliza superior ou igual a 5.0 não precisa fazer esta customização l 17/28
  18. 18. Pentaho Multi Tenancy Acesso Clientes l 18/28
  19. 19. Pentaho Multi Tenancy Desabilitar Cache CDA Em todos os DataSources, alterar a propriedade Cache para false, devido a inexistência de suporte do cache do CDA ao Multi-Tenancy l 19/28
  20. 20. Pentaho Multi Tenancy Diferenciação dos dados MAS COMO O PENTAHO VAI BUSCAR E MOSTRAR OS DADOS CORRETOS PARA O USUÁRIO AUTENTICADO ? l 20/28
  21. 21. Pentaho Multi Tenancy Customizações no Servidor do B.I Para que seja possível utilizar a estrutura de acessos com o conceito Mutli Tenancy, é necessário mudar o código de um arquivo. Editar o arquivo pentahoObjects.sprint.xml que fica no diretório do /pentaho/biserver-ce/pentaho-solutions/system/ com as seguintes alterações: → Localizar a tag <bean “IdatasourceService”>, comentá-la ou retirá-la. l 21/28
  22. 22. Pentaho Multi Tenancy Customizações no Servidor do B.I Adicionar o seguinte código: <bean id="IDatasourceService" class="org.pentaho.platform.engine.services.connection.datasource.dbcp. tenantaware.TenantAwareLoginParsingDatasourceService" scope="singleton"> <property name="requireTenantId" value="false" /> (TENANT) <property name="datasourceNameFormat" value="{0}-{1}" /> (PAC) <property name="tenantSeparator" value="@" /> (USUÁRIO@BASE – PUC) <property name="tenantOnLeft" value="false" /> (CONSIDERA DIREITA DO @) </bean> l 22/28
  23. 23. Pentaho Multi Tenancy Visualização após Autenticação utilizando CST l 23/28
  24. 24. Pentaho Multi Tenancy Visualização após Autenticação utilizando CST Vale lembrar que todas as ferramentas do Pentaho Server estarão disponíveis para os clientes utilizarem respeitando o conceito Multi- Tenancy. -> OLAP (SAIKU, Jpivot, etc…) -> Reporter (PRD, SAIKU Report, etc…) -> MetaDados (PME, etc…) -> Dashboards (Ctools, etc…) l 24/28
  25. 25. Pentaho Multi Tenancy Vantagens e Benefícios Custo - Baixo número de servidores; Consequentemente: número de licenças de S.O e número de SGDB reduzido; Agilidade - Estrutura de implantação nos clientes é genérica; - Fácil implantação nos clientes; - Projeto de curto/médio prazo; - Manutenção no Servidor de B.I é ágil porque só existe uma estrutura Mobilidade - Pode acessar de qualquer dispositivo que tenha conexão a internet; l 25/28
  26. 26. Pentaho Multi Tenancy Desvantagens Manutenção -Se acontecer algum problema no Servidor de B.I, como a estrutura é única, irá afetar todos os clientes; -Complexidade em controlar a troca de informações do Cliente x Servidor; Customização - Não é customizável por cliente devido ter a mesma estrutura para todos; (DashBoards pré-definidos); l 26/28
  27. 27. Pentaho Multi Tenancy Custo aproximado Recursos e Custo l Tempo de projeto: 4 meses l Custo por Servidor Externo (média mensal): Amazon “m1.large” l $180 x 2 = $360 x 2.20 = R$ 792,00 l Homens mês: Um analista de B.I (Média R$ 5.000,00) l Curso e consultoria: R$ 225,00/h (Se necessário) l 27/28
  28. 28. Pentaho Multi Tenancy Contato Dúvidas e/ou Sugestões? Contato: vinicius_cwb@hotmail.com (41) 9993-4377 Blog: pentahobrazil.wordpress.com.br Obrigado, Vinicius Alexandre Elyseu l 28/28 www.millennialscwb.com.br

×