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).
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:
$$\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:
CRIADO
Versão recém-instanciada, ainda sem o modelo gráfico construído. Não permite publicação em ambientes.
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.
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.
Sessao)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).
Transacao)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.