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

 

Dans ce tutoriel, nous continuons à travailler sur notre spécification avec l'éditeur YAWL. Nous saisissons les données avec lesquelles les participants travailleront pendant l'exécution du processus.

Vous pouvez trouver le matériel supplémentaire ici.

Bonjour, bienvenue dans les tutoriels YAWL! Vous vous souvenez que nous avions trois perspectives dans les workflows: à savoir le flux de contrôle, les données et les ressources. Dans la dernière vidéo, nous avons parlé de l'édition du flux de contrôle et nous l'avons fait avec l'éditeur YAWL et dans cette vidéo, nous parlerons de données - entrer des informations sur les données - pour chaque tâche de notre flux de contrôle. Et la prochaine vidéo sera alors sur les ressources. Commençons donc là où nous nous sommes arrêtés dans le dernier tutoriel. Si vous n'avez pas la spécification du dernier didacticiel, vous pouvez revenir à ce didacticiel et le trouver dans le matériel supplémentaire. Vous y trouverez un fichier.yawl que vous pourrez ensuite charger si vous souhaitez partir de là. J'ai déjà ouvert l'éditeur YAWL maintenant. N'oubliez pas que vous avez besoin d'un moteur YAWL et du service de ressources en cours d'exécution et que l'éditeur YAWL doit y être connecté. Alors allons-y et regardons la spécification que nous avons faite la dernière fois. Nous avons donc eu quatre tâches ici: l'une est «Soumettre la demande de congé», puis «Approuver la demande de congé», «Note d'approbation» et «Note de rejet». Nous allons donc commencer par dire à l'éditeur, quelles sont les données que nous allons utiliser avec "Soumettre une demande de congé"? Donc pour cela, nous cliquons sur ce symbole de tâche ici, puis sur le côté gauche, vous pouvez voir que l'éditeur a ouvert plusieurs sous-panneaux ici des propriétés de la spécification au net, à la tâche, et - last but not least - la décomposition. Et c'est une sorte de hiérarchie. Donc, pour entrer les données nécessaires à cette tâche, ce que nous pouvons faire est, nous pouvons aller directement à la décomposition maintenant et nous trouvons une ligne ici sur les variables de données. Donc, si nous cliquons dessus, une fenêtre s'ouvre maintenant et nous pouvons entrer des variables nettes dans la moitié supérieure et des variables de décomposition dans la moitié inférieure. Nous pouvons penser que les variables nettes sont des variables globales dans ce réseau et que les variables de décomposition sont locales à la décomposition que nous éditons actuellement; et la décomposition que nous éditons s'appelle «Soumettre la demande de congé». Cela fait donc partie de cette tâche. Alors, de quel type de données avons-nous besoin ici? Disons que nous voulons avoir le prénom et le nom du candidat. On va donc ici sur le signe plus et on dit le nom de la variable. Je l'appellerai donc "First_name" et vous ne pouvez pas le voir ici, mais notez que j'ai fait un trait de soulignement ici, car ce sont des éléments XML et nous couvrirons dans une vidéo ultérieure comment vous pouvez éditer des variables contenant des blancs, des noms de variables ou des étiquettes contenant blancs. Mais pour le moment, utilisons simplement le trait de soulignement ici. Donc First_name est le nom de la variable et la deuxième colonne ici est le type. Donc, string est le type par défaut et c'est très bien pour cette variable. Nous avons un nom et la portée est locale dans ce réseau. C'est bien aussi. La variable suivante dont nous avons besoin est le nom de famille, donc je tape "Last_name" et nous voulons avoir une date de début et une date de fin. Je vais donc ajouter une autre variable "Date_début " et cette fois, je choisirai le type de données date. Donc je tape un "d" ici et puis je choisis ce type de date et le même pour la date de fin. Et la dernière variable ici est la destination. Oh, mettons-en un autre pour la raison. Ce sont donc les variables que nous utiliserons dans cette spécification et nous les utiliserons dans cette décomposition. Donc, pour les utiliser dans la décomposition, nous devons définir quelque chose qui s'appelle un mappage des variables du net à la décomposition et cela peut être fait manuellement mais pour le moment, nous le ferons complètement automatiquement par l'éditeur. Donc, ce que nous faisons, c'est juste, nous sélectionnons la première variable, puis nous la traînons dans la décomposition, puis nous le faisons avec toutes les autres variables. Donc "Last_name", "Start_date", "End_date", "Destination" et "Reason". Nous devons donc maintenant réfléchir à la portée des variables dans la décomposition et dans le réseau, ces variables étaient des variables locales, mais dans la décomposition, nous avons trois choix différents pour les portées des variables. L'un est l'entrée / sortie. Il s'agit de la sélection par défaut, ce qui signifie que la variable a déjà une valeur dans le réseau. Nous lisons sa valeur, nous la modifions dans le net, puis nous la renvoyons à une autre variable nette. La deuxième portée est uniquement en entrée. L'entrée signifie seulement qu'il a déjà une valeur dans le réseau, il est entré dans la décomposition et ensuite il est en lecture seule. Nous ne pouvons pas changer sa valeur. Et puis nous avons la troisième option est la sortie. Cela signifie donc que nous n'avons pas encore de valeur et que nous allons simplement créer une valeur ici dans la décomposition, puis elle sera sortie sur le réseau. Et c'est cette troisième option que nous utiliserons ici pour notre première tâche car toutes les variables ne sont pas initialisées pour le moment. Je vais donc choisir la sortie ici et je ferai de même pour toutes les autres variables. Et puis je peux cliquer sur "Appliquer" et "OK". Nous avons donc terminé pour la première tâche et la deuxième tâche «Approuver les congés». Nous allons donc imaginer que maintenant quelqu'un, peut-être le supérieur du demandeur, approuve ou rejette maintenant la demande d'autorisation et que nous avons besoin de toutes les variables que nous avons vues dans la dernière tâche comme variables d'entrée maintenant. Alors faisons ça! Nous ouvrons donc à nouveau les données pour cette décomposition puis nous faisons simplement glisser et déposons toutes les variables ici: "Prénom", "Nom", "Date_début", "Date_fin", "Destination" et "Raison" et nous donnons tout ces variables l'entrée de portée. Maintenant, nous devrons ajouter deux autres variables: l'une est la variable qui consiste à approuver ou rejeter cette application et nous appellerons celle-ci "Approve_leave". Donc, nous allons d'abord ajouter une autre variable net ici, appelez-la "Approve_leave" et cette fois c'est une variable booléenne. Et la dernière variable est la raison du rejet et c'est une chaîne et encore une fois, nous devons extraire ces variables ici et la portée maintenant parce que c'est la première fois qu'elles sont utilisées dans cette spécification est sortie. Tellement très bien! La prochaine chose que nous ferons est de modifier cette tâche "Note d'approbation". Donc, dans le cas où il est approuvé - et nous reviendrons sur cette branche XOR ici plus tard - quand il sera approuvé, nous voulons voir tout ce qui a été entré dans la "Soumettre la demande de congé ", y compris la coche d'approbation. Encore une fois, c'est la même chose. Nous ouvrons simplement la boîte de dialogue des variables de données et nous entrons simplement "First_name", "Last_name", "Start_date", "End_date", "Destination", "Reason" et "Approve_leave". Et, comme il ne s'agit que d'une notification, nous allons définir la portée d'entrée pour toutes ces variables. Et «rejet de note» est très similaire, nous entrons simplement toutes les variables que nous avons ici. Et nous entrerons également la raison du rejet et elles sont toutes des entrées de portée. Alors maintenant, nous avons entré toutes les données. La seule chose qui manque maintenant est que nous avons besoin de quelque chose pour dire au système ici pour cette division XOR dans quelle direction aller. Et le chemin à suivre dépend vraiment de la valeur de la variable "Approve_leave". Nous avons sélectionné "Approuver la demande de congé" et nous allons "fractionner les prédicats". Et maintenant, le système nous montre "Note_approval" et "Note_rejection". Et actuellement "Note_approval" est sélectionné. Et vous pouvez voir que la flèche qui va là-bas est verte et si nous sélectionnons la deuxième option, la flèche y est verte. Alors, de quelle condition avons-nous besoin pour "Note approbation"? Eh bien, vrai signifie que c'est toujours vrai, donc ce n'est pas correct. Nous voulons donc éditer cela et nous cliquons sur les trois points ici et maintenant nous avons la possibilité de générer une expression d'une variable et nous avons de la chance car "Approved_leave" est déjà sélectionné ici. Donc ce que nous faisons, c'est simplement appuyer sur ces deux cercles ici et ensuite nous obtenons une expression qui nous donne la valeur de la variable "Approve_leave". Nous aborderons le sujet de ces expressions dans une vidéo ultérieure. Pour le moment, tout ce que nous faisons maintenant est de vérifier si la valeur de cette variable "Approve_leave" est vraie et nous mettons true à l' intérieur des tirets et ensuite nous pouvons voir que l'expression est syntaxiquement correcte et nous appuyons sur ok. C'est donc tout ce dont nous avons besoin maintenant et il ne nous reste plus qu'à vérifier si notre spécification est valide. Nous le validons donc ici: "aucun problème signalé" puis nous le sauvegardons ici et c'est fait. Alors maintenant, nous avons entré les données pour notre petite spécification et dans la prochaine vidéo, je vais vous montrer comment entrer les ressources qui vont fonctionner avec cela. À plus tard!