Palestra Pentaho Day 2014 - Universidade de São Paulo
Citation preview
1. 1 [Projeto B.I Grupo Sage] Pentaho CE Multi Tenancy
2. l 2/28 Agenda l Apresentao Pessoal/Profissional l
Conceito/Ideia Multi Tenancy l Case Grupo Sage Pentaho Multi
Tenancy l Resultados
3. Apresentao Pessoal e Profissional Vinicius Alexandre Elyseu
24 anos - Curitiba PR. Formao - Sistemas de Informao (Universidade
Positivo 2011 Curitiba PR). - MBA Business Intelligence
(Universidade Positivo 2014 Curitiba PR). Experincias Profissionais
- Grupo Sage: EBS Sistemas Analista de Sistemas/B.I - Grupo
Positivo: Tecnologia Educacional Desenvolvedor - Grupo Barigui:
Barigui Financeira Analista de Sistemas Demais Experincias/Projetos
- Blog: pentahobrazil.wordpress.com.br - Curso de B.I: Pentaho
Ambiente Livre - Central do Jogo: www.centraldojogo.com.br - Entre
outros l 3/28
4. Apresentao Grupo Sage O Grupo Sage uma multinacional, lder
mundial no desenvolvimento e comercializao de Software de Gesto
para Pequenas e Mdias Empresas (PME). Conta com mais de 6 milhes de
clientes em todo o Mundo. l 4/28 Grupo Sage Brasil: Formado pela
juno de trs grandes empresas EBS Sistemas IOB FOLHAMATIC Principais
Segmentos: Contbil ERP Consultoria Tributria Mais de 40.000 mil
clientes
5. Case Grupo Sage Situao O software possui a mesma estrutura
de tabelas e cada instalao realizada no prprio servidor do cliente.
Para implantar o B.I em cada servidor precisaramos instalar a
ferramenta de B.I, banco de dados e outros requisitos. Porm
utilizando esse formato de projeto a implantao seria longa e muitas
vezes invivel. l 5/28 O objetivo do Grupo Sage implantar B.I em um
software ERP existente onde mais de 800 clientes j o utilizam.
CARACTERSTICA PRINCIPAL: Todo processo deve estar automatizado.
COMO FAZER ISTO DE MANEIRA GIL E COM BAIXO CUSTO? Projeto em
parceria
6. Conceito Multi Tenancy O Conceito multi-tenancy vem de
princpios 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 UTILIZANDO O
CONCEITO MULTI-TENANCY (Multi-Inquilinos/Clientes)
7. Conceito Multi Tenancy Multi-Tenancy: Multi-Inquilinos Os
Clientes utilizam a mesma: Aplicao Sistema operacional Hardware
Banco de dados. Porm de maneira que um usurio de um Tenant no possa
ver ou alterar os dados de outros Tenants. l 7/28
8. Pentaho Multi Tenancy Infraestrutura Utilizada O Grupo Sage
possui dois servidores externos em Nuvem na Amazon. 1- Servidor de
Aplicao (WebService - Windows). 2- Servidor de B.I (Pentaho e MySQL
- Linux). l 8/28 SERVIDORES
9. Pentaho Multi Tenancy Servidor B.I Banco de Dados l 9/28
Cada cliente ter o seu Datawarehouse em um database (MySQL) com seu
cdigo de identificao que o Cdigo do Cliente. COMO O SERVIDOR DE BI
VAI DIFERENCIAR OS DADOS DE CADA CLIENTE?
10. Pentaho Multi Tenancy Envio dos dados do Cliente 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 Aps a gerao dos
arquivos, o Kettle os envia para o Servidor de Aplicao atravs de um
WebService (utiliza a mesma porta do HTTP). O Servidor de Aplicao
roda um processo de ETL (Kettle) de 15 em 15 minutos que l os
arquivos CSV, identifica qual o cliente atravs do nome do arquivo,
cria o datawarehouse do cliente, se necessrio, e insere os dados do
cliente no Servidor de B.I. l 10/28 MAS COMO OS DADOS SERO ENVIADOS
A ESTE SERVIDOR?
11. Funcionamento/Estrutura Multi Tenancy Servidor do B.I
(Pentaho e MySQL): Responsvel por administrar o Pentaho e o Banco
de dados. Servidor de aplicao (WebService): Responsvel por receber
os dados e enviar via ETL (Kettle) para o banco de dados no
Servidor do B.I. l 11/28
12. Pentaho Multi Tenancy Processo Kettle (Servidor Aplicao) l
12/28 De 15 em 15 minutos roda o processo ETL (Kettle) no Servidor
de aplicao Recebe parmetro de Cdigo do Cliente atravs do nome do
arquivo Cria o DatawareHouse no MySQL Cria as configuraes do DW no
HSQLDB Datawarehouse_CodCliente
13. Pentaho Multi Tenancy Processo Criao DW PAC l 13/28
14. Pentaho Multi Tenancy Criao de Usurios no HSQLDB Criao
automatizada dos usurios para integrao: USER@CODCLIENTE no Banco de
dados HSQLDB (InMemory) do Pentaho l 14/28
15. Pentaho Multi Tenancy Criao de Usurios no HSQLDB l
15/28
16. Pentaho Multi Tenancy Cache do Hibernate Aps a
criao/atualizao dos usurios pelo Kettle, subentende-se que o usurio
j poder acessar o sistema com seu login, porm o Pentaho tem um
cache que s pega novos usurios 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 diretrio C:optpentahobiserver-cepentaho-solutionssystem e
adicionar uma nova propriedade dentro da tag XML: e aps a ltima l
16/28
17. Pentaho Multi Tenancy Cache do Hibernate l 17/28 Vale
lembrar que esta situao s acontece para verses inferiores a 5.0.
Quem utiliza superior ou igual a 5.0 no precisa fazer esta
customizao
18. Pentaho Multi Tenancy Acesso Clientes l 18/28
19. Pentaho Multi Tenancy Desabilitar Cache CDA l 19/28 Em
todos os DataSources, alterar a propriedade Cache para false,
devido a inexistncia de suporte do cache do CDA ao
Multi-Tenancy
20. l 20/28 MAS COMO O PENTAHO VAI BUSCAR E MOSTRAR OS DADOS
CORRETOS PARA O USURIO AUTENTICADO ? Pentaho Multi Tenancy
Diferenciao dos dados
21. Pentaho Multi Tenancy Customizaes no Servidor do B.I Para
que seja possvel utilizar a estrutura de acessos com o conceito
Mutli Tenancy, necessrio mudar o cdigo de um arquivo. Editar o
arquivo pentahoObjects.sprint.xml que fica no diretrio do
/pentaho/biserver-ce/pentaho-solutions/system/ com as seguintes
alteraes: Localizar a tag , coment-la ou retir-la. l 21/28
22. Pentaho Multi Tenancy Customizaes no Servidor do B.I
Adicionar o seguinte cdigo: (TENANT) (PAC) (USURIO@BASE PUC)
(CONSIDERA DIREITA DO @) l 22/28
23. Pentaho Multi Tenancy Visualizao aps Autenticao utilizando
CST l 23/28
24. Pentaho Multi Tenancy Visualizao aps Autenticao utilizando
CST l 24/28 Vale lembrar que todas as ferramentas do Pentaho Server
estaro disponveis para os clientes utilizarem respeitando o
conceito Multi- Tenancy. -> OLAP (SAIKU, Jpivot, etc) ->
Reporter (PRD, SAIKU Report, etc) -> MetaDados (PME, etc) ->
Dashboards (Ctools, etc)
25. Custo - Baixo nmero de servidores; Consequentemente: nmero
de licenas de S.O e nmero de SGDB reduzido; Agilidade - Estrutura
de implantao nos clientes genrica; - Fcil implantao nos clientes; -
Projeto de curto/mdio prazo; - Manuteno no Servidor de B.I gil
porque s existe uma estrutura Mobilidade Pentaho Multi Tenancy
Vantagens e Benefcios - Pode acessar de qualquer dispositivo que
tenha conexo a internet; l 25/28
26. Manuteno -Se acontecer algum problema no Servidor de B.I,
como a estrutura nica, ir afetar todos os clientes; -Complexidade
em controlar a troca de informaes do Cliente x Servidor; Customizao
- No customizvel por cliente devido ter a mesma estrutura para
todos; (DashBoards pr-definidos); Pentaho Multi Tenancy
Desvantagens l 26/28
27. Pentaho Multi Tenancy Custo aproximado Recursos e Custo l
Tempo de projeto: 4 meses l Custo por Servidor Externo (mdia
mensal): Amazon m1.large l $180 x 2 = $360 x 2.20 = R$ 792,00 l
Homens ms: Um analista de B.I (Mdia R$ 5.000,00) l Curso e
consultoria: R$ 225,00/h (Se necessrio) l 27/28