Vous pouvez également accéder à ce tutoriel en anglais et en allemand.

 

Dans cette vidéo, nous explorons les tâches composites dans YAWL. Les tâches composites permettent la création de sous-workflows et sont un moyen de structurer des processus métier plus complexes. Les sous-workflows YAWL sont construits sur le principe de Single Entry Single Exit (SESE). Le fichier ci-dessous contient une spécification YAWL pour commencer et le résultat à la fin.

 

Bienvenue à nouveau dans un autre tutoriel YAWL! Aujourd'hui, nous allons parler de sous-workflows également appelés tâches composites dans YAWL. Les sous-flux de travail sont nécessaires lorsque les flux de travail deviennent de plus en plus complexes pour en exclure certaines parties. Dans YAWL, nous avons le principe de sortie unique à entrée unique, c'est-à-dire que chaque sous-flux de travail a exactement un point d'entrée du point de vue du flux de contrôle et un point de sortie. La particularité des sous-flux de travail ou des sous-réseaux est que, si vous êtes habitué aux langages de programmation ordinaires, vous connaissez le concept d'étendues que vous avez certains blocs et que les variables sont visibles dans les blocs inférieurs des blocs supérieurs. Chez YAWL, nous n'avons pas ce concept. Au lieu de cela, si vous avez un sous-réseau, vous devez lui passer explicitement les paramètres et nous verrons cela. Donc, si vous regardez le matériel supplémentaire - le lien ci-dessous - vous pouvez télécharger un réseau initial et dans ce tutoriel, nous travaillerons sur ce réseau et l'amènerons à une version finale. Okay allons-y! Nous commençons donc par une spécification YAWL à partir du matériel supplémentaire. Vous pouvez le trouver ici et ce fichier s'appelle Tutorial10.yawl. Alors chargez-le dans votre éditeur et commençons. Nous avons donc déjà une première tâche ici et nous avons préparé des types de données et des variables. Supposons donc que nous ayons un processus de commande où la première tâche est "Préparer la demande d' achat ". Nous voulons ensuite continuer la commande et la commande est un sous-processus en deux étapes. Donc, pour faire cela dans YAWL, nous allons à la palette ici et choisissons les deux carrés ici et cliquons sur une toile quelque part, puis nous pouvons connecter cela comme n'importe quelle autre tâche. Et pour le moment, nous le connectons simplement à la fin. Et maintenant, si nous allons à cette tâche dite composite, nous pouvons maintenant créer un nouveau sous-réseau. Et le nom des sous-réseaux est "Order" et si nous allons dans ce nouvel onglet maintenant. Ici, nous avons une nouvelle spécification sous YAWL avec une seule entrée et une seule sortie. Tout comme une spécification YAWL ordinaire. Donc ici, dans ce sous-réseau, nous avons deux tâches: la première s'appelle «Approuver l'achat» et la seconde s'appelle «Préparer la commande». On descend donc ici, on crée une nouvelle décomposition et la seconde est "Préparer bon de commande". Et maintenant, nous retournons au réseau principal. Nous devons transmettre explicitement les variables nettes au sous-réseau et, dans ce cas, nous avons besoin de deux variables nettes. Nous allons à cette tâche composite de commande, cliquons sur les variables de données, puis nous disons, nous avons besoin de la demande d'achat et nous avons besoin du bon de commande. Et la demande d'achat est une variable d'entrée qui provient du réseau de niveau supérieur et la commande d'achat est une variable de sortie. Alors maintenant, nous avons les variables disponibles et si nous descendons au sous-réseau de commande et à la tâche "Approuver l'achat", nous pouvons maintenant faire glisser et déposer la demande d' achat à partir d'ici et si nous avons besoin d'une autre variable - disons une variable booléenne "Approuvé "- nous pouvons la définir ici comme une variable locale et la faire simplement glisser dans cette tâche, puis préparer le bon de commande. Les variables ici sont donc "Purchase_request" en tant que variable d'entrée, "Approved" en tant que variable d'entrée et "Purchase_order" en tant que variable de sortie. Et cela préparera la sortie pour tout le sous-réseau. Alors c'est tout pour le moment! Nous continuerons avec cet exemple dans une vidéo ultérieure. Vous pouvez trouver le réseau final de ce tutoriel dans le matériel supplémentaire. Le prochain didacticiel sera le premier sur des sujets plus avancés, à savoir la tâche d'instance multiple. J'espère vous voir alors!