1. O documento discute um projeto de multi tenancy no Pentaho CE para fornecer BI a mais de 800 clientes de uma empresa de software ERP de forma concisa e automatizada.
2. O projeto permite que cada cliente tenha seu próprio banco de dados no data warehouse do Pentaho, mantendo os dados separados entre os clientes.
3. O processo carrega dados e usuários de cada cliente automaticamente no Pentaho através de web services e ETL, fornecendo funcionalidades de BI de forma individualizada para cada cliente.
5. Apresentação
SAGE
Sage presentation 5
No
Brasil
• IOB, Folhamatic, EBS, e Cenize.
• 1.400 Colaboradores.
• 100.000 Clientes.
No
Mundo
• Mais de 6 milhões de clientes
• Presente em 23 países.
• 13.300 Colaboradores no mundo.
• Esta entre as 100 maiores empresas na
Bolsa de Valores de Londres.
6. Apresentação
SAGE
Sage presentation 6
São Paulo Americana/SP Curitiba/PR
Outras unidades: São José dos Pinhais/PR Recife/PE Rio de Janeiro/RJ
Porto Alegre/RS SP Av. Paulista SP Itaim Bibi
7. Case
Objetivo e Situação
Sage presentation
- Implantar BI em um software ERP com mais de 800 clientes que
já utilizam o sistema passando a visão de sua empresa de forma
prática e simples
- Fácil implantação
- Baixo custo
- Restrição de usuários
- Totalmente automatizado
- Cada cliente tem seu banco de dados
7
8. Conceito
Multi Tenancy
Sage presentation
- Multi Inquilinos/Clientes:
- Um único servidor servindo vários clientes
- Clientes utilizam mesma estrutura
- Um “tenant” não vê dados de outro “tenant”
8
9. O Projeto
Banco de dados
Sage presentation
- Diferenciação de cada cliente
- Em um único servidor:
- Cada “tenant”/cliente:
- Terá o seu datawarehouse
- Terá identificação única
9
13. O Projeto
Customizações (4.8)
Sage presentation 13
- Customizar código de um arquivo para interpretar o separador de
usuário e base.
- pentahoObjects.Sprint.xml
(/pentaho/biserver-ce/pentaho-solutions/system)
- Tag <bean>
14. O Projeto
Customizações (4.8)
Sage presentation 14
Substituir por:
<property name="requireTenantId" value="false" /> CFG (Tenant)
<property name="datasourceNameFormat" value="{0}-{1}" /> CFG (PAC)
<property name="tenantSeparator" value="@" /> Separador de Login
<property name="tenantOnLeft" value="false" /> Left para database
17. O Projeto
Processo de carga usuários
Sage presentation 17
- Criação automatizada dos usuários para integração no Banco de
dados HSQLDB (InMemory) do Pentaho user@codCliente
Usuário vinicius
CódCliente 00202
wsBD
CLIENTE SERVER WIN
WebService
recebe arquivos
ETL envia dados ETL carga dados
SERVER LINUX
BD
HSQLDB
Pentaho
HSQL
18. O Projeto
Processo
Sage presentation 18
- Criação automatizada dos usuários para integração no Banco de dados
HSQLDB (InMemory) do Pentaho user@codCliente
Usuário vinicius
CódCliente 00202
wsBD
CLIENTE SERVER WIN
WebService
recebe arquivos
ETL envia dados ETL carga dados
SERVER LINUX
BD
HSQLDB
Pentaho
BD
CLIENTE
00202-dim_usuários.txt
WebService
HSQL
19. O Projeto
Processo
Sage presentation 19
- Criação automatizada dos usuários para integração no Banco de dados
HSQLDB (InMemory) do Pentaho user@codCliente
Usuário vinicius
CódCliente 00202
wsBD
CLIENTE SERVER WIN
WebService
recebe arquivos
ETL envia dados ETL carga dados
SERVER LINUX
BD
HSQLDB
Pentaho
00202-dim_usuários.txt
HSQL
20. O Projeto
Processo
Sage presentation 20
- Criação automatizada dos usuários para integração no Banco de dados
HSQLDB (InMemory) do Pentaho user@codCliente
Usuário vinicius
CódCliente 00202
wsBD
CLIENTE SERVER WIN
WebService
recebe arquivos
ETL envia dados
SERVER LINUX
BD
HSQLDB
PentahoETL carga dados
VINICIUS@00202
BD Pentaho (HSQLDB)
HSQL
22. Pentaho Multi Tenancy
Cache do Hibernate
Após inserção do usuário no HSQLDB é necessário reiniciar o servidor do
pentaho, mas isso é INVIÁVEL.
Para solucionar este problema, temos que desabilitar o cache do Hibernate.
Para desabilitar o mesmo: ir até o arquivo
applicationContext-spring-security-hibernate.xml na pasta do biserver-
cepentaho-solutionssystem e adicionar uma nova propriedade dentro da tag
XML:
<property name=”hibernateProperties”> e <props> após a última <prop>
Sage presentation 20
23. 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
Sage presentation 21
25. O Projeto
Processo de carga
Sage presentation 25
- Criação automatizada dos dados para integração no Banco de dados
do cliente (datawarehouse) em MySQL
Nota 1
Valor R$ 100,00
wsBD
CLIENTE SERVER WIN
WebService
recebe arquivos
ETL envia dados ETL carga dados
SERVER LINUX
BD
Datawarehouse
Pentaho
HSQL
Amazon
26. O Projeto
Processo
Sage presentation 26
- Criação automatizada dos usuários para integração no Banco de dados
HSQLDB (InMemory) do Pentaho user@codCliente
Usuário vinicius
CódCliente 00202
wsBD
CLIENTE SERVER WIN
WebService
recebe arquivos
ETL envia dados ETL carga dados
SERVER LINUX
BD
Datawarehouse
Pentaho
BD
CLIENTE
00202-fato_faturamento.txt
WebService
HSQL
27. O Projeto
Processo
Sage presentation 27
- Criação automatizada dos usuários para integração no Banco de dados
HSQLDB (InMemory) do Pentaho user@codCliente
Usuário vinicius
CódCliente 00202
wsBD
CLIENTE SERVER WIN
WebService
recebe arquivos
ETL envia dados ETL carga dados
SERVER LINUX
BD
Datawarehouse
Pentaho
00202-fato_faturamento.txt
HSQL
28. O Projeto
Processo
Sage presentation 28
- Criação automatizada dos usuários para integração no Banco de dados
HSQLDB (InMemory) do Pentaho user@codCliente
Usuário vinicius
CódCliente 00202
wsBD
CLIENTE SERVER WIN
WebService
recebe arquivos
ETL envia dados
SERVER LINUX
BD
Datawarehouse
PentahoETL carga dados
BD Cliente (MySQL)
HSQL
Datawarehouse_00202
Se não existe
Cria o DW
29. O Projeto
Detalhes do processo
Sage presentation 29
Carga incremental
flag Integracao_bi
wsBD
CLIENTE SERVER WIN
ETL envia dados
Processo diário
agendado 22:00
Processo agendado
a cada 15 minutos
Aplicação
C# > ETL
Aplicação
C# > ETL
30. 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 para sempre
buscar dados novos no datawarehouse correto.
Sage presentation 28
32. O Projeto
Funcionalidades do Pentaho
Sage presentation
OLAP (Saiku,
Jpivot, etc…)
Metadados
(PME, etc…)
Reporter
(PRD, Saiku
Report, etc…)
Dashboards
(CTools, etc…)
32
33. 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
O Projeto
Vantagens e Benefícios
- Pode acessar de qualquer dispositivo que tenha conexão a internet;
Sage presentation 33
34. 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);
O Projeto
Desvantagens
Sage presentation 34
35. Analista de B.I R$ 5.000,00
Servidor Externo R$ 900,00
- Dois servidores da Amazon “m1.large” $180,00 (dólares) por mês
O Projeto
Custo
Sage presentation 35
Capacitação R$ 2.500,00
- Curso ou consultoria (se necessário)
Tempo de Projeto: 8 meses
- Um Analista de B.I