Implantação
Processo de implantação do Integrador da senior XPlatform.
O fluxo apresentado na imagem é o processo padrão de implantação, porém pode ser realizado de formas diferentes como instalando o integrador com scripts ou atualizando o ambiente manualmente.
O que você precisa fazer:
Altere algumas configurações do RabbitMQ já instalado e prepare para o uso pelo Integrador, que consiste em: ativar o gerenciador web do RabbitMQ, configurar as portas AMQP/AMQPS e HTTP/HTTPS, além dos respectivos certificados digitais, e criar um virtual-host para o inquilino (para ambiente multi-tenant):
- Acesse o servidor em que o RabbitMQ está instalado. Etapa necessária pois o Instalador irá utilizar comandos de linha do RabbitMQ para configurar;
- Execute o Instalador a partir da pasta compartilhada do sistema. Por exemplo, \\servidor\sapiens\SeniorInstaller.exe;
Importante
O Instalador do sistema Senior deve ser executado com o mesmo usuário do sistema operacional que o processo do RabbitMQ está executando.
- Em Tipo de instalação, selecione a opção Estação e clique em Avançar;
- Prossiga com as demais etapas obrigatórias do Instalador até chegar na etapa Seleção de produtos;
- Em Seleção de produtos selecione Ferramentas e o subitem Integrador G7 e clique em Avançar;
- Prossiga com as demais etapas obrigatórias do Instalador até chegar na etapa Plataforma G7;
- Em Plataforma G7 selecione a opção RabbitMQ e clique em Avançar;
- Em Parâmetros informe:
- Produto: informe o produto no qual o Integrador irá acessar os dados;
- Nome do tenant: informe o nome do cliente cadastrado na nuvem da G7. Normalmente esta informação é fornecida pela equipe de serviços de TI da Senior;
- Tipo de ambiente: informe single-tenant somente se neste servidor e no RabbitMQ serão utilizados para apenas um cliente. Caso contrário, informe multi-tenant.
Clique em Avançar;
- Em RabbitMQ informe:
- Serviço RabbitMQ: selecione o serviço Windows responsável pelo RabbitMQ;
- Diretório de instalação do RabbitMQ: informe o caminho para a pasta em que o RabbitMQ está instalado;
- Porta AMQP: informe a porta em que RabbitMQ atende pelo protocolo AMQP. Padrão: 5672;
- Porta HTTP/HTTPS: informe a porta desejada para a execução do gerenciador do RabbitMQ. É recomendável utilizar a porta 15671 com SSL/TLS ativado;
- Usuário: usuário administrador do RabbitMQ;
- Senha: senha do usuário administrador do RabbitMQ;
- SSL/TLS (1.2): para uma comunicação mais segura, utilizando os protocolos AMQPS e HTTPS, selecionr esta opção e informe a porta AMQPS e os arquivos de certificado do cliente;
- Informe os arquivos de certificado, incluindo a chave, e clique em Avançar.
- Prossiga com as demais etapas até a conclusão das etapas do Instalador;
- Execute a seguinte linha de comando a partir da pasta bin em que o RabbitMQ está instalado: C:\Program Files\RabbitMQ Server\sbin>rabbitmqctl node_health_check.
Um resultado semelhante a Health check passed indicará que o RabbitMQ está operacional e saudável.
Ao final do processo, com a opção de SSL/TLS selecionada na etapa RabbitMQ do Instalador, faça o upload do certificado da autoridade certificadora através da XPlatform e em Tecnologia > Administração > Gestão dos Tenants > Chaves públicas. Por último, solicite para a Senior TI a inclusão do certificado no Shovel Cloud.
Importante
Por questão de segurança, é recomendável que o RabbitMQ e o Integrador sejam instalados em servidores diferentes. Pois o servidor do RabbitMQ estará exposto na internet e caso o Integrador seja instalado neste servidor, será necessário permitir acesso ao banco de dados do sistema, aumentando assim o risco em casos de invasão a este servidor.
Para que a integração de usuários entre os sistemas Senior e a XPlatform ocorra corretamente, é necessária que a configuração da URL para conexão JDBC, na Central de Configurações Senior, em Banco de dados > Gestão Empresarial (ERP) ou Gestão de Pessoas, na seção Aplicativos Java, esteja adequada.
O Integrador deve ser instalado no mesmo servidor da base que será replicada. Desta maneira, ele será atualizado automaticamente durante uma atualização de sistema. Caso não esteja no mesmo servidor, o Integrador terá de ser atualizado manualmente.
- Acesse o servidor em que será instalado o integrador. O servidor deve ter acesso ao RabbitMQvia AMQP/AMQPS e ao banco de dados G5 via TCP/IP;
- Execute o instalador G5 a partir da pasta compartilhada do sistema G5, por exemplo, \\servidor\sapiens\SeniorInstaller.exe;
- Em Tipo de instalação, selecione a opção Estação e clique em Avançar;
- Prossiga com as demais etapas obrigatórias do até chegar na etapa Seleção de produtos;
- Em Seleção de produtos selecione Ferramentas e o subitem Integrador G7 e clique em Avançar;
- Prossiga com as demais etapas obrigatórias do até chegar na etapa Plataforma G7;
- Em Plataforma G7 selecione a opção Integrador e clique em Avançar;
- Em Parâmetros informe:
- Produto: informe o produto no qual o integrador irá acessar os dados;
- Nome do tenant: informe o nome do cliente cadastrado na nuvem da G7. Normalmente esta informação é fornecida pela equipe de serviços de TI da Senior;
- Tipo do ambiente: informe single-tenant se neste servidor e o RabbitMQ; serão utilizados para apenas um cliente. Caso contrário, informe multi-tenant;
- Em RabbitMQ informe:
- Servidor: nome do servidor onde está instalado o RabbitMQ;
- Porta AMQP: informe a porta AMQP configurada no RabbitMQ;
- Usuário: usuário administrador do RabbitMQ;
- Senha: senha do usuário administrador do RabbitMQ;
Clique em Avançar.
- Informe o caminho onde está instalado o Java 8 (consulte os requisitos mínimos para a instalação), e um usuário administrador na plataforma G7 da nuvem, por exemplo, admin@cliente.com.br;
- Clique em Avançar, e informe um usuário e senha de rede o qual será usado para executar o serviço Windows do Integrador;
- Verifique que o serviço Windows do Integrador foi instalado com sucesso no gerenciador de serviços do Windows.
- Faça a instalação do integrador como serviço do Windows obtendo a sua última versão no FTP, em Senior > integration-backend;
- Descompacte o arquivo .zip na máquina onde será feita a instalação e verifique que o programa Apache Commons Daemon também estará no arquivo;
- Edite o script install-windows-service.bat, para que os valores das configurações citadas acima sejam ajustados conforme o ambiente da instalação e execute o script;
A variável de ambiente JAVA_HOME deve estar configurada com o valor do caminho da instalação do Java. Por exemplo: C:\Program Files\Java\jdk1.8.0_131. - O serviço do Windows para o integrador estará disponível:
- Nome: Senior - Integrador G7
- Descrição: Senior data integration service
Outras opções de configuração podem ser consultadas no artigo sobre Procrun, da Apacha Commons.
Nota
Para remover este serviço, execute o comando uninstall-windows-service.bat. Em um ambiente multi-tenant, como no caso da IBM Cloud, pode ser necessário editar o arquivo para indicar o nome com o qual o serviço foi instalado, ao invés do padrão IntegrationBackend.
- Acesse a plataforma com usuário administrador do tenant;
- Acesse Tecnologia > Configuração > Por Tenant e selecione o tenant criado;
- Na guia Infraestrutura configure as seguintes propriedades:
- URL HTTP do RabbitMQ on-premise: https://ip_fixo_ou_dominio_do_servidor:15671
- Usuário do RabbitMQ on-premise
- Senha do usuário do RabbitMQ on-premise
- URL AMQP do RabbitMQ on-premise: amqps://ip_fixo_ou_dominio_do_servidor:5671
- Clique em Salvar;
Obrigatórios
- BROKER_HOST: servidor onde está executando o RabbitMQ;
- BROKER_PORT: porta do RabbitMQ;
- BROKER_USER: usuário do RabbitMQ;
- BROKER_PASS: senha do RabbitMQ;
- BROKER_API_PORT: porta da API REST do RabbitMQ(padrão: 15672);
- BROKER_SSL_ENABLED: habilita utilização de SSL no broker (AMQPS) (padrão: false). Variável obrigatória somente se utilizar AMQPS;
- DB_TYPE: tipo de base de dados da G5. Valores possíveis: Oracle e SQLServer (não deve haver espaço para o tipo SQL Server);
- DB_URL: URL JDBC para acesso à base de dados (com usuário/senha). Utilizado se a propriedade G5_CFG_FILE não for informada;
- G5_CFG_FILE: caminho do arquivo de configuração da G5. Se informado é utilizado para ler as informações da base de dados no lugar da propriedade DB_URL;
- TENANT: nome do tenant que está enviando as informações;
- USER: usuário padrão para enviar na mensagem (normalmente o administrador). Por exemplo: admin@tenant.com.br;
- VIRTUAL_HOST: nome do virtual host no qual a conexão será feita (padrão: /).
Opcionais
- REPOSITORY_TYPE: indica qual tipo de repositório deve ser utilizado para manter os arquivos até serem consumidos. Opções: BlobService (padrão), para o blob-service e LocalFS para sistema de arquivos local;
- REPOSITORY_PATH: local no repositório onde os arquivos serão copiados (apenas para repositório LocalFS - diretório onde será feita a cópia);
- G5_PROD_NAME: produto da G5 para o qual serão lidas as configurações de base no arquivo informado em G5_CFG_FILE: erp (padrão) ou rh;
- INTERVAL: intervalo (em milissegundos) para monitoramento de alterações pela replicação (padrão: 30000);
- AGE_TO_CLEAN_TABLES: idade em dias (padrão são 30 dias) dos registros das tabelas de pendências RTC_PENDENCIES e RTC_ERP_AWS_STATUS que serão excluídos: data e hora atual - operationtime (data de criação do registro);
- TIME_VERIFY_CLEAN_TABLES: intervalo em horas (padrão é a cada hora) para a execução da tarefa de limpeza de registros antigos das tabelas de pendências RTC_PENDENCIES e RTC_ERP_AWS_STATUS;
- CLEAR_TABLES_BEFORE_INTEGRATION: assinalado com valor "true" ou "false" (valor padrão) que indica se o recurso de limpeza de registros antigos das tabelas de pendências RTC_PENDENCIES e RTC_ERP_AWS_STATUS é executado antes de efetuar uma migração;
- PAGE_SIZE: quantidade máxima de pendências que serão lidas a cada vez (padrão: 10000);
- MESSAGE_PENDENCIES_SIZE: define a quantidade máxima de pendências que existirá em uma mensagem enviada para a nuvem (padrão: 10000);
- MESSAGE_NUMBER_SIZE: define o tamanho máximo em kilobytes que uma mensagem pode conter ao ser enviada para a nuvem, ao atingir este valor uma nova mensagem será criada (padrão: 512);
- CHECK_RABBIT_QUEUE_SIZE: define se deverá ser monitorada a fila local do RabbitMQ antes da execução da integração contínua (padrão: false);
- RABBIT_QUEUE_SIZE_THRESHOLD: tamanho máximo que a fila local do RabbitMQ poderá ter antes de executar a integração contínua. Este parâmetro só é usado se o parâmetro CHECK_RABBIT_QUEUE_SIZE estiver definido para true (padrão: 4000);
- DATA_REPOSITORY_REQUEST_TIMEOUT: timeout (em milissegundos) utilizado nas requisições para o repositório de dados (blob-service, jackrabbit, ...) (padrão: 30000);
- PROXY_HOST: nome do servidor proxy, na ausência de valor é lido do arquivo G5 (se houver), caso contrário é considerado que não existe servidor proxy;
- PROXY_PORT: porta do servidor proxy, na ausência de valor é lido do arquivo G5 (se houver) (padrão: 3128);
- PROXY_USER: usuário do servidor proxy, se houver autenticação. Na ausência de valor é lido do arquivo G5 (se houver), caso contrário não é feita autenticação;
- PROXY_PASS: senha do servidor proxy, se houver autenticação. Na ausência de valor é lido do arquivo G5 (se houver);
- PROXY_EXCEPTIONS: lista dos hosts que não devem passar pelo proxy. Por exemplo: senior.com.br. Esta configuração não é lida da G5, então deve sempre ser informada por environment;
- NUMBER_RECORDS_TO_CLEAN_PER_TIME: define a quantidade máxima de registros que serão deletados no processo de limpeza (padrão: 1000);
- DIAGNOSTIC_PORT: a porta de diagnóstico do serviço padrão é alocada pelo Java ao iniciar um ambiente. Caso exista outro serviço sendo iniciado na mesma máquina, sem este parâmetro informado, o serviço será finalizado, pois a porta já está em uso;
- MAIN_DELAY: define o tempo em milissegundos de espera entre os ciclos de tentativas (padrão: 270000);
- RETRY_DELAY: define o tempo em milissegundos de espera entre as tentativas para restabelecer o serviço (padrão: 5000);
- START_RETRIES: define a quantidade máxima de cada ciclo de tentativas para restabelecer o serviço (padrão: 6);
- MESSAGE_PENDENCIES_INTERVAL: limita o tempo, em millissegundos, que um pacote de dados é processado (padrão: 60000).
- Acesse Tecnologia > Administração > Gestão dos Tenants > Serviços/Componentes e clique em Atualizar;
- Se a nuvem conseguir se comunicar com o ambiente on-premises , na seção On-Premises será apresentado o serviço Integration;
- Clique em Aplicar ao ambiente para gravar a configuração;
- Acesse Tecnologia > Administração > Integrador > Carga Inicial;
- Verifique no rodapé da página a versão do backend, indicando a versão do integrador que foi instalado no on-premises.
O procedimento de atualização via Instalador G5 é o mesmo que foi detalhado anteriormente. Porém, em casos excepcionais, pode ser necessário efetuar a atualização manual do integrador. Para isso, realize os seguintes passos:
- Faça o download do pacote do integrador no FTP2;
- Extraia e descompacte o pacote (.zip) em uma pasta temporária e pare o serviço Windows do Integrador;
- Acesse a pasta onde está instalado o Integrador e localize o arquivo integration-x.x.x-assembled.jar, geralmente, na sub-pasta Sapiens na pasta Senior;
- Renomeie o arquivo para .bkp, por exemplo, integration-3.2.2-assembled.bkp, como forma de backup deste arquivo;
- Copie o arquivo .jar da pasta temporária na qual foi obtido a nova versão do Integrador no FTP2, por exemplo, integration-3.4.6-assembled.jar;
- Renomeie o arquivo recém copiado para exatamente o nome do arquivo antigo, por exemplo, integration-3.2.2-assembled.jar.
Isso se faz necessário pois o serviço Windows irá utilizar exatamente este nome que foi especificado durante a instalação pelo instalador da G5.
- Inicie novamente o serviço Windows do Integrador.
A sincronização de usuários consiste em solicitar que seja feita uma carga inicial do usuários a partir da solução Senior e, em seguida, ativar a sincronização automática para mantê-los atualizados. O integrador no on-premises, ao receber a solicitação de importação, gera um arquivo com as informações dos usuários no sistema e efetua o upload para a nuvem.
Ao receber o arquivo, a nuvem fará o processamento e ao seu término, notifica o usuário administrador, fornecendo um relatório com os usuários e grupos que foram importados ou não.
Importante
A importação de usuários para a plataforma através do Integrador acontece apenas para autenticação G5, ou seja, feita pelo Senior Gerenciador de Usuários. Caso a autenticação definida for LDAP, ADFS ou NTLM, a replicação de usuários é feita com base nas configurações de integração definidas na plataforma.
- Acesse a plataforma com usuário administrador do tenant;
- Acesse Tecnologia > Administração > Gestão dos Tenants > Configurar;
- Selecione o tenant e clique em Configurações;
- Na guia autenticação, no campo Tipo de autenticação, selecione a opção "Autenticação na G5" e clique em Salvar;
- Acesse Tecnologia > Administração > Gestão dos Usuários e clique em Integração de usuários G5;
- Clique em Verificar conexão para conferir que a comunicação com o Integrador está funcionando corretamente;
- Clique em Importar usuários. Ao final do processo é enviada uma notificação ao usuário administrador e um relatório indicando sucesso ou falha na sincronização dos usuários;
- Clique no botão Importar usuários. Ao final do processo será enviada uma notificação ao usuário administrador e um relatório indicando sucesso ou falha na sincronização dos usuários. Este procedimento pode demorar alguns minutos para ser concluído. Caso este botão esteja desabilitado, acesse Tecnologia > Administração > Integrador > Replicação e pause a replicação.
- Com a importação de usuários concluída com sucesso, clique em Habilitar sincronização automática. Isto fará com que as alterações realizadas no sistema sejam replicadas na nuvem. A indicação que a sincronização foi habilitada com sucesso, porém o Integrador está pausado ou parado, é feita a partir de um alerta (notificação laranja). Para isso, acesse Tecnologia > Administração > Integração > Replicação e clique em Iniciar.
Para validar que a replicação de usuários está ocorrendo com sucesso, é possível alterar o nome completo ou descrição de um usuário ativo no Senior Gerenciador de Usuários. Aguarde aproximadamente um minuto para que a sincronização ocorra e, em seguida, consulte o cadastro do usuário em Tecnologia > Administração > Gestão de Usuários e verifique se os dados alterados no Senior Gerenciador de Usuários foram replicados na XPlatform.
Importante
As configurações das autenticações LDAP e SAML podem variar de acordo com o software utilizado. Portanto, entre em contato com a área IT Services - Consultoria para realizar as configurações necessárias.
Verifique que a nuvem e o ambiente on-premises estão conseguindo se comunicar com sucesso seguindo os seguintes passos:
Execute a seguinte linha de comando telnet {{servidor}} {{porta}}, por exemplo, telnet servidor001 5671.
Uma tela preta irá aparecer e, em seguida, ao pressionar várias vezes CTRL + X, uma mensagem de "Conexão ao host perdida" será informada.
Pelo browser, acesse a URL do gerenciador web do RabbitMQ e efetue o login. Verifique a guia Overview no gerenciador.
Acesse a pasta onde está instalado o Integrador e localize o arquivo de log gerado pelo integrador. No log não deve constar Exceptions ou mensagens de falha na comunicação com AMQP, TCP e SQL.
Pelo browser, acesse a URL do gerenciador web, por exemplo, https://servidor:15671. Efetue o login e então acesse a guia Queue, que deve listar filas com o nome "senior.platform.cloud.integration".