jBPM5 - Composants de workflow
La capture d'écran suivante montre les différents composants de flux de travail disponibles dans jBPM 5. À l'aide de ces composants, vous pouvez créer un flux de travail pour orchestrer votre processus.
Vous pouvez également créer vos tâches personnalisées, mais cela sera couvert plus tard. En outre, il existe des tâches de service disponibles qui peuvent être utilisées pour orchestrer un processus.
Start Event- C'est le premier nœud exécuté dans chaque processus. Il ne peut y avoir qu'un seul nœud de démarrage dans votre processus.
End Event- Ce nœud signale la fin du processus. Il peut y avoir plus d'une occurrence de ce type de nœud dans un processus.
Rule Task - C'est un nœud qui évalue un groupe RuleFlow, c'est-à-dire un groupe de règles Drools sous la même portée nommée.
Gateway (diverge) aka Split- Ce nœud particulier crée de nouveaux chemins / voies dans le processus. Il a au moins deux connexions sortantes. Vous pouvez choisir entre trois types différents de Splits / Gates disponibles.
AND GATE - Où le flux du processus continue vers toutes les connexions sortantes en même temps.
XOR GATE - Qui va vers un seul chemin sortant selon certaines contraintes prédéfinies définies dans le workflow.
OR GATE - Où le flux se déroule en fonction de l'évaluation de toutes les contraintes sortantes et ce chemin est activé là où la contrainte est évaluée à vrai.
Gateway (converge) aka Join- Cette jointure est l'inverse de la scission. Il joint plusieurs chemins en un seul. Il peut y avoir quatre types différents de jointures / portes -
AND - Le flux continue lorsque toutes les branches sont terminées.
XOR - Le flux continue lorsqu'au moins une branche est terminée.
Discriminator- Comme XOR, il continue si l'une de ses branches est terminée. Mais contrairement à XOR, il enregistre les achèvements des autres branches jusqu'à ce que toutes les connexions soient terminées. Lorsque cela se produit, le nœud se réinitialise et il peut être saisi à nouveau lorsqu'une branche entrante s'active et que le cycle recommence.
N-of-M - Le flux continue lorsque n nombre de mles branches se termine. Vous devez spécifier len (nombre) lors de la configuration de la porte quant au nombre de branches à terminer avant la sortie du flux.
Reusable Sub-Process- Appelle un autre processus. Ceci est très utile pour composer plusieurs processus plus petits en un plus grand. Ce plus grand peut être un processus de coordination. Vous pouvez configurer le processus d'appel pour attendre la fin de l'appelé et pour avoir un cycle de vie indépendant de son parent.
Script Task - Un nœud qui peut exécuter un simple morceau de code.
Timer Event- Ce type de nœud démarre une minuterie et se déclenche lorsque la minuterie expire. Permet des processus liés au temps et des tâches répétitives.
Error Event- Ce type de nœud signale une condition d'erreur dans le processus. Il n'a pas de connexions sortantes. Il spécifie un FaultName et une FaultVariable. Le moteur recherchera un gestionnaire d'exceptions qui correspond au FaultName et stocke les informations de Fault dans la variable définie par FaultVariable.
Message Event- Il se déclenche lorsqu'un événement d'un type prédéfini est émis. Il peut s'agir d'un événement interne (signalé à l'intérieur du processus) ou externe (signalé par une entité externe autre que le moteur de processus).
User Task- Un nœud qui crée une tâche humaine. Cette tâche humaine est une activité qui doit être accomplie par un acteur humain.
Embedded Sub-Process- Aide à créer un sous-processus dans un processus parent. Il peut avoir sa propre portée. Ceci est utile pour les processus plus volumineux où vous souhaitez isoler certaines branches complexes. Il peut avoir ses propres variables et gestionnaires d'exceptions
Multiple Instances aka for Each- Il permet d'introduire une collection d'éléments dans un sous-processus. Très utile lorsqu'il est combiné avec un sous-processus réutilisable pour composer et coordonner des processus plus petits.