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

 

Dans cette vidéo, nous parlons des bases de l'OR-Split et de l'OR-Join correspondant. L'exemple de spécification concerne un processus de commande automatique dans un restaurant italien.

 

Bonjour et bienvenue dans un autre tutoriel YAWL. Donc, aujourd'hui, nous allons parler de la division OR. La division OR est l'une des trois divisions de YAWL et elle nous permet de choisir une ou plusieurs des branches suivantes. Nous commencerons par un exemple très simple dans un restaurant italien d' un processus de commande automatique et nous avons déjà préparé la spécification YAWL pour vous et vous pouvez le trouver dans le lien vers le matériel supplémentaire. Ouais, alors creusons dedans! Sur l'écran, j'ai déjà ouvert le centre de contrôle qui se trouve dans le coin gauche en haut. Le moteur YAWL est en cours d'exécution, tout comme le service de ressources et en bas, vous pouvez voir l'éditeur YAWL qui est connecté au moteur et au service de ressources. Vous pouvez voir que par ces coches vertes et en haut à droite, nous avons un dossier avec un matériel supplémentaire que vous pouvez trouver dans le lien ci-dessous. Nous voyons donc également le fichier XSD du restaurant de commande qui est là et qui est déjà incorporé dans le fichier.yawl du tutoriel 8. Donc, ce que je vais faire maintenant, c'est, je vais faire glisser et déposer ce fichier dans l'éditeur YAWL et vous pouvez voir que certaines parties de celui-ci sont déjà modifiées, nous allons donc construire sur cela et plus tard, nous déploierons cela et nous allons utilisez le centre de contrôle YAWL sur le côté droit en bas. Alors passons maintenant à l'éditeur. Le sujet est donc la jointure OR et la scission OR. Nous avons donc ici un exemple de flux de travail où nous décidons d'abord du menu et l'idée est que vous pouvez choisir entre un plat, un plat et un dessert et le plat principal est toujours là. Vous ne pouvez donc pas désélectionner le plat principal et l'entrée et le dessert sont facultatifs. Et c'est exactement le genre de chose que vous pouvez faire avec une séparation OU. Commençons par sélectionner la division OR dans l'éditeur. Nous descendons donc à... nous sélectionnons la tâche "Décider du menu" et nous passons au type de division et le définissons sur OU. Et maintenant, vous pouvez voir le symbole de la division OR apparaître ici et sur le côté droit, les tâches de commande auront une jointure OR. Nous allons donc rejoindre le type et sélectionner OU également. D'accord, pour connecter les tâches, nous devons dessiner les arcs. Nous allons donc dans la palette et sélectionnons la tâche atomique, puis nous les connectons simplement comme ça. Et c'est fait. Et maintenant, nous allons à la tâche "Décider sur le menu" et nous allons entrer les prédicats fractionnés qui sont nécessaires. Nous allons donc dans la section des tâches, recherchons les prédicats séparés - trois flux - et nous avons "Choisir le dessert", "Choisir le plat principal" et "Choisir l'entrée" ici et dans un partage OR, c'est toujours le dernier qui est toujours vrai. Donc, si nous voulons rendre le plat principal obligatoire, nous devons sélectionner cette option ici et simplement la déplacer vers le bas avec ces petites flèches vers le bas car, peu importe ce que nous entrons ici, l'expression du bas le prédicat du bas sera toujours vrai. Et pour le "Choose desert" et le "Choose entree", nous allons maintenant sélectionner quelques prédicats et nous avons déjà entré des variables booléennes dans la spécification. Donc pour le "Choisir le dessert" nous avons une variable appelée "Dessert_selected" et si nous la sélectionnons ici et que nous cliquons sur ces deux cercles ici, nous obtenons une expression qui nous donne juste la valeur de cette variable et si cette variable est vraie, nous allons entrer dans cette branche "Choisir le dessert". Donc "Dessert_selected" est vrai, on y va, d'accord? Et nous faisons la même chose avec l'entrée. Alors sélectionnez ici, allez à "Entree_selected", cliquez sur les deux petits cercles ici et puis nous vérifions si cela donne la valeur true. Alors maintenant, nous pouvons voir les prédicats de fractionnement pour le fractionnement OR et si nous allons aux tâches "Choisir l'entrée", "Choisir le principal" et "Choisir le désert", nous avons déjà entré quelques variables ici. Donc, ici, nous pouvons voir que le choix entre est alors pris et les autres tâches sont très similaires à cela. Ce que nous pouvons faire ici, c'est que nous pouvons choisir le complément d'une tâche précédente. C'est le modèle de conservation familier. Nous passons donc au ressourcement et nous activons l'offre système et nous choisissons le complément de la tâche «Décider du menu». Ce sera donc le même utilisateur qui sera sélectionné ici et nous activerons l' allocation et le démarrage du système. Donc, ce sera plus rapide lorsque nous exécutons simplement le workflow et que nous disons "ok" et que nous faisons la même chose pour "Choose main". Nous passons donc au ressourcement, activons l'offre système, choisissons le complément de la tâche "Décider du menu", attribuer et commencer et de même pour "Choisir le dessert". Alors maintenant cette partie est terminée et nous passons à la dernière tâche "Commander" et dans la tâche de commande nous faisons la même chose: nous activons l'offre système, choisissons le complément de tâche. Maintenant, nous sélectionnons à nouveau "Décider sur le menu" et activer et démarrer. Alors maintenant, cette spécification devrait être faite et nous la sauvegarderons puis la déploierons. Alors faisons ça. Nous appuyons donc sur save: "aucun problème signalé". Nous allons à cette icône de spécification de téléchargement ici, appuyez dessus et nous déchargons toutes les versions précédentes et lançons un nouveau cas. Si vous souhaitez télécharger cela, vous pouvez soit créer votre propre utilisateur, soit télécharger le fichier ybkp d'exportation des données de l'organisation YAWL ici et vous aurez alors le même utilisateur. Je suis donc maintenant ici dans ce centre de contrôle avec un utilisateur qui a également le rôle d'administrateur. Donc, vous pouvez voir, nous avons deux lignes d'éléments de menu ici et maintenant je suis - quand je regarde l'onglet des cas - nous pouvons voir que le didacticiel 8 est démarré avec l'ID de cas 4. Si je vais dans les files d'attente d'administration, j'en ai un tâche non offerte et je peux commencer cela directement à moi. Alors je fais ça, je vais dans mes files d'attente de travail, je vais dans l'onglet démarré, et je clique sur afficher modifier et maintenant je peux décider du menu. Je peux donc choisir une entrée ou un dessert ou les deux et dans la première manche, je vais juste manger un plat principal - c'est tout. Je vais donc terminer ici sans rien sélectionner en plus et maintenant, si je rafraîchis ici, j'obtiens le prochain élément de travail "Choisir principal" dans ma file d'attente de démarrage. Appuyez sur voir modifier et maintenant je peux faire le choix du plat principal. Donc je vais manger bistecca di manzo et terminer et maintenant encore, je peux rafraîchir ici, voir modifier et je pourrais voir que ma commande est juste la bistecca di manzo. Je vais donc compléter cela ici. Alors maintenant, essayons à nouveau et ayons un peu plus faim. Je vais donc commencer un nouveau cas, choisir la spécification du tutoriel, lancer le cas, aller dans la file d'attente d'administration et "Décider sur le menu". Entrée et dessert sélectionnés, terminés et maintenant j'ai trois tâches à accomplir. Je choisis celui-ci et celui-ci et le dernier et j'irai voir éditer et maintenant je peux voir les trois choix et je suis prêt à commander. C'est tout! Aujourd'hui, nous avons abordé les bases de la séparation OU et surtout la jointure OU peut être assez délicate. Ce sera un sujet d' une vidéo ultérieure. Une autre chose que nous avons utilisée dans ce didacticiel dans le flux de travail de la tâche de commande était les attributs étendus. Ce sera également une autre vidéo dans le futur. Merci d'avoir regardé!