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.
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:
┌────────────────────────────────────────────────────────────────────────┐│ 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.