Implantação da plataforma sob a gestão do Orquestrador#

Diagrama de implantação da plataforma Sherpa RPA sob a gestão do Orquestrador mostra as opções de interação do Orquestrador com outros componentes da plataforma Sherpa RPA:

  • Servidor RDP com contas de usuários Unattended – Sherpa Coordinator Service + Sherpa Unattended Robot
  • Estação de trabalho do desenvolvedor (Windows) — Sherpa Designer + Sherpa Robot
  • Estação de trabalho do cliente (Windows) – Attended Robot
  • Estação de trabalho com navegador.

Sequência do processo#

A sequência a seguir descreve como um cenário passa do desenvolvimento à execução por um Robô Attended ou Unattended.

  1. O desenvolvedor cria um cenário no Sherpa Designer e o depura com um Sherpa Robot local. O cenário concluído é transferido para uma estação do Usuário ou Robô pela cópia do arquivo de configuração, ou publicado do Sherpa Designer no Sherpa Orchestrator.

  2. O componente servidor Sherpa Orchestrator mantém a comunicação com os robôs em execução nas máquinas clientes, armazena as configurações dos robôs e versões dos scripts, variáveis globais compartilhadas e credenciais, logs e capturas de tela do funcionamento dos robôs, registros de auditoria do orquestrador, Usuários, Funções e Contas do próprio Orquestrador, licenças de todos os componentes da plataforma e estatísticas de execução dos scripts.

  3. Usuários e administradores abrem a interface web do Sherpa Orchestrator em um navegador para gerenciar recursos, configurar o sistema e consultar estatísticas. A instalação do servidor inclui Nginx, PHP e um banco relacional: MariaDB por padrão ou PostgreSQL.

  4. Usuários locais, se necessário, iniciam o Sherpa Attended Robot para executar scripts armazenados localmente. Durante a execução do script, o Sherpa Attended Robot pode enviar ao Orquestrador o status atual, tarefas, logs, valores de variáveis globais e credenciais ou receber dele tarefas, valores de variáveis globais e credenciais.

  5. Ao iniciar por agendamento, chamada de API, comando do Robô ou outra condição compatível, o Sherpa Orchestrator envia uma tarefa ao Sherpa Coordinator Service no servidor de terminais. O serviço cria uma conexão RDP com a conta local ou remota do Robô Unattended. Várias contas podem funcionar simultaneamente em um servidor de terminais.

    O acesso à conta do robô Unattended é feito com o login e senha fornecidos pelo Orquestrador.

    Após o login na conta, é iniciada a respectiva instância do Sherpa Unattended Robot, que se conecta ao Orquestrador, recebe a tarefa de execução do script e o próprio script, armazenado no orquestrador.

    Durante a execução do script, o Sherpa Unattended Robot pode enviar ao orquestrador o status atual, tarefas, logs, valores de variáveis globais e credenciais ou receber dele tarefas, valores de variáveis globais e credenciais, comandos para a finalização "suave" ou "dura" do script.

    Após a conclusão da execução do script, o Sherpa Unattended Robot faz logoff de sua conta.

Robôs Attended executam cenários locais de forma autônoma. O Sherpa Orchestrator fornece o gerenciamento centralizado de vários Robôs e sua interação.

Conexão com um banco de dados externo#

Esta seção descreve a conexão da aplicação a um banco preparado por um administrador. Para um banco de alta disponibilidade, o administrador define a topologia, a replicação, o balanceamento e a alternância entre servidores. A quantidade de máquinas virtuais e endereços IP depende da solução escolhida e é acordada no projeto da instalação.

Na distribuição Docker do Sherpa Orchestrator 5.9.4, os parâmetros de conexão são definidos em /opt/SherpaOrchestrator/.env. O administrador de banco de dados deve preparar previamente um endereço de conexão acessível, um banco de dados e as credenciais. Ao alterar o endereço de uma instalação existente, o banco de dados de destino deve conter os dados dessa instalação.

Para configurar a conexão, é necessário realizar as seguintes etapas:

  1. Definir em .env os parâmetros do sistema de banco de dados selecionado:

    Sistema de banco de dados Seleção do sistema Endereço de conexão Parâmetros de conexão
    MariaDB DB_ENGINE=mysql MYSQL_HOST — endereço do servidor ou balanceador do BD MYSQL_PORT, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DB
    PostgreSQL DB_ENGINE=pgsql POSTGRES_HOST — endereço do servidor ou cluster de BD POSTGRES_PORT, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DBNAME, POSTGRES_SCHEMA_NAME

    O endereço deve estar acessível a partir do contêiner orchestrator. Preserve os parâmetros existentes do banco de arquivo ao configurar a conexão com o banco principal.

  2. A partir de /opt/SherpaOrchestrator, recriar o contêiner da aplicação para aplicar as variáveis de ambiente. A aplicação ficará indisponível enquanto o contêiner estiver sendo recriado:

    docker compose up -d --no-deps --force-recreate orchestrator
    
  3. Verificar se a aplicação inicia sem erros de conexão com o BD:

    docker compose logs --tail=100 orchestrator
    

    Após a inicialização, a interface web do Orquestrador deve abrir. Se a conexão falhar, é necessário verificar o endereço, a porta, a acessibilidade do BD a partir do contêiner e as permissões da conta.

O contêiner orchestrator recebe os parâmetros por meio de env_file: .env. No arquivo padrão docker-compose.client.yml, ele não tem uma dependência depends_on do BD. Para configurar o endereço do BD, não é necessário adicionar DB_HOST, comentar essa dependência nem editar manualmente backend/config/config.ini e backend/config/phinx.php.