Sobre os Estados das Etapas
Em um nível alto, cada etapa em um fluxo de trabalho representa uma atividade em um processo geral de negócios, por exemplo, verificar o status da implementação em um fluxo de trabalho de processamento de empréstimo.
Para a maioria do usuários, o conceito de uma etapa como uma única ação é adequado, embora na realidade uma etapa passe por uma série de fases separadas, conhecidas como estados. Dentro de cada estado, o software do sistema executa uma ou mais operações no item de trabalho. Geralmente, o estado da etapa é transparente para os usuários. Todavia, os autores de fluxo de trabalho e os desenvolvedor de aplicativos podem precisar entender os estados da etapa para tomar decisões informadas na definição de fluxo de trabalho e no design do aplicativo.
A seguir há uma visão geral das operações que podem ocorrer dentro de uma etapa. As operações são listadas sequencialmente e são agrupadas em seus respectivos estados (cada estado é numerado). A visão geral também mostra pontos nos quais o fluxo de controle pode se mover para outro mapa do fluxo de trabalho (indicado por =>).
- Etapa Anterior
- Une filhos e pai na fila de Atrasos
- Se for o último filho, então avança o pai na etapa
- Condição Prévia
- Limpa F_Comment
- Limpa F_Responses e F_ResponseCount
- Pré-designação
- Executa pré-designações
- [=> Exceção]
- Executa pré-designações
- Marco
- Executa pré-marco
- Prazo
- Calcula expressão de prazo final
- [=> Exceção]
- Se necessário, calcula a expressão de lembrete
- [=> Exceção]
- Calcula expressão de prazo final
- Fila
- Se necessário, divide em itens de trabalho com múltiplos participantes
- Se necessário, o item de trabalho de fila. Enquanto que o item de
trabalho estiver em uma fila:
- [=> Chamada de API]
- [=> Exceção de API]
- [=> Expiração de Cronômetro]
- Pós-designação
- Verifica respostas
- Executa pós-designações
- [=> Exceção]
- Etapa de Encerramento
- Executa pós-marcos
- Avalia o roteamento
- Limpa F_Responses e F_ResponseCount
- Limpa F_Comments
- Rota
- Se necessário, divide em filhos
- Se necessário, armazena o pai na fila de Atrasos
- Move o item de trabalho ou os itens de trabalho para a próxima etapa
Um mapa do fluxo de trabalho que assume o controle (em um ponto marcado com => acima) poderia conter uma função de sistema Retornar. Cada função Retornar inclui uma opção tentar novamente que informa ao Interpretador de Folha de Instruções (ISI) para ignorar ou repetir o estado contendo a entidade de chamada quando o controle retornar ao mapa de fluxo de trabalho original. Por exemplo, se ocorrer uma exceção no estado de pós-designação durante a execução de pós-designações (7b acima), essa exceção é a entidade de chamada. Se o ISI atingir uma função de sistema Retornar no mapa de fluxo de trabalho chamado, o controle retorna ao mapa de fluxo de trabalho original (de chamada). Dependendo de como a função Retornar estiver definida, o ISI irá repetir ou ignorar o estado de pós-designação ao retornar ao mapa de fluxo de trabalho de chamada. Observe que a definição de repetir ou ignorar se aplica ao estado, não à operação dentro do estado que acionou a entidade de chamada. A tabela a seguir indica o comportamento do ISI correspondente tanto para retornar quanto para ignorar.
Opção de tentar novamente | Comportamento do ISI ao retornar ao mapa de chamada |
---|---|
Repetir | Move o item de trabalho para o início do estado em que ele estava quando o outro mapa foi chamado. |
Ignorar | Move o item de trabalho para o início do próximo estado (ou seja, o estado seguinte ao estado no qual o item de trabalho estava quando o outro mapa foi chamado). |