Trilha 02 · BPMN na prática
Prazos, exceções e subprocessos
O caminho feliz é a parte fácil. O valor de um processo bem desenhado está em como ele trata o que dá errado: prazo vencido, documento recusado, parceiro que não responde, cliente que desiste.
Por que as exceções importam tanto
Em entrevistas de AS-IS, quando você pergunta “e quando dá errado?”, a pessoa costuma falar por meia hora. É ali que está a dor: o retrabalho, as planilhas paralelas, os e-mails de cobrança. Um processo que só modela o caminho feliz obriga as pessoas a tratar as exceções fora do sistema — e aí você perdeu o controle e a rastreabilidade.
Regra prática: se uma exceção acontece em mais de 5% dos casos, ou se ela tem risco alto (multa, prazo legal, perda de cliente), ela merece estar no diagrama. Exceções raras e de baixo risco podem ser tratadas por ações administrativas (reatribuir, cancelar com motivo).
Os cinco padrões de exceção
1. Prazo que cobra sem tirar a tarefa
Evento de borda de tempo não interruptivo. A tarefa continua com o responsável e um caminho paralelo cobra ou avisa. É o padrão mais usado no Autoflow.
2. Prazo que muda o destino
Evento de borda de tempo interruptivo: a tarefa é cancelada e o processo segue outro caminho. Ex.: “cidadão não complementou em 30 dias → arquivar”.
3. Devolução para correção (pendência)
Uma etapa de análise devolve para quem pode corrigir, e depois volta para quem devolveu. O fluxo real de venda de veículos faz isso com uma variável origem:
- “Autorizar a proposta” grava
origem = AUTORIZAR_PROPOSTAe o gestor escolheacao = pendencia. - “Corrigir pendência” vai para o iniciador (
${initiator}). - Um gateway “Retorno da pendência” testa
${origem == 'AUTORIZAR_PROPOSTA'}e devolve para a etapa certa.
Assim, um único “Corrigir pendência” atende várias etapas que podem devolver, sem duplicar o desenho.
4. Recusa de sistema externo
Evento de borda de erro no bloco de integração. A recusa vira um caminho de negócio (“Corrigir dados para o despachante”), não um incidente técnico.
5. Desistência / cancelamento
Um gateway após a etapa onde a desistência pode acontecer (ex.: depois da Solicitação de documentos testando documentGateOutcome == 'CANCELLED'), levando a um fim “Cliente desistiu”. Para cancelamentos administrativos a qualquer momento, o Autoflow tem o botão Cancelar processo (com motivo obrigatório e registro na auditoria) — não é preciso desenhar.
Tudo junto em um fluxo real
O fluxo de integração com o despachante combina vários padrões: solicitação de documentos com cancelamento, envio com captura de erro, espera com cobrança por prazo e validação do retorno.
Simule e procure: (1) o evento de erro na borda do envio, (2) o relógio tracejado na espera do CRLV levando a “Cobrar despachante”, (3) o gateway que reenvia quando o CRLV é reprovado. São três exceções diferentes tratadas no desenho, cada uma com seu caminho.
Subprocessos e reaproveitamento
Quando um trecho se repete ou deixa o diagrama poluído, você tem duas opções:
| Opção | Como é | No Autoflow |
|---|---|---|
| Subprocesso embutido | Um bloco expansível dentro do mesmo diagrama | Executa no motor, mas não é usado nos fluxos de referência. Prefira fluxos planos |
| Atividade de chamada | Chama outro processo publicado, reutilizável | É o mecanismo da Solicitação de documentos (subprocesso de sistema pf-document-gate) |
A Solicitação de documentos é o maior exemplo de reaproveitamento no Autoflow: o mesmo subprocesso de sistema atende qualquer fluxo, com a política (quais documentos, quem valida, prazo, rodadas) vindo do Requisito cadastrado, e não do desenho. Ela aparece no detalhe do processo como Subprocessos. Note que esse subprocesso sempre usa a versão mais recente (latest), diferente do seu fluxo, que fica preso à versão em que o processo nasceu.
Incidentes não são exceções de negócio
Diferencie duas coisas:
| Exceção de negócio | Incidente técnico | |
|---|---|---|
| Exemplo | Cliente desistiu; documento recusado | Integração fora do ar; condição sem saída |
| Onde se trata | No diagrama (gateways, eventos de borda) | Em Monitoramento › Incidentes |
| Quem resolve | O próprio fluxo, com as pessoas | Suporte/administrador: Retentar, Corrigir variáveis, Pular |
| Ideal | Previsto e modelado | Raro; cada incidente é aprendizado para o desenho |
Se o mesmo tipo de incidente se repete, ele não é mais “técnico”: é uma exceção de negócio que faltou modelar. Exemplo: o despachante recusa 10% dos envios com HTTP 422 → configure o código de erro e desenhe o caminho de correção.
Resumo
- Modele exceções frequentes ou arriscadas; trate as raras com ações administrativas.
- Cinco padrões: prazo que cobra, prazo que redireciona, pendência com retorno, recusa externa, desistência.
- A pendência com variável
origemevita duplicar etapas de correção. - Reaproveitamento no Autoflow é pela atividade de chamada (Solicitação de documentos).
- Incidente repetido é exceção de negócio que faltou desenhar.