Skip to content

Conceitos de Domínio

Para compreender o ciclo de vida e a execução de integrações na plataforma, é fundamental entender como os recursos são organizados estruturalmente (Hierarquia) e como os dados trafegam durante a execução em tempo de execução (Runtime).


A estrutura organizacional do bdot garante governança, controle de acesso e versionamento isolado para os fluxos de integração. A organização segue uma hierarquia estrita de quatro níveis:

Hierarquia do domínio
$$\text{Projeto} \longrightarrow \text{Pacote} \longrightarrow \text{Fluxo} \longrightarrow \text{Versão}$$

1. Projetos

O Projeto é o contêiner de nível superior no ecossistema. Funciona como um agrupador macro para um domínio de negócio ou sistema (ex: Financeiro, ERP-Integration, E-commerce).

2. Pacotes

O Pacote é uma subdivisão dentro de um projeto que agrupa fluxos correlatos por afinidade funcional ou módulo (ex: Faturamento, Clientes, Notificacoes).

3. Fluxos

O Fluxo é a entidade abstrata que representa um processo ou pipeline de integração específico (ex: EmitirNotaFiscal, ProcessarWebhookPagamento).

4. Versões

A Versão representa a implementação física e executável de um fluxo em um dado momento.

  • Possui metadados como nome, código único (UUID), descrição e documentação de suporte em Markdown (README.md).

  • Define o limite de escopo para relatórios e agrupamentos operacionais no Console.

  • Possui identificadores estruturados (nome, código UUID e slug).

  • O slug do pacote compõe a rota amigável de execução para invocações públicas de APIs.

  • Define o Inicializador HTTP padrão esperado para acionar a rotina (ex: POST, GET, PUT).

  • Possui um código único e um slug amigável que, combinado com os slugs de Projeto e Pacote, constrói o endpoint público REST.

  • Um fluxo não possui lógica executável por si só; ele funciona como um contêiner para suas diferentes Versões.

  • Modelagem Visual: Contém o diagrama de blocos inspirado na notação BPMN, definindo as etapas de processamento e os caminhos de destino entre elas.

  • Ciclo de Vida: Evolui através de estados bem definidos:

  1. CRIADO

    Versão recém-instanciada, ainda sem o modelo gráfico construído. Não permite publicação em ambientes.

  2. DESENVOLVIMENTO

    O modelo visual está aberto para criação e modificação de etapas e destinos. Permite publicação, possibilitando testes e validações em ambientes de desenvolvimento ou homologação.

  3. PRONTO

    Sinaliza que o modelo visual foi finalizado e congelado contra alterações no diagrama. Permite publicação em qualquer ambiente


Quando uma requisição atinge a plataforma, o mecanismo de execução instancia estruturas temporárias em memória (cache de sessão) para manter o isolamento e a rastreabilidade do processamento.

A Sessão representa a instância completa de execução de um fluxo do início ao fim.

  • Identificador Único (idSessao): Um UUID atribuído no momento em que a requisição é aceita pela Engine. Permite correlacionar todas as etapas e logs do fluxo.

  • Escopo e Modo: Carrega o ambiente de execução, a tag da versão ativa, a origem da execução (PUBLICO, INTERNO ou AGENDADOR) e se o processamento é síncrono ou assíncrono (fire-and-forget).

  • Estado de Execução: Mantém em memória o mapa de dados dinâmicos acumulados durante o percurso, os históricos de retornos das etapas anteriores e o status atual da sessão (em andamento, concluída ou interrompida por erro).

A Transação representa o contexto atômico de uma requisição HTTP ou evento de entrada que originou a criação da sessão.

  • Parâmetros de Entrada: Isola e armazena os dados brutos recebidos na chamada antes de serem consumidos pelos runners:

  • Corpo (body): Payload serializado da requisição.

  • Query Params: Parâmetros passados via URI.

  • Autenticação (auth): Tokens de autorização transmitidos na requisição original.

  • Saída da Transação: Armazena os adaptadores aplicados e os dados de resposta final que devem ser devolvidos ao cliente no término da sessão síncrona.