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
- Curso de B.I: Pentaho – Ambiente Livre
- 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.
l
4/28
Grupo Sage Brasil:
Formado pela junção de três grandes empresas
EBS Sistemas
IOB
FOLHAMATIC
Principais Segmentos:
Contábil
ERP
Consultoria Tributária
Mais de 40.000 mil clientes
5. Case Grupo Sage
Situação
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.
l
5/28
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.
COMO FAZER ISTO DE MANEIRA ÁGIL E
COM BAIXO CUSTO?
Projeto em parceria
6. Conceito
Multi Tenancy
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
UTILIZANDO O CONCEITO MULTI-TENANCY
(Multi-Inquilinos/Clientes)
7. Conceito
Multi Tenancy
Multi-Tenancy: Multi-Inquilinos
Os Clientes utilizam 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
l
9/28
Cada cliente terá o seu Datawarehouse
em um database (MySQL) com seu
código de identificação que é o Código
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
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
MAS COMO OS DADOS SERÃO
ENVIADOS A ESTE SERVIDOR?
11. Funcionamento/Estrutura
Multi Tenancy
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)
l
12/28
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
14. Pentaho Multi Tenancy
Criação de Usuários no HSQLDB
Criação automatizada dos usuários para integração: USER@CODCLIENTE
no Banco de dados HSQLDB (InMemory) do Pentaho
l
14/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
l
17/28
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
19. Pentaho Multi Tenancy
Desabilitar Cache CDA
l
19/28
Em todos os DataSources, alterar a propriedade Cache para false, devido a
inexistência 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
USUÁRIO AUTENTICADO ?
Pentaho Multi Tenancy
Diferenciação dos dados
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
24. Pentaho Multi Tenancy
Visualização após Autenticação utilizando CST
l
24/28
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…)
25. 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
Pentaho Multi Tenancy
Vantagens e Benefícios
- Pode acessar de qualquer dispositivo que tenha conexão a internet;
l
25/28
26. 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);
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 (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?
Obrigado,
Vinicius Alexandre Elyseu
l
28/28
Contato:
vinicius_cwb@hotmail.com
(41) 9993-4377
Blog:
pentahobrazil.wordpress.com.br