TheCodeNaked

Paralelismo - Episódio 21 (Copy)

Episódio 21 – Parâmetros Dinâmicos no Workflow: personalização sem limites

O interpretador baseado em JSON já percorreu um bom caminho. Mas até agora, ele executa ações estáticas, pré-definidas, quase como comandos rígidos. E se pudéssemos tornar isso mais flexível? E se cada ação recebesse parâmetros específicos, como:

{
  "acao": "EnviarEmail",
  "para": "cliente@exemplo.com",
  "assunto": "Promoção",
  "mensagem": "Desconto especial para você!"
}

Ou ainda:

{
  "acao": "AtualizarStatus",
  "idPedido": 12345,
  "status": "Enviado"
}

Bem-vindo ao poder dos parâmetros dinâmicos.


🧠 O que muda?

Até aqui, nossas ações seguiam um formato fixo:

{"acao": "GerarRelatorio"}

Agora, cada ação poderá receber seus próprios argumentos, acessíveis dentro do callback.

Essa abordagem:

  • Elimina a necessidade de múltiplos ifs internos
  • Transforma o JSON em uma DSL leve e poderosa
  • Permite reutilizar ações com diferentes configurações

🔧 Como implementar?

Vamos alterar a estrutura do nosso RegisterAction para permitir o uso de TJSONObject:

FActionMap.AddOrSetValue('EnviarEmail',
  procedure(const Params: TJSONObject)
  var
    Para, Assunto, Mensagem: string;
  begin
    Para := Params.GetValue('para').Value;
    Assunto := Params.GetValue('assunto').Value;
    Mensagem := Params.GetValue('mensagem').Value;
    // Lógica de envio de email aqui
  end);

Simples. Poderoso. Flexível.


🔄 Evolução do interpretador

Agora, o JSON é mais do que um conjunto de comandos. Ele virou um script de fluxo de trabalho parametrizado.

Você pode criar:

  • Regras de automação
  • Processos ajustáveis sem recompilação
  • Ações reutilizáveis que respondem a configurações

🧩 Benefícios para sistemas reais

  • Backoffice configurável: adicione novos comportamentos sem mudar o código.
  • Automação comercial: crie regras de envio, notificações ou validações em tempo real.
  • Integração com IA: respostas da IA podem gerar novos fluxos JSON parametrizados.

Próximos passos

No episódio 22, vamos tratar de:

  • Validação automática de parâmetros obrigatórios
  • Tipagem leve para evitar erros de tempo de execução
  • Sugestão de parâmetros default para simplificar configurações

Agora que temos ações com argumentos, o céu é o limite.


Um interpretador com parâmetros é como um verbo com sujeito, predicado e intenção. Começamos a falar uma linguagem completa.
Sobre o autor

TheCodeNaked

No TheCodeNaked, programar é consequência, não ponto de partida. Antes do código, vem a dúvida, a análise, o contexto. Não seguimos fórmulas — questionamos. Criar software é pensar com clareza. O resto é só digitação.

TheCodeNaked

Criar com clareza. Codificar com intenção.

TheCodeNaked

Ótimo! Você se inscreveu com sucesso.

Bem-vindo de volta! Você acessou com sucesso.

Você se inscreveu com sucesso o TheCodeNaked.

Sucesso! Verifique seu e-mail para acessar com o link mágico.

As suas informações de faturamento foram atualizadas.

Seu pagamento não foi atualizado