Mudanças entre as edições de "Robô PHP"
(→Principais Ciclos de Execução do Robô) |
(→Configuração) |
||
Linha 69: | Linha 69: | ||
: Conforme poderá ser observado mais adiante, a execução do robô é feita em ciclos agendados no agendador de tarefas do sistema operacional. Para evitar que um ciclo sobreponha o outro é criado um '''arquivo PID''' referente ao ciclo que está sendo executado. | : Conforme poderá ser observado mais adiante, a execução do robô é feita em ciclos agendados no agendador de tarefas do sistema operacional. Para evitar que um ciclo sobreponha o outro é criado um '''arquivo PID''' referente ao ciclo que está sendo executado. | ||
− | : Porém, em caso de interrupção não espontânea para garantir que o próximo cilo seja executado pode ser configurado um tempo de vida em segundos para o arquivo PID. Consequentemente se o arquivo PID estiver ''expirado'' o ciclo será executado assim mesmo. | + | : Porém, em caso de interrupção não espontânea, para garantir que o próximo cilo seja executado pode ser configurado um tempo de vida em segundos para o arquivo PID. Consequentemente se o arquivo PID estiver ''expirado'' o ciclo será executado assim mesmo. |
Edição das 10h26min de 11 de março de 2016
Robô PHP
Visão Geral
Esse conteúdo está em construção e poderá sofrer alterações ou correções até a liberação final da documentação. |
O Robô PHP é a ferramenta que faz a atualização (sincronismo) dos dados cadastrais gerados pelos sistemas (condomínios, condôminos, fornecedores, locadores, locatário, etc.) para o ambiente Base CRM.
No procedimento básico, ele monitora Logs gerados no banco de dados dos Sistemas da Base e sincroniza nos servidores do Base CRM.
Também existe a possibilidade de sincronismo de dados tendo como fonte bancos de dados de outros sistemas, esse processo depende da validação dos arquivos que deverão ser gerados de acordo com o Layout de Importação de Dados, conforme poderemos ver mais adiante.
Procedimentos
Instalação
A execução do Robô PHP depende do gerenciador de banco de dados Firebird na versão 2.5, que deverá estar atualizado no equipamento do cliente. Além da atualização das ultimas versões dos sistemas. No caso de sincronismo através de terceiros (outros sistemas) também é exigido o Firebird na versão 2.5 que deverá ser instalado antes do processo de instalação do próprio Robô. |
O pacote de instalação do Robô PHP pode ser baixado no ambiente Ágil da Base Software, para isso deverá ser fornecido um login e senha válidos para o acesso ao download.
O acesso ao download poderá ser feito através da opção "PRIMEIRA INSTALAÇÃO" e filtrando o produto "Base CRM", conforme as imagens de exemplo abaixo.
Após o download, Execute o arquivo Instalacao_Robo_PHP siga o passo-a-passo para que a instalação seja feita.
Ao seguir o passo-a-passo do processo de instalação, será criado o diretório C:\Robo_PHP onde estarão todos os arquivos necessários para a execução do processo de sincronismo.
Configuração
Todas as configurações necessárias para o perfeito funcionamento do Robô PHP deverão ser feitas no arquivo config.inc.php, através de seções específicas para cada tipo de operação.
O arquivo config.inc.php é auto-explicativo, contudo vamos abordar as suas seções a seguir.
Configurações Genéricas
- Tempo de vida do arquivo PID
- Conforme poderá ser observado mais adiante, a execução do robô é feita em ciclos agendados no agendador de tarefas do sistema operacional. Para evitar que um ciclo sobreponha o outro é criado um arquivo PID referente ao ciclo que está sendo executado.
- Porém, em caso de interrupção não espontânea, para garantir que o próximo cilo seja executado pode ser configurado um tempo de vida em segundos para o arquivo PID. Consequentemente se o arquivo PID estiver expirado o ciclo será executado assim mesmo.
- Dados Básicos
- Nessa seção deverão ser configurados os dados básicos da empresa, com atenção para algumas configurações específicas.
- prefixo : Só deverá ser configurado no caso de integração com banco de dados de terceiros (sistemas que não forem da base)
- qtd_logs_envio : Determina a quantidade de registros (Logs) que serão enviados a cada ciclo de sincronismo (o valor zero determina que todos os registros serão enviados no clico).
- qtd_logs_envio_em_massa : Independente da quantidade de Logs o sincronismo será executado em lote de registros, esse parâmetro determina a quantidade de registros em cada lote de sincronismo.
De acordo com o exemplo acima qtd_log_envio = 0 determina que todos os registros serão sincronizados durante o ciclo de sincronismo, então se o banco de dados tiver 5000 registros de Logs o ciclo de sincronismo não será interrompido enquanto todos os registros forem atualizados. Porém qtd_logs_envio_em_massa=500 determina que os registros serão atualizados em lotes de 500 registros até que todos os logs estejam sincronizados. |
- login_usuario_crm, senha_usuario_crm e chave_usuario_crm : Esses parâmetros poderão ser utilizados para criar um nível de segurança para atualização dos dados, contudo, eles requerem que seja feita uma configuração a mais de usuário no ambiente do Base CRM para que o mesmo seja autenticado no momento do sincronismo. Deverá ser criado um usuário de nome robo no Base CRM e o mesmo deverá ser configurado nos parâmetros.
- login_usuario_crm = robo, senha_usuario_crm = senha do usuário robo criado no CRM e chave_usuario_crm = chave do usuário robo criado no CRM
A criação do usuário robo no Base CRM condiciona o sincronismo à autenticação, então se o usuário existir ocorrerá falha de autenticação se o mesmo não estiver configurado nos parâmetros login_usuario_crm, senha_usuario_crm e chave_usuario_crm. |
Dados dos Sistemas Base Software
- No caso dos Sistemas da Base, todo o monitoramento dos cadastros e geração dos Logs é feita automaticamente no banco de dados SQS2000.FDB e a configuração do banco de dados deverá ficar conforme as sugestões abaixo.
Essas informações poderão ser consultadas nos Arquivos INI dos sistemas da Base. Poderá ocorrer diferença, na configuração de usuário e senha de conexão com o banco, mas geralmente serão sysdba e masterkey. |
Fonte de Dados de Terceiros
Conforme mencionado anteriormente, a execução do Robô PHP depende do gerenciador de banco de dados Firebird na versão 2.5, que deverá estar atualizado no equipamento do cliente. No caso de sincronismo através de terceiros (outros sistemas) também é exigido o Firebird na versão 2.5 que deverá ser instalado antes do processo de instalação do próprio Robô. |
- No caso de dados de sistemas de terceiros, o Robô PHP tem o seu próprio banco de dados local Firebird 2.5 para gerenciamento dos Logs. A alimentação dos dados é feita através da interpretação de arquivos txt.
Os arquivos txt deverão ser gerados obrigatoriamente em conformidade com o Layout de Importação de Dados. |
- Caso o processo de instalação tenha sido feito seguindo o passo-a-passo, a configuração para o banco de dados deverá ser conforme o exemplo abaixo:
- Porém, se o diretório de instalação for alterado, a configuração do banco de dados deverá seguir o padrão do diretório selecionado.
- Outra configuração importante diz respeito às fontes de dados, ou seja, onde o robô deverá buscar os arquivos txt que alimentarão os Logs de sincronismo.
Fontes Distintas de Dados de Terceiros
- A configuração da fontes de dados utiliza o conceito de array (índices), permitindo a configuração de mais de uma fonte de dados para operação simultânea.
- Para que esse processo seja configurado, basta criar nova estrutura de importação no mesmo arquivo config.inc.php, contendo um novo índice de array conforme a imagem de exemplo abaixo.
- Concluindo a configuração, teríamos duas estruturas de importação no mesmo arquivo de configuração: Uma com índice 0 e outra com índice 1.
A incorporação de mais de uma fonte de dados, requer um controle muito apurado pelos sistemas do cliente quanto aos códigos de identificação das contas. Esse controle evita erros de duplicidade, além de críticas quanto a contas não encontradas. |
Principais Ciclos de Execução do Robô
- No processo de instalação do robô são criados os arquivos correspondentes aos ciclos de execução, esses ciclos variam de acordo com a fonte de dados utilizada.
- Sistemas da Base: Somente o ciclo sincronizar será necessário.
- Sistemas de terceiros: Os ciclos validar, importar e sincronizar serão obrigatórios, exatamente nessa ordem.
- Ciclos obrigatórios:
- validar: Faz o teste de integridade dos arquivos txt em conformidade com o Layout de Importação de Dados.
- importar: Faz a importação dos dados contidos nos arquivos txt para o banco de dados local do robô, gerando os logs conforme os dados analisados.
O ciclo de importação só é executado e o ciclo de validação passar sem erros. |
- sincronizar: Faz o sincronismo dos dados contidos no banco de dados local do robô (ou do banco dados dos Sistemas Base) para os servidores do Base CRM.
O ciclo parear deverá ser utilizado obrigatoriamente pelos clientes que já tenham utilizado outros processos de sincronismo com o Base CRM (Robô antigo), antes do primeiro sincronismo com a nova versão do Robô (Robô PHP). Ele faz uma paridade entre as entidades do banco de dados local e o banco de dados do Base CRM. |
- O ciclo opcional estatisticas gera um resumo com os logs enviados, não enviados e com erro.
Todos os ciclos de execução deverão ser programados para serem executados no agendador de tarefas do sistema operacional do cliente. Eventualmente poderão ser executados via prompt de comando. Os processos foram validados levando em consideração somente o ambiente Microsoft Windows. |
Logs de Processamento
- Todos os ciclos de processamento do robô geram logs com o resultado do processo. Esses arquivos são gerados por ciclo no diretório Logs, registrando todas as fases do respectivo ciclo.
Os arquivos são gerados por ciclo e data de processamento, havendo repetição do ciclo na mesma data serão acumulados no mesmo arquivo. |
Configurando Mensagens de Alerta/Aviso
- Na seção abaixo deverão ser configuradas as regras, parâmetros do servidor de e-mail e destinatários que poderão receber notificações de processamento do robô.
- Conforme o exemplo acima, o parâmetro destinatarios permite que mais de um endereço seja configurado para recepção dos e-mails.
- Regras de notificação:
- enviar_erro_validacao (true/false) : Aplicado somente para importação de dados de terceiros, notifica quando houve um erro de validação nos arquivos. Geralmente ocorre, quando os arquivos não estão em conformidade com o Layout de Importação de Dados.
- enviar_erro_importacao (true/false) : Aplicado somente para importação de dados de terceiros, notifica quando houve um erro de importação dos dados para o banco de dados local do robô. Se a validação passar sem erros, provavelmente a importação se dará com sucesso.
A importação não será executada, enquanto houver erro no ciclo de validação. |
- enviar_erro_sincronismo (true/false): Aplicado tanto para banco de dados de terceiros quanto para banco de dados dos Sistemas da Base. Geralmente ocorre, por falha na identificação de alguma entidade no banco de dados no servidor do Base CRM.
- enviar_resumo_diario (true/false): Aplicado tanto para banco de dados de terceiros quanto para banco de dados dos Sistemas da Base. Gera um resumo com as estatísticas de logs enviados, não enviados e com erro.
- Na seção NOTIFICAÇÃO DE ERRO poderá ser personalizado o conteúdo das mensagens enviadas.