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

 

Dans cette vidéo, nous parlons de la définition de vos propres types de données dans YAWL. Ceux-ci sont définis à l'aide de XML Schema Definition (XSD). Nous montrons également comment accéder à des parties de types complexes à l'aide de XQUERY. Le fichier zip ci-dessous contient une spécification YAWL initiale et finale et un fichier XSD.

 

Bienvenue à nouveau dans un autre tutoriel YAWL! Aujourd'hui, nous parlerons des données et des types de données. Les données sont l'un des sujets les plus complexes des systèmes de gestion des processus métier. En ce qui concerne les types de données, différents systèmes adoptent différentes approches: certains systèmes de gestion des processus métier fonctionnent sans aucun type. Ainsi, vous pouvez entrer n'importe quoi dans les champs. D'autres systèmes de gestion des processus métier vous permettent de définir un petit ensemble de types très simples qui sont propriétaires et spécialement conçus pour la gestion des processus métiers. YAWL a une approche différente ici. YAWL utilise XML, la définition de schéma XML et Xpath et Xquery. Un avantage est que vous pouvez trouver de nombreuses informations sur Internet sur XML et toutes les technologies environnantes. Un autre avantage est qu'il existe de nombreuses API et bibliothèques de logiciels qui peuvent par exemple traduire des éléments XML en objets java, puis des objets java en tables de base de données relationnelles. Nous partons d'une définition de schéma XML et montrons ensuite comment cette définition de schéma XML prend effet dans les formulaires générés par le système YAWL. Alors allons-y! Le didacticiel d'aujourd'hui porte sur les types. Ainsi, en XML, les types sont appelés un schéma et la définition de schéma XML - en abrégé XSD - est quelque chose avec lequel nous allons commencer. Donc, si vous regardez le fichier ici - vous pouvez le trouver dans le matériel supplémentaire - vous pouvez voir qu'il existe un certain nombre de types complexes et simples définis. Si vous voulez en savoir plus sur les détails, comme déjà dit, il existe de nombreux tutoriels à ce sujet sur Internet par exemple par les écoles du w3c et bien d'autres. Vous pouvez donc voir ici un type complexe appelé type de liste de clients et il s'agit essentiellement d'une liste d'éléments de type de client. Le type de client est un type qui se compose d'un identifiant client qui est un entier positif, une catégorie de client, un nom de client et un e-mail. Les trois premiers types sont des types de schéma XML standard, comme vous pouvez le voir à partir du préfixe xs. Et le dernier est un type que nous définissons ici. Le type d'adresse e-mail est défini ici et il s'agit d'une restriction sur le jeton de type standard XSD, qui est un sous-ensemble de chaîne et vous pouvez voir ici une expression régulière. Donc, si vous voulez savoir ce que signifie cette expression régulière, vous pouvez rechercher sur Internet des expressions régulières dans la définition de schéma XML et juste pour noter une chose: par exemple, le signe arobase de l'adresse e-mail apparaît ici. L'autre type que nous avons est un type de catégorie abc. Cela va donc créer une liste déroulante. Et puis nous avons également un type de liste d'adresses e-mail. Prenons maintenant cette définition de type et copions-la dans une nouvelle spécification YAWL. Nous sélectionnons donc tout cela, copions cela, allons dans l'éditeur de chantier et commençons une nouvelle spécification YAWL. Et nous allons aux définitions de données ici et nous les collons ici et si cela dit ok, alors la syntaxe est correcte. Alors maintenant, nous commençons à éditer notre flux de travail. Nous insérons donc deux tâches: la première s'appelle «Modifier la liste des clients» et la seconde s'appelle «Vérifier les adresses e-mail ». Maintenant, nous définissons notre variable nette. Accédez aux variables de données et appelez cette "liste_client". Et c'est de type liste de clients et nous pouvons lui donner une valeur initiale. Donc si on clique ici sur les trois points et qu'on appuie sur ce double cercle ici, le système génère un élément XML qui est correct pour ce type. Vous voyez, il y a un client avec un identifiant client, une catégorie de client, un nom et une adresse e-mail qui correspond à notre expression régulière. Et je remplacerai cela par deux clients avec des adresses e-mail et tout est correct. Nous avons donc maintenant une liste de deux clients ici et c'est la variable qui est initialisée au début. Si nous allons à la tâche de liste de clients, nous faisons simplement glisser cette variable ici. Nous pouvons donc le modifier plus tard. Rien n'a besoin d'être changé. Et maintenant, ce que je veux faire est, je veux juste vous montrer comment accéder à des parties des types complexes et nous ferons un exemple plus compliqué avec une Xquery. Le Xquery est là. Donc, ce que nous voulons faire, c'est, nous voulons regarder dans la liste des clients, prendre le contenu de cette liste de clients / *, puis retourner pour chaque élément de la liste des clients, un élément de courrier électronique, où se trouve le contenu de l'élément de courrier électronique. l'adresse e-mail, le texte de celle-ci, c'est l'adresse e-mail elle-même, de l'élément de liste de clients. Alors copiez ça et maintenant nous allons à la "Vérifier l'adresse e-mail" et nous créons une nouvelle variable ici: les adresses e - mail et c'est du type liste d'adresses e-mail. Et nous en faisons une variable d'entrée. Et maintenant, nous devons définir le mappage car l' éditeur ne peut pas le trouver automatiquement et nous insérons cette Xquery ici. Nous allons donc au centre de contrôle et regardons les files d'attente d'administration et nous pouvons voir que "Modifier la liste des clients" n'est pas offert. Nous l'attribuons donc au même utilisateur. Et nous pouvons voir que la liste des clients est affichée ici. Et nous pouvons ajouter d'autres clients ou nous pouvons éditer les champs de chaque client afin de compléter cela. Et puis vérifiez les adresses e-mail. Et vous pouvez voir que les adresses e-mail sont affichées et qu'elles sont en mode lecture seule. Le Xquery était un peu complexe, n'est-ce pas? Mais ne vous inquiétez pas, cela ne devient pas plus technique que celui de YAWL. Si vous souhaitez développer un logiciel et que vous devez vous connecter à d'autres systèmes, cela est fait par les développeurs de logiciels et dans YAWL, il existe des codelets à cet effet. Les codelets feront l'objet d'un autre tutoriel dans le futur. Merci d'avoir regardé!