Replicador de dados - NT 0082-2016

Resumo da Nota
Nessa O.S foi desenvolvido o aplicativo para replicação de dados entre bases Firebird do FACILITE Sistemas Comerciais.


Descrição
I-) Este aplicativo foi desenvolvido com o intuito de replicar determinadas tabelas ou todas do sistema FACILITE, para outro banco de dados também do FACILITE. Para que a replicação ocorra é necessário configurar dois aplicativos o Servidor e o Cliente, o qual será apresentado nos itens que segue a NT.

Para iniciar uma replicação de dados é necessário entender corretamente a topologia das empresas que desejam integrar os dados, para que não ocorram erros na configuração e consequentemente replicação de dados erradas.

O aplicativo de replicação não manipula dados, ou seja, não irá editar os dados de forma alguma, irá pegar uma informação e transportar para outro banco de dados em outro local, de acordo com o que estiver configurado.

II-) O primeiro aplicativo a ser configurado é o TDP_ServerReplicator.exe, ao abrir este app pela primeira vez o sistema irá pedir para configurar o caminho da base de dados local, ou seja, do servidor da empresa, de preferência este aplicativo deve ser inicializado no servidor. Em caso de servidores linux, este aplicativo deverá ser inicializado em outra estação com windows e configurar o caminho da base de dados para o servidor linux, igual a configuração do "Util -
Configuração de Rede";

- Abrindo o aplicativo o usuário deverá selecionar o tipo, escolhendo entre "Servidor" ou "Estação", seguindo a lógica acima escolher uma das opções;

- O segundo campo é o nome do "Computador", caso for servidor o usuário poderá informar "Localhost" ou estação informar o Nome ou IP do servidor na rede;

- O terceiro campo é "Caminho do banco de dados", neste o usuário deverá informar o caminho em que está instalada a base de dados, por padrão do sistema fica em "C:\Sinco\Integrado\FACILITE.FDB";

- Clique em "Gravar" para que o sistema configure a base de dados do servidor;

- Clique em "Sair" para ir a tela inicial do aplicativo;

Na tela inicial, o usuário deverá informar uma porta de conexão, pode-se usar por padrão a porta 8681 ou qualquer outra porta que já esteja liberada.

 

**ATENÇÃO** - Caso for utilizar a internet para replicar os dados, a porta configurada acima deverá ser roteada para o IP do servidor e liberada pelo firewall, qualquer dúvida em relação a este procedimento entrar em contato com o suporte da internet da sua localidade.

Clique em "Iniciar" para que o serviço do servidor de replicação seja iniciado, na primeira vez o windows irá pedir a liberação no firewall, clique em "Permitir Acesso";

Dica: Configure este aplicativo para iniciar com o windows.

Após configurado, reincie o aplicativo e ele automaticamente irá minimizar na bandeja do windows;

III-) Agora será necessário configurar o aplicativo TDP_ClientReplicator.exe, é neste aplicativo que será configurado os bancos de dados de destino, tabelas e demais parâmetros do aplicativo. Inicie o aplicativo e clique no botão "Configurações" e acesse a opção "Configurar Bancos e Tabelas replicadas":

- Clique no botão "Novo" para configurar um novo BD de destino, "Alterar" para editar uma configuração e "Excluir" para deletar uma configuração;

IV-) Na tela de "Cadastro de Banco Replicado", o usuário deverá informar os seguintes campos:

- Descrição: Informe um nome para a configuração, exemplo "Filial 02";

- Banco: Sempre será FACILITE;

- Host: Neste campo deverá ser informado o IP ou DNS do servidor da filial ou matriz. Caso o banco a ser replicado esteja na internet o usuário deverá informar o IP da internet ou o endereço do DNS;
- Porta: Informe a porta que foi configurada no aplicativo TDP_ServerReplicator.exe do servidor da filial;
- Ativo: Marque a opção caso o banco esteja ativo;
- Qtde. Registros a replicar: De 1 a 50 registros por vez;
- Tempo Envio (Minutos): Informe o tempo em minutos para o clico de replicação, ou seja, a cada x minutos irá iniciar a replicação dos dados;

