jBPM5 - Componentes do fluxo de trabalho

A captura de tela a seguir mostra os vários componentes de fluxo de trabalho disponíveis no jBPM 5. Usando esses componentes, você pode criar um fluxo de trabalho para orquestrar seu processo.

Você também pode criar suas tarefas personalizadas, mas isso será abordado mais tarde. Além disso, existem tarefas de serviço disponíveis que podem ser usadas para orquestrar um processo.

  • Start Event- Este é o primeiro nó executado em cada processo. Só pode haver um nó inicial em seu processo.

  • End Event- Este nó sinaliza o fim do processo. Pode haver mais de uma ocorrência desse tipo de nó em um processo.

  • Rule Task - É um nó que avalia um grupo RuleFlow, que é um grupo de Regras Drools sob o mesmo escopo nomeado.

  • Gateway (diverge) aka Split- Este nó particular cria novos caminhos / formas no processo. Ele tem duas ou mais conexões de saída. Você pode escolher entre três tipos diferentes de Divisões / Portões disponíveis.

    • AND GATE - Onde o fluxo do processo continua para todas as conexões de saída ao mesmo tempo.

    • XOR GATE - Que vai para um único caminho de saída de acordo com algumas restrições predefinidas definidas no fluxo de trabalho.

    • OR GATE - Onde o fluxo continua com base na avaliação de todas as restrições de saída e esse caminho é habilitado onde a restrição é avaliada como verdadeira.

  • Gateway (converge) aka Join- Esta junção é o reverso da divisão. Ele une vários caminhos em um. Pode haver quatro tipos diferentes de Joins / gates -

    • AND - O fluxo continua quando todas as ramificações estão concluídas.

    • XOR - O fluxo continua quando pelo menos uma ramificação é concluída.

    • Discriminator- Como o XOR, ele continua se uma de suas ramificações foi concluída. Mas, ao contrário do XOR, ele registra as conclusões das outras ramificações até que todas as conexões sejam concluídas. Quando isso acontece, o nó é redefinido e pode ser inserido novamente quando uma ramificação de entrada é ativada e o ciclo começa tudo de novo.

    • N-of-M - O fluxo continua quando n número de mramos concluídos. Você precisa especificar on (número) ao configurar o portão de quantas ramificações devem ser concluídas antes da saída do fluxo.

  • Reusable Sub-Process- Chama outro processo. Isso é muito útil para compor vários processos menores em um maior. Este maior pode ser um processo de coordenação. Você pode configurar o processo de chamada para aguardar a conclusão do receptor e também para ter um ciclo de vida independente de seu pai.

    • Script Task - Um nó que pode executar um código simples.

    • Timer Event- Este tipo de nó inicia um cronômetro e dispara quando o cronômetro expira. Ativa processos relacionados ao tempo e tarefas repetitivas.

    • Error Event- Este tipo de nó sinaliza uma condição de erro no processo. Não tem conexões de saída. Ele especifica um FaultName e uma FaultVariable. O mecanismo irá procurar por um manipulador de exceção que corresponda ao FaultName e armazena as informações de falha na variável definida pelo FaultVariable.

  • Message Event- Dispara quando um evento de um tipo predefinido é emitido. Pode ser um evento interno (sinalizado dentro do processo) ou externo (sinalizado por uma entidade externa diferente do mecanismo de processo).

  • User Task- Um nó que cria uma tarefa humana. Esta Tarefa Humana é uma atividade que deve ser realizada por um ator humano.

  • Embedded Sub-Process- Ajuda a criar um subprocesso dentro de um processo pai. Ele pode ter seu próprio escopo. Isso é útil para processos maiores onde você deseja manter alguns ramos complexos isolados. Ele pode ter suas próprias variáveis ​​e manipuladores de exceção

  • Multiple Instances aka for Each- Permite que uma coleção de elementos seja alimentada em um subprocesso. Muito útil quando combinado com um Subprocesso Reutilizável para compor e coordenar processos menores.