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

 

Dans cette vidéo, nous examinons plusieurs tâches d'instance qui peuvent avoir n'importe quel nombre d'éléments de travail créés pour chaque activation. Le tutoriel commence par l'exemple de la sélection de candidats pour un poste. Le matériel supplémentaire contient une spécification YAWL pour commencer et peut être trouvé dans le fichier zip ci-dessous.

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

Bonjour et bienvenue dans un autre tutoriel YAWL! Ainsi, dans les dix premiers didacticiels, nous avons couvert quelques sujets de base sur le système de gestion des processus métier YAWL et maintenant, dans le didacticiel suivant à partir d'aujourd'hui, nous allons couvrir certaines fonctionnalités plus avancées et la fonctionnalité dont nous allons parler aujourd'hui sont des tâches d'instance multiples. Vous devez donc savoir que si nous avons une spécification de flux de travail, nous appelons chaque petite étape une tâche et chaque spécification de flux de travail peut être instanciée dans des cas. Nous avons donc le cas un, le cas deux, et ainsi de suite. Et en général, pour une tâche ordinaire qui est appelée tâche atomique, nous avons pour chaque activation de la tâche dans le flux de travail dans le cas où nous avons un élément de travail. Et normalement, il n'y a qu'un seul élément de travail pour chaque activation ou une instance comme nous l'appelons, mais dans les tâches d'instance multiple, nous pouvons avoir n'importe quel nombre d'instances pour chaque activation de la tâche d'instance multiple. Nous allons donc montrer plusieurs tâches d' instance à l' aide d'un exemple de processus de recrutement, où nous recueillons d'abord une liste de candidats appropriés, puis nous avons plusieurs tâches d'instance pour mener les entretiens. Nous avons donc une instance ou un élément de travail par candidat pour faire l'entretien et nous pouvons distribuer ces éléments de travail à nos spécialistes personnels. Et une fois que tous les entretiens ont été menés, nous pouvons alors revoir les résultats. Comme d'habitude, vous pouvez trouver le matériel supplémentaire dans le lien ci-dessous et nous allons commencer maintenant. D'accord! Nous commençons ici avec le panneau de contrôle YAWL déjà ouvert et le moteur YAWL est en marche. Et nous allons cliquer sur le symbole de l'éditeur YAWL ici et il s'ouvre avec une spécification Tutorial11.yawl, que vous trouverez dans le matériel supplémentaire. Cette spécification comporte actuellement deux tâches: "Modifier les listes de candidats" et "Vérifier la liste des candidats". Et nous allons insérer la tâche d'instance multiple entre les deux. Nous supprimons donc simplement l'arc entre les deux tâches ici et nous allons maintenant insérer une tâche à instances multiples. Et c'est juste dans la palette ici le deuxième symbole de la tâche atomique à instances multiples de gauche. Nous cliquons donc dessus et nous l'insérons ici, puis nous le connectons aux autres tâches. Et donc maintenant nous avons cela et nous allons appeler cela "Candidats à l'entrevue". Nous créons donc une nouvelle décomposition appelée "Interview des candidats". Et nous y voilà. Avant de modifier la tâche, nous examinerons les types de données car nous avons d'abord besoin d'une liste de candidats. Et les types de données sont spécifiés ici sous les propriétés de la spécification et nous avons deux types définis ici. Et vous pouvez les voir ici mais pour les voir un peu plus clairement, nous allons ouvrir le fichier Candidates.xsd et regarder la spécification XSD ici. Nous avons donc essentiellement deux types complexes ici: le premier est appelé "Candidate_type" et le second est appelé "Candidates_type". Le premier est une séquence d'un nom, d'un numéro de téléphone et d'un commentaire. Et le second est une séquence de candidats. Et le candidat comme vous pouvez le voir ici est du type candidat et il a un maxOccurs illimité. Nous pouvons donc avoir n'importe quel nombre de candidats dans le style candidat. Et c'est exactement ce dont nous avons besoin pour la tâche d'instances multiples. Construisons maintenant la tâche à instances multiples. Nous sélectionnons la tâche d'instance multiple dans l'éditeur et allons aux variables de données. Et dans nos variables nettes, nous avons déjà une variable appelée "Candidats" qui est du type candidats et nous lui avons déjà donné une valeur initiale, qui ressemble à ceci: candidat, nom, numéro de téléphone, commentaire. Actuellement, ils sont tous vides. Nous allons donc faire glisser et déposer cette variable candidats dans les variables de tâche ou les variables de décomposition des candidats à l'entretien. Et maintenant, nous voyons un avertissement rouge ici: "une variable doit être marquée comme instance multiple" et le symbole le plus à droite ici est "marquer comme instance multiple". Nous devons donc appuyer sur ceci et maintenant ce nom de variable - comme vous l'avez vu - passe de "Candidats" à "Ccandidates_item". Et vous pouvez également voir qu'il est maintenant du type "Candidat" et non plus du type "Candidats". C'est donc exactement ce que nous voulons. En dessous, l'éditeur a créé un séparateur et une requête de jointure. La requête de séparation est "pour $ s dans les candidats * return" et ainsi de suite. Ainsi, cette requête de séparation divise essentiellement les candidats en éléments candidats uniques. Et si nous connaissons XPath et Xquery, nous pouvons écrire nos propres requêtes ici; mais pour le moment, nous allons simplement le laisser tel quel. Et la requête de jointure se trouve dans le mappage de sortie. Donc "pour $ j en entretienLes candidats / candidats retournent $ j". Donc, encore une fois, l'éditeur a créé cette requête de jointure ici et nous n'allons pas y toucher pour le moment et nous en avons essentiellement terminé pour notre tâche d'instance multiple. Bien sûr, nous pourrions avoir d'autres variables ici qui ne sont pas marquées comme plusieurs instances, mais pour le moment, cela suffit. Nous cliquons sur OK et cette spécification est terminée. Alors maintenant, nous allons le sauvegarder et le télécharger sur le moteur YAWL et lancer un nouveau cas. Ok, maintenant essayons-le. Nous sommes actuellement connectés ici en tant qu'utilisateur administrateur en même temps. Et nous avons commencé "Interviewer les candidats" avec l'ID de cas 36. Donc, si nous allons dans la file d'attente d'administration, nous pouvons voir modifier la liste des candidats - notre première tâche ici. Et nous pouvons commencer cela directement à notre utilisateur. Accédez à la file d'attente de travail, regardez la file d'attente démarrée et modifiez la liste des candidats. Et pour que nous puissions avoir un candidat. Et maintenant, nous pouvons créer un nombre illimité de candidats avec le signe plus ici. Je vais donc créer un autre candidat. Et je termine cela. Regardons maintenant les files d'attente d'administration. Nous avons un exemple ici "Interview des candidats" et nous pouvons le proposer et le démarrer. Et je mène l'entretien, puis je le termine. Nous allons dans la file d'attente d'administration. Nous obtenons un autre élément de travail ici. Nous pouvons commencer cela, mener l'entrevue, et maintenant nous avons un élément de la liste de travail ici: "Vérifier la liste des candidats". Et nous vérifions la liste avec tous les résultats des entretiens. C'est tout! Vous avez donc vu que les tâches d'instance multiples sont un bon moyen de distribuer le travail à un plus grand nombre de personnes; et dans YAWL, il existe plusieurs stratégies d'allocation pour ce faire. Et ce sera le sujet d'une autre vidéo. Ce que nous n'avons pas couvert aujourd'hui pour les tâches d'instance multiples, ce sont les seuils et la création d' instances dynamiques. Si vous êtes intéressé par ces sujets, veuillez laisser un lien ci-dessous. À la prochaine!