Integrador
Procedimento de instalação do Integrador e configuração do RabbitMQ para um ambiente híbrido em Windows, utilizando o Instalador dos sistemas.
Arquitetura
Os serviços senior X são contratados na nuvem mas com integração de dados a partir da base de dados dos sistemas que está no ambiente on-premises. A integração de dados ocorre através dos componentes Integrador e RabbitMQ instalados no on-premises e se comunicando com a nuvem de forma segura. Para isso é necessário:
- ambiente senior X na nuvem;
- base de dados dos sistemas Senior no on-premises;
- RabbitMQ e Integrador instalados no on-premises;
- RabbitMQ exposto na internet para permitir comunicação a partir da nuvem;
- comunicação configurada e segura entre RabbitMQ Shovel da nuvem e o RabbitMQ no on-premises via internet.
Pré-requisitos
- Mídia de instalação dos sistemas Senior: pacote de instalação distribuído para implantação no ambiente do usuário;
- RabbitMQ, versão 3.6.9 ou superior, instalado e em execução.
- Portas publicadas na internet no on-premises:
- com certificado digital, por padrão são: 5671 (AMQPS) e 15671 (HTTPS);
- sem certificado digital, por padrão são: 5672 (AMQP) e 15672 (HTTP).
- Regras de entrada no firewall do on-premises. Permitir tráfego de origem a partir do IP 52.67.76.60 (AWS);
- Certificado digital (recomendado):
- No on-premises, o certificado é utilizado para criptografar a comunicação entre o on-premises e a nuvem através dos protocolos AMQPS e HTTPS;
- Na nuvem, o certificado cliente é utilizado para garantir a comunicação segura, iniciada pela nuvem, para com o RabbitMQ no on-premises. É necessário o upload do certificado cliente nas configurações do inquilino, na nuvem;
- Não é exigido que o certificado seja autorizado internacionalmente.
- Pasta compartilhada dos sistemas para obter informações de configuração disponíveis no arquivo de configuração dos sistemas, na Central de Configurações Senior;
- Banco de dados dos sistemas. Para o banco SQL Server somente são homologadas as versões 2012, 2014, 2016 e 2017.
- RabbitMQ via AMQP.
Replicação de dados
A replicação de dados consiste em quatro etapas:
- Buscar as pendências das tabelas monitoradas, que ainda não foram tratadas;
- Ler os dados correspondentes às pendências;
- Publicar um evento com estes dados;
- Marcar a pendência como tratada.
É considerado o conceito de zero ser nulo da base de dados dos sistemas G5. Portanto, caso o campo possuir um valor zerado e puder receber o valor nulo, este será o valor enviado. Por exemplo, um campo VARCHAR no banco de dados Oracle que tenha como valor ' ' (espaço em branco) será enviado como null.
Tabelas de replicação
Monitore as pendências geradas pelas triggers da base G5 que estão cadastradas para tal. Este cadastro é feito na tabela RTC_REPLICATIONDEF com os dados:
- id: consultar range para o domínio;
- idreplicator: erp_aws;
- tablename: nome da tabela da G5 a receber as triggers.
Em seguida, faça a consistência da base de dados pelo CBDS.
Identificação de triggers ausentes
Comandos para identificar triggers do banco de dados faltantes, ou, no caso do Oracle, inválidas:
select * from(
select 'RTC_'||Upper(tablename)||'_I' nm from rtc_replicationdef
union
select 'RTC_'||Upper(tablename)||'_D' nm from rtc_replicationdef
union
select 'RTC_'||Upper(tablename)||'_U' nm from rtc_replicationdef
) sts where not exists(
select 1 from (select object_name, status from user_objects where object_type ='TRIGGER' and UPPER(object_name) like 'RTC_%')sts2
where sts2.object_name = sts.nm and status = 'VALID')
select * from(
select 'RTC_'+Upper(tablename)+'_I' nm from dbo.rtc_replicationdef
union
select 'RTC_'+Upper(tablename)+'_D' nm from rtc_replicationdef
union
select 'RTC_'+Upper(tablename)+'_U' nm from rtc_replicationdef
) sts where not exists(
select 1 from (select name from sysobjects where xtype = 'TR' and UPPER(name) like 'RTC_%')sts2
where sts2.name = sts.nm)
Limpeza de pendências
O Integrador somente chama a Stored Procedure CLEARREPLICATION na inicialização do serviço. Porém, caso seja necessário uma maior frequência na limpeza das pendências do Integrador ETL, agende um processo automático na solução, chamando esta Stored Procedure.
Utilização do Integrador ETL
Atualmente, qualquer sistema da versão senior X pode utilizar o integrador ETL, porém apenas alguns optam por utilizá-lo. Verifique os tipos de integração utilizados por cada solução da versão senior X:
- HCM X: utiliza um integrador próprio (caso opte por usar o Integrador ETL e o Integrador do HCM simultaneamente, é necessário fazer configurações adicionais para garantir o funcionamento correto da integração);
- ERP X: a integração é feita com eventos para replicações;
- Ronda X: utiliza um integrador próprio;
- CRM X: utiliza um integrador próprio;
- TMS X: a integração feita via serviços Windows em Delphi;
- Roteirização: utiliza um integrador próprio;
- Gestão de Fretes/FIS: a integração feita via SDL;
- Gestão de Pátio/YMS: utiliza o integrador ETL para integrar os dados do ERP G5.
Quais integradores utilizar?
Integrador HCM | Integrador G7 | Integrador Wiipo | Integrador BI Gateway | Integrador Konviva | Integrador SAM | Integrador Nexxera | Integrador ETL/DML | |
---|---|---|---|---|---|---|---|---|
Gestão de Pessoas | ||||||||
Gestão Empresarial | ||||||||
Gestão de Pessoas + Gestão Empresarial (Sem Painel de Gestão) | ||||||||
Unificação de Bases – Base Primária ERP | ||||||||
Gestão de Pessoas + Gestão Empresarial (Com Painel de Gestão) | ||||||||
Unificação de Bases – Base Primária HCM | ||||||||
App Marcação de Ponto 1.0/2.0 (Com Painel de Gestão) | ||||||||
App Marcação de Ponto 1.0/2.0 (Sem Painel de Gestão) | ||||||||
Agro | ||||||||
Painel de Gestão | ||||||||
Colabbe | ||||||||
Wiipo | ||||||||
Camada de Gestão | ||||||||
Konviva | ||||||||
Gestão de Acesso e Segurança | ||||||||
Skyline – Van Bancária | ||||||||
WMS |