Clique em "Testar" para validar se a configuração com o BD está correta e após isso clique em "Gravar" para salvar as configurações.

V-) Configurar Tabelas: Com as configurações salvas, o sistema irá habilitar o botão "Configurar Tabelas", clique nesta opção para inserir as tabelas que serão replicadas.

- Do lado esquerdo da tela, o sistema irá listar todas as tabelas da versão que estiverem instalada no cliente, selecione a tabela desejada pesquisando pelo nome ou selecionando no grid de tabelas, ao selecionar clique na seta direita para o sistema configurar a tabela para replicação;

- Do lado direito da tela no grid "Tabela para Replicação" irá aparecer a tabela selecionada com as opções "Tempo de Envio" e "Qtde. Regis";

- "Tempo de Envio" - Configure neste campo o tempo de envio em minutos que o aplicativo irá levar para iniciar a replicação dos dados desta tabela, por padrão deixar 0;

- "Qtde. Regis." - Informe neste campo a quantidade de registros que deverá ser replicado por ciclo da tabela selecionada, no máximo 50 registros.

- Seta para Direita - Configura uma tabela para replicar;

- Seta para Esquerda - Retira uma tabela da replicação;

- Todos - Irá configurar todas as tabelas ou retirar todas as tabelas de replicação;

- Clique em "Voltar" e depois em "Gravar";

- Repita o processo para quantas bases de dados forem necessárias para replicação de dados;

VI-) Na tela Principal clique em "Configurações - Configurar Banco Local", nesta tela o usuário poderá configurar o caminho da base de dados local da base que irá replicar os dados, ao abrir o "TDP_ClientReplicator" pela primeira vez o sistema já irá pedir para configurar essa base de dados, resumindo, é a mesma configuração do Util - Configuração de Rede;

VII-) Na tela Principal clique em "Configurações - Configurações Adicionais", nesta tela o usuário poderá informar se deseja que o aplicativo minimize automaticamente e qual o tempo para isso ocorrer. Se não marcar a opção "Minimizar o aplicativo na Bandeja" o sistema não será minimizado automaticamente.

VIII-) Na tela Principal clique no botão "Replicar Tabelas", nesta tela o usuário deverá selecionar para qual Banco deseja enviar os dados selecionando no campo "Banco à Replicar", após selecionado o sistema irá mostrar as tabelas que estão configuradas para replicação deste banco. O usuário deverá selecionar qual tabela deseja reenviar os dados e clicar em "Replicar";

- Este processo serve para que o sistema envie todos os dados de uma determinada tabela para o banco replicado.
Este caso pode ser usado quando deseja replicar todo o cadastro de produto por exemplo para uma filial que tenha acabado ser cadastrada.

IX-) Na tela Principal clique no botão "Visualizar Logs" para abrir 3 abas de logs de replicação, que são elas:

- "Logs Replicação" - Clique no botão "Filtrar" para selecionar as opções de filtros para visualização dos logs, após filtrar clique em "Imprimir" para que seja impresso um relatório com os dados filtrados. Essa aba irá mostrar os registros que foram replicados, nome da tabela, tipo, e qual foi o dado enviado.

- "Logs Erro" - Clique no botão "Filtrar" para selecionar as opções de filtros para visualização dos logs, após filtrar clique em "Imprimir" para que seja impresso um relatório com os dados filtrados. Essa aba irá mostrar os erros que ocorreram na replicação de acordo com os filtros selecionados;

- "Logs Conflito" - Clique no botão "Filtrar" para selecionar as opções de filtros para visualização dos logs, após filtrar clique em "Imprimir" para que seja impresso um relatório com os dados filtrados. Essa aba irá mostrar os registros em conflitos de replicação;

X-) Após configurado corretamente o aplicativo "TDP_ClientReplicator", basta clicar em "Inicializar" para que o processo de replicação comece, caso queira parar o processo basta clicar em "Interromper";

