SlideShare uma empresa Scribd logo
1 de 28
[Projeto B.I – Grupo Sage] 
Pentaho CE 
Multi Tenancy
l 2/28 
Agenda 
l Apresentação Pessoal/Profissional 
l Conceito/Ideia Multi Tenancy 
l Case Grupo Sage – Pentaho Multi Tenancy 
l Resultados
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
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
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
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
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
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
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
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
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
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
Pentaho Multi Tenancy 
Processo Criação DW PAC 
l 13/28
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
Pentaho Multi Tenancy 
Criação de Usuários no HSQLDB 
l 15/28
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
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
Pentaho Multi Tenancy 
Acesso Clientes 
l 18/28
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
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
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
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
Pentaho Multi Tenancy 
Visualização após Autenticação utilizando CST 
l 23/28
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
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
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
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
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

Mais conteúdo relacionado

Mais procurados

Pentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livrePentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livreCaio Moreno
 
Criando Indicadores de Negócios com o Pentaho na Globo.com
Criando Indicadores de Negócios com o Pentaho na Globo.comCriando Indicadores de Negócios com o Pentaho na Globo.com
Criando Indicadores de Negócios com o Pentaho na Globo.comPentahoBrasil
 
Gleidson rodrigues apresentação profissional
Gleidson rodrigues   apresentação profissionalGleidson rodrigues   apresentação profissional
Gleidson rodrigues apresentação profissionalGleidson Rodrigues
 
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...Ambiente Livre
 
Estilização do Pentaho BI Server
Estilização do Pentaho BI ServerEstilização do Pentaho BI Server
Estilização do Pentaho BI ServerIT4biz IT Solutions
 

Mais procurados (7)

Pentaho
PentahoPentaho
Pentaho
 
Pentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livrePentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livre
 
Criando Indicadores de Negócios com o Pentaho na Globo.com
Criando Indicadores de Negócios com o Pentaho na Globo.comCriando Indicadores de Negócios com o Pentaho na Globo.com
Criando Indicadores de Negócios com o Pentaho na Globo.com
 
Gleidson rodrigues apresentação profissional
Gleidson rodrigues   apresentação profissionalGleidson rodrigues   apresentação profissional
Gleidson rodrigues apresentação profissional
 
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
 
Estilização do Pentaho BI Server
Estilização do Pentaho BI ServerEstilização do Pentaho BI Server
Estilização do Pentaho BI Server
 

Destaque

Exercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationExercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationJarley Nóbrega
 
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Caio Moreno
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoAmbiente Livre
 
Aula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIAula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIJarley Nóbrega
 
Introdução ao BI
Introdução ao BIIntrodução ao BI
Introdução ao BIpichiliani
 
Palestra Business Intelligence
Palestra Business IntelligencePalestra Business Intelligence
Palestra Business IntelligenceMarco Garcia
 
TI: função estratégica no varejo
TI: função estratégica no varejoTI: função estratégica no varejo
TI: função estratégica no varejoEAC Software
 
BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )Marco Garcia
 
Entendo Business Intelligence
Entendo Business IntelligenceEntendo Business Intelligence
Entendo Business IntelligenceDouglas Scheibler
 
O que é Business Intelligence (BI)
O que é Business Intelligence (BI)O que é Business Intelligence (BI)
O que é Business Intelligence (BI)Marco Garcia
 

Destaque (12)

Exercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationExercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data Integration
 
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma Pentaho
 
Aula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIAula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDI
 
Introdução ao BI
Introdução ao BIIntrodução ao BI
Introdução ao BI
 
Palestra Business Intelligence
Palestra Business IntelligencePalestra Business Intelligence
Palestra Business Intelligence
 
Marcos nannetti poa eac ti
Marcos nannetti poa eac tiMarcos nannetti poa eac ti
Marcos nannetti poa eac ti
 
TI: função estratégica no varejo
TI: função estratégica no varejoTI: função estratégica no varejo
TI: função estratégica no varejo
 
BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )
 
Entendo Business Intelligence
Entendo Business IntelligenceEntendo Business Intelligence
Entendo Business Intelligence
 
Apresentação business intelligence
Apresentação business intelligenceApresentação business intelligence
Apresentação business intelligence
 
O que é Business Intelligence (BI)
O que é Business Intelligence (BI)O que é Business Intelligence (BI)
O que é Business Intelligence (BI)
 

Semelhante a BI Multi Tenancy Pentaho Grupo Sage

