Conceitos de Roteamento
Para especificar como o trabalho prosseguirá de uma etapa para a próxima, você define rotas entre as etapas em uma definição de fluxo de trabalho.
Com a exceção da última etapa no mapa, cada etapa tem uma ou mais rotas principais a partir dela.
Rota do fluxo de trabalho | Descrição |
---|---|
Sempre verdade |
Apenas a maioria dos fluxos de trabalho simples prossegue de
uma forma linear de uma etapa para a próxima. Na ilustração (esquerda), cada rota é sempre verdadeira, porque não há condições. Dica: Se você definir uma condição apenas para rotas a partir de uma etapa,
se a condição não for avaliada como true quando a etapa for
concluída, o fluxo de trabalho ou a ramificação específica do fluxo
de trabalho será interrompida.
|
Condição da Rota |
A maioria dos fluxos de trabalho exige ramificação em vários
pontos, como resultado de uma resposta dada por um participante, ou
com base no valor de um ou mais campos no fluxo de trabalho. Na
ilustração (à esquerda), a rota a partir da etapa de ativação é
sempre true. A rota a partir da etapa de Avaliação depende do valor
de uma resposta do participante na etapa de Avaliação. A condição de
rota também pode ser baseada no valor de uma expressão. Apenas uma
das rotas será considerada.
|
Assumir todas as rotas true |
Quando houver múltiplas rotas a partir de uma etapa, e mais de
uma dessas rotas puderem ser avaliadas como true, há duas opções para
manipulação do roteamento:
Ao especificar a opção tomar todas as rotas verdadeiras (também conhecida como um AND-split), o trabalho é dividido em vários itens de trabalho filhos. Na ilustração à esquerda, a rota para Gráficos é sempre true, e tanto a rota A quanto a rota B podem ser true, dessa forma, em tempo de execução há dois itens de trabalho separados: um para Gráficos e um para ReviewA ou ReviewB. Para criar um mapa válido, você deve definir uma etapa do coletor como mostrados na etapa de Edição que coloca o trabalho de volta em um único caminho no final de todas as rotas true. Observe que o processamento aguardará pouco antes da etapa do coletor (Edição) até que todos os processos-filhos (nesse caso, dois) atinjam este estágio. |
Caso Especial para Divisão AND
Rota de caso especial | Descrição |
---|---|
![]() |
Para alguns aplicativos, é desejável especificar processamento
simultâneo (uma etapa AND-split), mas pode ser inconveniente aguardar
até que todos os processos-filhos atinjam a etapa do coletor para que o
processamento continue. No fluxo de trabalho mostrado à esquerda, o
autor do fluxo de trabalho deseja permitir que o trabalho
continue com a etapa de ProcessA, na etapa de Aprovação e no restante
do fluxo de trabalho sem aguardar que a etapa de Arquivamento conclua
o processamento. Na ilustração à esquerda, Submap1 contém uma
etapa AND-split na StartStep para produzir dois itens de trabalho
separados.
Para evitar aguardar pela conclusão da etapa de Arquivamento, a etapa de ProcessA é definida como a etapa do coletor. Isso especifica o item de trabalho no caminho ProcessA como o pai (que continuará), e libera o item de trabalho filho (o caminho de Arquivamento) que encerra na etapa de TerminateBranch. Nota: Se a etapa de Arquivamento ou de TerminateBranch for definida como a
etapa do coletor, tanto o item de trabalho de ProcessA quanto o de
Arquivamento continuarão após os submapas terem sido concluídos. Haverá dois itens de trabalho em ReviewDocs e que continuarão pelo
restante do fluxo de trabalho.
|