Atividades

Subprocesso de Evento(Event Sub-Process)

Um subprocesso sem fluxos de entrada/saída, iniciado por um evento (mensagem, erro, timer…) que ocorre enquanto o escopo pai roda. Desenhado com borda pontilhada.

O Subprocesso de Evento (Event Sub-Process) é o guarda de plantão do escopo: dormente até o gatilho do seu evento de início ocorrer em qualquer ponto do escopo ao redor, e então executa — interrompendo o escopo (início de borda sólida) ou em paralelo a ele (início de borda tracejada).

Ele centraliza tratamentos transversais — erros, consultas, cancelamentos — que de outra forma encheriam o fluxo principal de eventos de borda.

Quando usar e evitar

Quando usar

  • Para tratar eventos que podem ocorrer a qualquer momento do escopo: consultas de status, pedidos de cancelamento, erros.

  • Para manter o caminho feliz limpo, concentrando o tratamento de exceções em um lugar visível.

  • Quando o mesmo gatilho deve ser tratado igual, independentemente de onde o escopo esteja.

Quando NÃO usar

  • Quando o gatilho diz respeito a uma atividade só — uma borda nela é mais precisa.

  • Para estrutura sequencial comum — subprocesso embutido.

  • Quando nenhum evento pode de fato alcançar o escopo — guarda morto.

Exemplo de negócio

Tratador de plantão para consultas de status

Diagrama BPMN: Tratador de plantão para consultas de status
Tratador de plantão para consultas de status

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

Abrir no editor HEFLO →

Passo a passo

  1. O fluxo principal do sinistro roda normalmente.
  2. O Subprocesso de Evento (destacado, borda pontilhada) fica à parte, sem fluxos o conectando.
  3. Sempre que uma consulta de status chega, seu início de mensagem não-interrompente dispara o tratador em paralelo — o trabalho do sinistro nem percebe.

Diferenças

Subprocesso de Evento vs. Evento de Borda

A borda guarda uma atividade; o subprocesso de evento guarda o escopo inteiro e carrega dentro seu próprio fluxo de tratamento. Políticas de escopo → subprocesso de evento; reações pontuais → borda.

FAQ

Quais eventos de início ele aceita?

Inícios tipados de captura: mensagem, timer, erro, escalação, condicional, sinal, compensação, múltiplo — cada um interrompente ou (exceto erro/compensação) não-interrompente.

Por que ele não tem fluxos de sequência com o resto?

Por definição — é ativado pelo evento de início, não por tokens chegando; vive ao lado do fluxo, não nele.

Elementos relacionados