Atividades

Tarefa de Script(Script Task)

Uma tarefa executada pelo próprio motor de processos, rodando um script definido no modelo (ex.: JavaScript, Groovy). Quando o script termina, a tarefa conclui. Marcador de pergaminho/script.

A Tarefa de Script (Script Task) embute uma lógica executável diretamente no processo: o modelador define a linguagem e o corpo do script, e o motor o interpreta quando o token chega.

Ela brilha para lógica de cola — calcular um valor, transformar dados entre passos, definir variáveis — onde subir um serviço externo seria exagero. O contraponto: scripts escondem lógica dentro do diagrama, então o uso pesado prejudica a manutenção. Mantenha scripts curtos; promova qualquer coisa substancial a Tarefa de Serviço ou de Regra de Negócio.

Quando usar e evitar

Quando usar

  • Para cálculos pequenos: apurar um score, derivar uma data-limite, formatar um número de referência.

  • Para transformação de dados entre atividades (mapear campos, agregar valores).

  • Quando chamar um serviço externo adicionaria latência e custo operacional para lógica trivial.

Quando NÃO usar

  • Para integração com sistemas externos — isso é Tarefa de Serviço.

  • Para decisões de negócio que mudam com frequência (regras de preço, elegibilidade) — a Tarefa de Regra de Negócio as mantém em tabela de decisão que o negócio mantém.

  • Para lógica longa ou pesada — scripts rodam dentro do motor e podem degradá-lo.

Exemplo de negócio

Calculando o score de risco em um pedido de crédito

Diagrama BPMN: Calculando o score de risco em um pedido de crédito
Calculando o score de risco em um pedido de crédito

Abra este exemplo no editor de processos da HEFLO e explore o diagrama por dentro.

Abrir no editor HEFLO →

Passo a passo

  1. O processo inicia com o pedido de crédito recebido.
  2. A Tarefa de Script “Calcular score de risco” (destacada) roda dentro do motor: combina renda, histórico e valor em um score numérico — sem chamada externa, sem humano.
  3. Rotear pela política de crédito usa o score produzido para conduzir a decisão em seguida.

O script produz o dado que o passo seguinte consome — o uso mais idiomático de uma tarefa de script.

Diferenças

Diferença entre Tarefa de Script e Tarefa de Serviço

A de Script roda lógica *dentro* do motor, escrita no modelo. A de Serviço delega a algo *de fora* — API, serviço, outro sistema. Cola interna → Script; integração → Serviço.

Diferença entre Tarefa de Script e Tarefa de Regra de Negócio

Ambas computam automaticamente, mas a de Regra de Negócio externaliza a decisão para um motor de regras/tabela (tipicamente DMN) mantida pelo negócio, enquanto a de Script enterra a lógica em código no modelo. Se as regras mudam com o negócio, prefira a Regra de Negócio.

FAQ

Quais linguagens de script posso usar?

As que seu motor suportar — o atributo scriptFormat declara a linguagem. JavaScript e Groovy são as mais comuns na prática.

Por que manter scripts curtos?

Scripts são invisíveis para quem lê o diagrama e difíceis de testar isoladamente. Scripts longos transformam o modelo em repositório de código sem a ergonomia de versionamento — mova lógica substancial para serviços.

Elementos relacionados