Skip to content

Componentes do Ecossistema

A plataforma é estruturada em componentes independentes e especializados que colaboram para oferecer desde a modelagem visual dos fluxos até a execução assíncrona e coleta de métricas.


A imagem abaixo ilustra a relação e o fluxo de interação entre os componentes centrais da plataforma:

Diagrama de componentes
┌────────────────────────────────────────────────────────────────────────┐
│ CONSOLE │
│ - Editor Visual (Inspirado em BPMN) - Gestão de Ambientes │
│ - Gestão de Projetos e Fluxos - Publicação e Segurança │
└───────────────────────────────────┬────────────────────────────────────┘
│ Sincronização de Publicações /
│ Configurações de Agendamento
┌───────────────────────────────────┬────────────────────────────────────┐
│ AGENDADOR │ ENGINE │
│ - Reconciliação CRON │ - Entrada REST (Public/Internal) │
│ - Disparo de Tarefas Programadas │ - Validação de Segurança/Escopo │
│ - Rastreio de Eventos │ - Gestão de Sessão e Espera │
└─────────────────┬─────────────────┴─────────────────┬──────────────────┘
│ │
└────────► [ Invocação HTTP ] ──────┤
│ Eventos de Etapa
┌────────────────────────────────────────────────────────────────────────┐
│ RUNNERS │
│ - Entrada (Regex/Query/Body) - Script JS │
│ - Saída (Persistência de Sessão) - Autorreferência (Recursão) │
│ - Cliente HTTP External - Banco de Dados (SQL) │
│ - Segurança (Validação OIDC/SSO) - Cache (Chave/Valor) │
└────────────────────────────────────────────────────────────────────────┘

Console

O Console é a interface administrativa e ponto central de controle da plataforma. Ele gerencia o ciclo de vida completo dos ativos de integração.

Engine

A Engine atua como o ponto de entrada de alta performance para a execução dos fluxos. Suas responsabilidades cobrem o ciclo inicial de recebimento e validação da requisição.

Runners

Os Runners são nós de processamento especializados e atômicos. Cada runner é responsável por executar um tipo de etapa específico dentro de um fluxo, operando de forma não bloqueante através de threads virtuais.

Agendador

O Agendador é o serviço encarregado da automação temporal de fluxos.


  • Gestão Hierárquica: Organiza o ecossistema na estrutura de Projetos, Pacotes, Fluxos e Versões.

  • Modelagem Visual: Oferece um editor gráfico inspirado na notação BPMN para a construção intuitiva de fluxos através do encadeamento de etapas.

  • Governança e Publicação: Controla os estados da versão (criado, em desenvolvimento, pronto) e gerencia a publicação em múltiplos ambientes, disparando atualizações de cache para os mecanismos de execução.

  • Segurança e Variáveis: Gerencia chaves de API, regras de CORS e mapeamento dinâmico de variáveis de ambiente por versão e ambiente.

  • Rotas de Execução: Expõe endpoints para invocações públicas (resolvidas via slugs de Projeto, Pacote e Fluxo) ou internas/agendadas (resolvidas via código do fluxo).

  • Pipeline de Validação: Verifica a elegibilidade do escopo de origem, valida credenciais de segurança (CORS e API Keys) e extrai parâmetros de entrada (query params, cabeçalhos de autenticação e corpo da requisição).

  • Sessão e Despacho: Cria o identificador único de sessão de execução e despacha a primeira etapa do fluxo para os processadores.

  • Gerenciamento de Resposta: Suporta requisições assíncronas (resposta imediata do ID da sessão) e síncronas (espera otimizada em memória pelo término da execução com timeout parametrizável).

  • Entrada (Validação): Valida query params e corpo da requisição contra regras de obrigatoriedade e expressões regulares.

  • Saída (Persistência): Grava o resultado ou dados específicos da etapa no histórico de sessão do fluxo.

  • Script JS: Executa rotinas escritas em JavaScript para transformações de dados e regras de negócio complexas via compilação nativa.

  • Cliente HTTP: Realiza chamadas para APIs REST externas e sistemas legados.

  • Autorreferência: Permite que um fluxo acione e aguarde a execução de outro fluxo da plataforma, viabilizando modularidade e reutilização de processos.

  • Segurança OIDC/SSO: Valida tokens de autenticação, checando assinaturas, permissões (roles), públicos (audiences) e reivindicações (claims).

  • Cache: Executa comandos de leitura, escrita e verificação de existência contra repositórios de cache em memória.

  • Banco de Dados: Conecta a bancos relacionais para executar consultas nativas ou comandos de atualização.

  • Sincronização Contínua: Executa rotinas periódicas de reconciliação para manter os agendamentos alinhados com o banco de dados (capturando novos agendamentos, atualizações de expressão CRON ou remoções).

  • Disparo Automático: Quando a expressão CRON é atendida, instância uma rotina de background que constrói o contexto de execução e invoca os endpoints da Engine de forma transparente.

  • Rastreabilidade de Disparos: Registra logs detalhados (eventos) de cada execução disparada, contabilizando o tempo de início, duração e o status de retorno da chamada.