Atividades

Tarefa de Serviço(Service Task)

Atividade automática executada por software — um serviço web, uma chamada de API ou uma função de sistema — sem envolvimento humano. O motor invoca a implementação e segue quando ela retorna. Marcador de engrenagem.

A Tarefa de Serviço (Service Task) é o cavalo de batalha da automação: sempre que o processo precisa que um sistema *faça* algo — cobrar um cartão, criar um registro, chamar uma API — a tarefa de serviço é o elemento que declara isso.

Na especificação BPMN 2.0, a tarefa referencia sua implementação (por exemplo, uma operação de serviço web). Em execução, o motor chama essa implementação, mapeia dados de entrada e saída e conclui a tarefa quando a chamada retorna. Falhas são tipicamente modeladas com um Evento de Borda de Erro anexado.

Quando usar e evitar

Quando usar

  • Para trabalho sistema-a-sistema: chamar uma API, atualizar um registro, gerar um documento, efetivar um pagamento.

  • Quando o passo deve rodar sem esperar uma pessoa, mantendo o processo andando 24/7.

  • Quando falhas da integração devem ser tratadas explicitamente no fluxo (borda de erro + caminho alternativo).

Quando NÃO usar

  • Quando uma pessoa decide ou digita os dados — Tarefa de Usuário.

  • Quando o passo automático é uma lógica pequena que o próprio motor executa (cálculo, transformação) — a Tarefa de Script é mais leve que uma chamada de serviço.

  • Quando a essência do passo é *comunicação com outro participante* — Tarefa de Envio / Recebimento expressam melhor a intenção.

Exemplo de negócio

Cobrando o cartão de crédito no checkout

Diagrama BPMN: Cobrando o cartão de crédito no checkout
Cobrando o cartão de crédito no checkout

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 quando o cliente fecha o pedido.
  2. A Tarefa de Serviço “Cobrar cartão de crédito” (destacada) chama o gateway de pagamento — nenhum humano envolvido; o motor só espera a resposta da API.
  3. Atualizar ERP registra o pagamento no back-office, também automaticamente.
  4. O processo termina com o pagamento efetivado.

Em um modelo de produção, você anexaria um Evento de Borda de Erro à cobrança para rotear cartões recusados a um caminho de recuperação.

Diferenças

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

Ambas são automáticas, mas a de Serviço chama algo *fora* do motor (serviço web, API, outro sistema), enquanto a de Script roda um script *dentro* do próprio motor. Regra prática: integração → Serviço; lógica interna pequena → Script.

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

A Tarefa de Envio existe especificamente para transmitir uma *mensagem a outro participante* (outro Pool) e se liga a um fluxo de mensagem. A de Serviço é uma chamada genérica com caráter requisição/resposta. Escolha pela intenção: integração → Serviço; comunicação entre participantes → Envio.

FAQ

O que acontece se a chamada de serviço falhar?

Modele explicitamente: anexe um Evento de Borda de Erro à tarefa e roteie a falha para um caminho de recuperação ou retry. Muitos motores ainda oferecem novas tentativas automáticas antes de levantar o erro.

Tarefa de Serviço é síncrona ou assíncrona?

Conceitualmente conclui quando o trabalho termina. Os motores implementam os dois padrões: chamada bloqueante para operações rápidas e continuação assíncrona (callbacks/filas) para longas — o diagrama fica igual.

Onde a implementação do serviço é definida?

Nos atributos técnicos do modelo (a spec referencia uma operação de interface de serviço). Na prática, cada ferramenta oferece seu binding — endpoint REST, conector, script de integração — configurado na tarefa.

Elementos relacionados