Esse é o processo de configuração dos dois aplicativos para replicação de dados, estes aplicativos devem estar configurados em todos os servidores que forem trabalhar com replicação de dados, abaixo será demonstrado alguns cenários possíveis para replicação:

Atualmente o aplicativo TDP Replicador trabalha com duas formas de replicação:

Cenário 1: Replicação unidirecional

Na replicação unidirecional, um banco de dados é sempre a fonte, podemos dizer que seja a Matriz. Em termos físicos, seus alvos (Filiais) podem receber dados que eles não deve substituir, acrescentar ou excluir, por exemplo o Cadastro de Produto. A Replicação atualiza o conteúdo dos alvos sem modificar ainda mais a base de dados de origem. Neste exemplo o cadastros, alteração ou exlusão do dados deve ser feito na fonte (Matriz) e o replicador se encarregará de
transportar os dados para os demais alvos (Filiais);

Cenário 2: Replication N-way ( "Multi-master")

Um esquema de replicação "N-way", também conhecido como replicação "Multi-master", envolve bancos de dados que atuam tanto como uma origem e um destino a outros bancos de dados. Uma forma de replicação "Multi-master" é, onde duas ou mais bases de dados podem replicar dados entre elas. O "n" pode ter mais que 2, uma vez que esquemas de replicação recíprocas muitas vezes envolvem esquemas em que os mesmos bancos de dados podem
ser fontes e destino para uma série de outros.

Exemplos: Replicação unidirecional

- Empresa 'A' possui 3 filiais, 'B' - 'C' e 'D', cada uma em locais diferentes. A empresa 'A' irá distribuir o cadastro de produto para todas as filias 'B' - 'C' e 'D', para isso na matriz 'A' o replicador deverá ter as 3 bases configuradas e replicado a tabela de PRODUTO e demais tabelas relacionadas para todas as filias, com isso no servidor da matriz os
2 aplicativos devem estar ativos. Nas filiais 'B' - 'C' e 'D' o aplicativo "TDP_ServerReplicator" deve estar configurado com uma porta liberada. Atenção: A porta deve ser diferente para cada filial;

Exemplo: Replication N-way ( "Multi-master")

- Empresa 'A' irá receber todas as vendas das filiais 'B' - 'C' e 'D', nos servidores das filiais e matriz os dois aplicativos de replicação devem estar ativos e configurados. A replicação das vendas de todas as filiais deverão estar configuradas no aplicativo "TDP_ClientReplicator" em todas empresas e deverão estar apontando para a base da empresa 'A';

- Pode ocorrer também de que todas as empresas devem conhecer as vendas de todas as filiais, isso também é possível configurando o "TDP_ClientReplicator" apontando para as base correspondentes, empresa 'B' irá apontar para as bases de 'A', 'C' e 'D'. A empresa 'C' irá apontar para 'A', 'B' e 'D' e assim por diante.

- Por isso é muito importante entender a estrutura dos dados que deverão ser replicados antes de iniciar a replicação, solicitamos que seja feita uma Homologação antes, configurando com tabelas pequenas para que seja validada toda a configuração e após isso iniciar o processo em produção.

Outra dica importante, é bloquear as telas de cadastros das filias através dos níveis de usuários, dependendo do modo de replicação configurado para evitar que o mesmo registro seja alterado ou excluído em lugares diferentes ao mesmo tempo.


Parâmetros Envolvidos
I-) Para a configuração da replicação de tabela de Produto localmente, verifique no Integrado - Utilitários - Parâmetros do Sistema - Parâmetros Gerais:

a-) 4.18.329 - REPLICA PRODUTO PARA TODAS EMPRESAS - 'Sim', 'Sim, Inativo', 'Sim, Apenas Inclusão', 'Sim, Específicos', 'Não';

Consulte o manual de parâmetros para identificar a funcionalidade do mesmo.

 


» Nota Técnica