MIT - Estudo de Caso utilizando Cloud & DevOps
MIT - Estudo de Caso utilizando Cloud & DevOps  MIT - Estudo de Caso utilizando Cloud & DevOps
MIT - Estudo de Caso utilizando Cloud & DevOps Caio Candido
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
Latinoware 2012 - Desenvolvendo Interfaces com Holy
Latinoware 2012 - Desenvolvendo Interfaces com HolyLatinoware 2012 - Desenvolvendo Interfaces com Holy
Latinoware 2012 - Desenvolvendo Interfaces com HolyDextra
 
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...Leandro Guimarães
 
Power BI Administração e Governança
Power BI Administração e GovernançaPower BI Administração e Governança
Power BI Administração e GovernançaPaulo Daniel Nobre
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana Costa
 
The twelve factor apps and openruko
The twelve factor apps and openrukoThe twelve factor apps and openruko
The twelve factor apps and openrukoÉverton Ribeiro
 
TClientDataSet - Palestra sobre MultiTier
TClientDataSet - Palestra sobre MultiTierTClientDataSet - Palestra sobre MultiTier
TClientDataSet - Palestra sobre MultiTierWecsley Fey
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppetGerenciamento de configuração com puppet
Gerenciamento de configuração com puppetElton Simões
 
9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stvwilson_lucas
 
Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011Universal.org.mx
 
Service Oriented Front-End Architecture
Service Oriented Front-End ArchitectureService Oriented Front-End Architecture
Service Oriented Front-End ArchitectureCristiano Gomes
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Implementando Cache no Mulesoft Flow usando Redis
Implementando Cache no Mulesoft Flow usando RedisImplementando Cache no Mulesoft Flow usando Redis
Implementando Cache no Mulesoft Flow usando RedisRenato de Oliveira
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
ServiceNow Dicas e Truques 8o. SNUG Brasil
ServiceNow Dicas e Truques 8o. SNUG BrasilServiceNow Dicas e Truques 8o. SNUG Brasil
ServiceNow Dicas e Truques 8o. SNUG BrasilWillians Medeiros
 

Semelhante a BI Multi Tenancy Pentaho Grupo Sage (20)

MIT - Estudo de Caso utilizando Cloud & DevOps
MIT - Estudo de Caso utilizando Cloud & DevOps  MIT - Estudo de Caso utilizando Cloud & DevOps
MIT - Estudo de Caso utilizando Cloud & DevOps
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
Mda arq cliente_serv
Mda arq cliente_servMda arq cliente_serv
Mda arq cliente_serv
 
Latinoware 2012 - Desenvolvendo Interfaces com Holy
Latinoware 2012 - Desenvolvendo Interfaces com HolyLatinoware 2012 - Desenvolvendo Interfaces com Holy
Latinoware 2012 - Desenvolvendo Interfaces com Holy
 
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
 
Power BI Administração e Governança
Power BI Administração e GovernançaPower BI Administração e Governança
Power BI Administração e Governança
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático www
 
The twelve factor apps and openruko
The twelve factor apps and openrukoThe twelve factor apps and openruko
The twelve factor apps and openruko
 
TClientDataSet - Palestra sobre MultiTier
TClientDataSet - Palestra sobre MultiTierTClientDataSet - Palestra sobre MultiTier
TClientDataSet - Palestra sobre MultiTier
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppetGerenciamento de configuração com puppet
Gerenciamento de configuração com puppet
 
9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv
 
Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011
 
Service Oriented Front-End Architecture
Service Oriented Front-End ArchitectureService Oriented Front-End Architecture
Service Oriented Front-End Architecture
 
Mule Meetup Cache Redis
Mule Meetup Cache RedisMule Meetup Cache Redis
Mule Meetup Cache Redis
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Implementando Cache no Mulesoft Flow usando Redis
Implementando Cache no Mulesoft Flow usando RedisImplementando Cache no Mulesoft Flow usando Redis
Implementando Cache no Mulesoft Flow usando Redis
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Decatron e VMTurbo
Decatron e VMTurboDecatron e VMTurbo
Decatron e VMTurbo
 
ServiceNow Dicas e Truques 8o. SNUG Brasil
ServiceNow Dicas e Truques 8o. SNUG BrasilServiceNow Dicas e Truques 8o. SNUG Brasil
ServiceNow Dicas e Truques 8o. SNUG Brasil
 

BI Multi Tenancy Pentaho Grupo Sage

  • 1. [Projeto B.I – Grupo Sage] Pentaho CE Multi Tenancy
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Pentaho Multi Tenancy Processo Criação DW PAC l 13/28
  • 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. Pentaho Multi Tenancy Criação de Usuários no HSQLDB l 15/28
  • 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. 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. Pentaho Multi Tenancy Acesso Clientes l 18/28
  • 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. 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. 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. 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. Pentaho Multi Tenancy Visualização após Autenticação utilizando CST l 23/28
  • 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. 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. 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. 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. 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