Skip to content

Casos de Uso: Construindo Plataformas com o Refluxo

Embora a engine Refluxo seja uma ferramenta poderosa para orquestrar workflows diretamente no seu código, um de seus principais objetivos de design é servir como uma camada fundamental para a construção de plataformas de nível superior, tais como:

  • Plataformas Low-code/No-code semelhantes ao N8N ou Zapier.
  • Ferramentas internas de Gerenciamento de Processos de Negócio (BPM).
  • Orquestradores de pipeline de CI/CD.
  • Sistemas de automação de IoT (Internet das Coisas).

O modelo arquitetural do Refluxo oferece várias vantagens chave que o tornam excepcionalmente adequado para esses casos de uso.

A Vantagem da Flexibilidade

1. Estado Desacoplado (O Snapshot)

A engine é stateless. Todo o estado de um workflow é encapsulado em um único objeto JSON serializável: o Snapshot.

  • Benefício para Plataformas: Isso muda o jogo. Um serviço de backend pode executar um único passo de um workflow, salvar o snapshot resultante em qualquer banco de dados (como PostgreSQL, MongoDB ou Redis) e ser encerrado. Uma aplicação frontend separada pode então ler esse mesmo snapshot para renderizar uma visualização em tempo real do progresso do workflow, inspecionar a saída de cada nó e exibir o histórico de execução. Não há necessidade de uma sincronização de estado complexa entre o executor do backend e a UI do frontend.

2. Definições Amigáveis para o Frontend

Uma WorkflowDefinition (definição de workflow) é um objeto JSON declarativo.

  • Benefício para Plataformas: Essa estrutura pode ser facilmente gerada e manipulada por uma interface visual. Você pode construir um editor de arrastar e soltar (drag-and-drop) usando bibliotecas como React Flow ou Svelte Flow que gera um JSON de WorkflowDefinition. Esse JSON é então enviado para o backend para ser executado pela engine Refluxo. A engine se torna a força invisível por trás da sua plataforma de automação visual.

3. Nós Plugáveis e Dinâmicos

Os comportamentos dos nós não são fixos no código da engine. Eles são fornecidos como objetos NodeDefinition.

  • Benefício para Plataformas: Isso permite que você construa uma arquitetura de plug-ins. Sua plataforma poderia carregar dinamicamente novas definições de nós de diferentes arquivos ou até mesmo de um banco de dados. Usuários ou desenvolvedores poderiam contribuir com novos nós (ex: "Enviar um Tweet", "Adicionar uma linha ao Google Sheets") simplesmente fornecendo uma nova NodeDefinition, tornando sua plataforma altamente extensível.

4. Embutível e Portátil

O Refluxo é uma biblioteca, não um serviço autônomo.

  • Benefício para Plataformas: Isso lhe dá máxima flexibilidade. Você pode embutir a engine dentro de uma aplicação SaaS multi-tenant, um aplicativo de desktop construído com Electron, uma ferramenta de linha de comando interna ou uma rede de workers distribuídos na borda (edge). A lógica principal permanece a mesma, permitindo que você construa uma experiência de automação consistente em diferentes produtos e ambientes.

Ao alavancar esses princípios, você pode focar na construção da sua experiência de usuário e lógica de negócio únicas, enquanto confia no Refluxo para fornecer o núcleo de orquestração robusto, escalável e flexível.