Créer des règles avec l’Éditeur de règles Microsoft (préversion)
S’applique à : Azure Logic Apps (Standard)
Important
Cette fonctionnalité est en préversion et est soumise aux conditions d’utilisation supplémentaires des préversions de Microsoft Azure.
Les règles définissent la logique métier associée au fonctionnement des processus métier. Pour vous aider à créer les règles de votre projet de moteur de règles Azure Logic Apps, l’Éditeur de règles Microsoft fournit un outil visuel permettant de créer et de gérer les versions des ensembles de règles et des vocabulaires.
Ce guide pratique fournit une vue d’ensemble sur le fonctionnement des règles et la leur création avec l’Éditeur de règles Microsoft.
Prérequis
Avoir téléchargé et installé l’Éditeur de règles Microsoft.
Si vous disposez déjà d’un ensemble de règles sur lequel travailler, vous avez besoin du fichier XML contenant ledit ensemble de règles. Dans les autres cas, ce guide décrit comment créer un ensemble de règles et l’enregistrer comme un fichier XML.
Important
Si votre fichier XML existant dépend d’assemblies .NET ou si les assemblies que vous utilisez pour ajouter des faits utilisent d’autres dépendances, vous devez conserver tous ces fichiers dans le même dossier, dans un répertoire local de l’Éditeur de règles Microsoft.
Qu’est-ce qu’une règle ?
Une règle est une instruction déclarative qui inclut une condition et des actions pour lesquelles la condition est évaluée. Si le résultat est vrai, le moteur de règles effectue une ou plusieurs actions. Le format suivant définit la syntaxe des règles dans le moteur de règles Azure Logic Apps :
IF (si) <condition> THEN (alors) <action>
L’exemple de règle suivant détermine s’il faut effectuer une transaction et appliquer une logique métier. Pour cela, elle compare deux valeurs monétaires aux données ou aux faits, qui utilisent la forme d’un montant de transaction et d’une remise :
IF (si) le montant acheté est supérieur à la quantité, THEN (alors) une remise supplémentaire est accordée au client
Condition : cette expression booléenne de type vrai/faux inclut un ou plusieurs prédicats appliqués à des faits. Un prédicat est une clause qui contient un verbe et indique quelque chose sur le sujet. Dans notre exemple, le prédicat est supérieur à s’applique au fait montant acheté. Cette condition est toujours évaluée comme vraie ou fausse. Vous pouvez combiner les prédicats avec les opérateurs logiques AND (et), OR (ou) et NOT (non) pour former une expression logique potentiellement longue. Cependant, ils sont toujours évalués comme vrais ou faux.
Action : une action est la conséquence fonctionnelle de l’évaluation d’une condition. Si une condition de règle est satisfaite, une ou plusieurs actions correspondantes sont initiées. Dans notre exemple, accorder une remise supplémentaire est une action qui se produit uniquement lorsque la condition est vraie, ce qui se produit lorsque le montant acheté est supérieur à 1 000 $. Les actions sont représentées dans le moteur de règles Azure Logic Apps en appelant des méthodes, en définissant des propriétés sur des objets ou en exécutant des opérations set (définir) sur des documents XML.
Fait : un fait est une information discrète sur l’environnement dans lequel les règles fonctionnent. Dans notre exemple, le montant et la quantité sont des faits. Les faits peuvent provenir de sources diverses (systèmes d’événements, objets d’applications hybrides, etc.) et doivent être fournis au moteur de règles Azure Logic Apps en utilisant l’un des éléments suivants :
- objets .NET (méthodes, propriétés et champs) ;
- documents XML (éléments, attributs et sous-sections de documents) ;
Vocabulaire : il s’agit du nom convivial des faits utilisé dans les conditions et les actions. Pour plus d’informations, consultez Créer et gérer des vocabulaires.
Le diagramme et les sections ci-dessous décrivent comment les conditions, les actions et les faits s’intègrent :
Éditeur de règles Microsoft
Vous pouvez utiliser l’Éditeur de règles Microsoft pour créer, modifier, version et enregistrer des règles. Vous pouvez aussi effectuer ces tâches par programmation. L’Éditeur de règles inclut les éléments d’interface utilisateur suivants :
Fenêtre | Description |
---|---|
Explorateur d’ensemble de règles | Permet de créer des ensembles de règles contenant une ou plusieurs règles. |
Éditeur de conditions | Permet de créer une condition pour une règle. |
Éditeur d’actions | Permet de créer les actions qui s’exécutent lorsque la condition est évaluée comme vraie. |
Explorateur de faits | Permet de rechercher les faits XML et .NET pour les faire glisser vers l’éditeur de conditions ou l’éditeur d’actions. |
Créer et gérer un ensemble de règles
Un ensemble de règles vous permet de regrouper plusieurs règles par domaine, contexte limité ou limite métier. Pour gérer les ensembles de règles et les règles dans le magasin de règles, utilisez l’Explorateur d’ensemble de règles. Il vous permet de créer, modifier, tester ou supprimer des ensembles de règles et leurs règles.
Dans l’Éditeur de règles Microsoft, ouvrez le menu Magasin de règles, puis sélectionnez Importer.
Recherchez et sélectionnez le fichier XML contenant l’ensemble de règles à ouvrir.
Dans la fenêtre Explorateur d’ensemble de règles, ouvrez le menu contextuel Ensemble de règles, puis sélectionnez Ajouter un ensemble de règles.
L’Éditeur de règles Microsoft crée un ensemble de règles vide dont la version par défaut est numérotée 1.0.
Enregistrez votre ensemble de règles. Dans le menu Magasin de règles, sélectionnez Enregistrer. Cela crée un fichier XML pour votre ensemble de règles.
Le tableau suivant décrit d’autres commandes de l’Explorateur d’ensemble de règles à utiliser pour exploiter les ensembles de règles :
Tâche | Commande |
---|---|
Créer un ensemble de règles. | Ajouter un ensemble de règles |
Créer une version vide de l’ensemble de règles sélectionné. Vous pouvez copier les règles provenant d’autres versions pour les coller dans la nouvelle version. | Ajouter une version |
Copier la version d’ensemble de règles sélectionnée dans le presse-papiers. | Copy |
Coller une version d’ensemble de règles et son contenu dans l’ensemble de règles sélectionné. | Coller |
Supprimer la version d’ensemble de règles sélectionnée. | Supprimer |
Supprimer l’ensemble de règles sélectionné avec toutes ses versions. | Supprimer au niveau de l’ensemble de règles parent |
Réimporter la version d’ensemble de règles sélectionnée et ses règles, y compris les options déterminant s’il faut ignorer les modifications effectuées dans cette version et rétablir le contenu à partir du magasin de règles. | Réimporter |
Enregistrer toutes les modifications apportées à la version sélectionnée et ses règles. | Save |
Tester la version d’ensemble de règles sélectionnée avant d’utiliser avec votre projet de moteur de règles. | Tester l’ensemble de règles |
Le tableau suivant décrit les propriétés d’une version d’ensemble de règles :
Propriété | Valeur |
---|---|
Nom | Nom de l’ensemble de règles. Remarque : pour modifier cette valeur, vous pouvez uniquement mettre à jour la propriété Nom de l’ensemble de règles (et non sa version). |
Version actuelle | Version d’ensemble de règles actuellement sélectionnée dans l’Explorateur d’ensemble de règles. |
Extracteur de faits | Extracteur de faits à utiliser pour fournir les faits à la version d’ensemble de règles. L’Éditeur de règles Microsoft prend en charge la génération de fonctionnalités et utilise un extracteur de faits pour fournir des faits. Pour plus d’informations, consultez la documentation suivante : - Effectuer des tâches avancées sur des ensembles de règles - Créer des créateurs et des extracteurs de faits |
Profondeur maximale de la boucle d’exécution | Profondeur maximale de l’algorithme de chaînage avant, avant qu’une exception de boucle d’exécution ne soit émise. Le nombre de boucles par défaut est 65,536. |
Durée de la conversion | Durée maximale de la conversion des règles avant qu’une exception d’expiration de conversion ne soit émise. La valeur par défaut est 60,000 millisecondes. |
Translator | Convertisseur à utiliser pour convertir les règles. Pour le moment, l’Éditeur de règles Microsoft prend uniquement en charge le convertisseur intégré par défaut. Cependant, il garantit l’extensibilité pour ajouter d’autres convertisseurs. |
Description de la version | Description de la version actuelle. |
Pour plus d’informations sur l’utilisation des ensembles de règles, consultez Effectuer des tâches avancées sur des ensembles de règles.
Créer et gérer une règle
Dans l’Éditeur de règles Microsoft, ouvrez le menu Magasin de règles, puis sélectionnez Importer.
Recherchez et sélectionnez le fichier XML contenant l’ensemble de règles sur lequel travailler.
Dans la fenêtre Explorateur d’ensemble de règles, recherchez la version d’ensemble de règles à laquelle ajouter une règle.
Ouvrez le menu contextuel de la version d’ensemble de règles, puis sélectionnez Ajouter une règle.
L’éditeur de règles s’ouvre, vous permettant d’ajouter vos conditions et actions.
La liste suivante décrit les solutions permettant de modifier une règle :
Créer une version d’ensemble de règles.
Modifier directement une version d’ensemble de règles existante. Vous pouvez modifier les règles individuellement, ajouter de nouvelles règles ou supprimer les règles existantes.
Le tableau suivant décrit d’autres commandes de raccourci de l’Explorateur d’ensemble de règles à utiliser pour exploiter les règles :
Tâche | Commande de raccourci |
---|---|
Créer une règle dans la version d’ensemble de règles sélectionnée. | Ajouter une règle |
Copier la règle sélectionnée dans le presse-papiers. | Copy |
Copier la règle sélectionnée dans le presse-papiers et la supprimer. | Couper |
Coller une règle dans la version d’ensemble de règles sélectionnée. | Coller |
Supprimer la règle sélectionnée. | Supprimer |
Le tableau suivant décrit les propriétés d’une règle :
Propriété | Valeur |
---|---|
Nom | Nom de la règle. |
Actif | Indique si la règle est active ou non. |
Priorité | Priorité de la règle dans l’ensemble de règles. Plus l’index est élevé, plus la priorité de la règle l’est également. Les actions d’une règle de priorité supérieure s’exécutent en premier. La valeur par défaut est « 0 », ce qui représente une priorité moyenne. Vous pouvez définir une valeur positive ou négative. Pour plus d’informations, consultez Optimisation du moteur de règles. |
Activer ou désactiver une règle
Vous pouvez définir une règle comme inactive de sorte qu’elle ne s’exécute pas lorsque l’ensemble de règles s’exécute. Vous pouvez aussi réactiver une règle désactivée.
Sélectionnez la règle dans l’Explorateur d’ensemble de règles.
Dans la fenêtre Propriétés, définissez la propriété Active sur l’une des valeurs suivantes :
- Faux : désactivée
- Vrai : activée
Définir la priorité de la règle
Vous pouvez définir la priorité d’une règle de sorte que ses actions s’exécutent avant ou après les actions des règles de priorité différente. Les priorités sont relatives : toutes les actions d’une règle avec une priorité spécifique s’exécutent dans l’ordre, avant toutes les actions d’une règle dont la valeur de priorité est inférieure.
Sélectionnez la règle dans l’Explorateur d’ensemble de règles.
Dans la fenêtre Propriétés, définissez Priorité sur la valeur entière souhaitée.
Créer ou modifier une condition
Pour générer, modifier ou afficher une condition déclenchant une règle, utilisez l’éditeur de conditions, qui fait partie de l’éditeur de règles. Pour créer une condition, vous pouvez procéder comme suit :
Ajoutez des prédicats intégrés ou définis par l’utilisateur, le cas échéant.
Définissez des arguments dans les prédicats. Pour cela, faites glisser un élément de la fenêtre Explorateur de faits.
Entrez les valeurs d’argument inline en sélectionnant un lien d’argument.
Déplacez les prédicats et les opérateurs logiques dans une condition.
Remarque
L’ordre dans lequel les prédicats et les opérateurs logiques apparaissent ne déterminent pas leur ordre d’évaluation.
Supprimez les prédicats et les opérateurs logiques d’une condition.
Ajouter un prédicat à une condition
Sélectionnez la règle dans l’Explorateur d’ensemble de règles.
Dans la fenêtre IF (si) qui correspond à l’éditeur de conditions, ouvrez le menu contextuel Conditions, puis choisissez l’une des options suivantes :
Sélectionnez un opérateur logique. Dans le menu contextuel de l’opérateur, ajoutez les prédicats ou les opérateurs logiques imbriqués à évaluer.
Pour plus d’informations sur la configuration des opérateurs logiques, consultez Ajouter des opérateurs arithmétiques et logiques aux règles
Dans le menu contextuel Prédicats, sélectionnez un prédicat intégré ou un prédicat défini par l’utilisateur, le cas échéant.
Les tableaux suivants décrivent les expressions de prédicat disponibles que vous pouvez sélectionner dans le menu contextuel Prédicats :
Prédicat intégré Description Après Prédicat temporel qui répond à la question « time1 se situe-t-il chronologiquement après time2 ? » Avant Prédicat temporel qui répond à la question « time1 se situe-t-il chronologiquement avant time2 ? » Entre Prédicat temporel qui répond à la question « time1 se situe-t-il chronologiquement entre time2 et time3 ? » Égal à Opérateur relationnel d’égalité. Exists Prédicat d’existence qui répond à la question « l’élément ou l’attribut XML spécifié existe-t-il ? » GreaterThan Opérateur relationnel « supérieur à ». GreaterThanEqual Opérateur relationnel « supérieur ou égal à ». LessThan Opérateur relationnel « inférieur à ». LessThanEqual Opérateur relationnel « inférieur ou égal à ». Correspondance Détermine si une expression régulière est présente dans une chaîne d’entrée spécifique. NotEqual Opérateur relationnel d’inégalité. Plage Détermine si une valeur existe dans une plage.
Spécifier un argument pour un prédicat dans une condition
Suivez cette procédure, identique à celle d’une fonction dans une action.
Déplacer un opérateur logique ou un prédicat dans une condition
Dans l’éditeur de conditions, effectuez l’une des étapes suivantes :
Faites glisser l’opérateur logique ou le prédicat sur un autre opérateur logique ou sur le nœud Conditions.
Ouvrez le menu contextuel de l’opérateur logique ou du prédicat, puis sélectionnez Déplacer vers le haut ou Déplacer vers le bas pour déplacer respectivement l’élément d’une position ou d’un niveau.
Créer ou modifier une action
Pour générer, modifier ou afficher une action s’exécutant lorsqu’une condition est satisfaite, utilisez l’éditeur d’actions, qui fait partie de l’éditeur de règles. Pour créer une action, vous pouvez procéder comme suit :
- Ajoutez des fonctions intégrées ou définies par l’utilisateur, le cas échéant.
- Définissez des arguments dans les fonctions. Pour cela, faites glisser un élément de la fenêtre Explorateur de faits.
- Entrez les valeurs d’argument inline en sélectionnant un lien d’argument.
- Déplacez des fonctions dans une action.
Ajouter une fonction
Sélectionnez la règle dans l’Explorateur d’ensemble de règles.
Dans la fenêtre THEN (alors) qui correspond à l’éditeur d’actions, ouvrez le menu contextuel Actions, puis sélectionnez une fonction intégrée pour ajouter une action et un argument.
Le tableau suivant décrit les fonctions disponibles que vous pouvez sélectionner dans le menu contextuel Actions :
Fonction Description Assert Ajouter un nouveau fait dans la mémoire de travail de l’instance du moteur de règles. Clear Réinitialiser la mémoire de travail et l’agenda de l’instance du moteur de règles. Pour plus d’informations sur la mémoire de travail et l’agenda, consultez Optimisation du moteur de règles. Halt Mettre fin au traitement des règles. Retract Supprimer un fait de la mémoire de travail de l’instance du moteur de règles. RetractByType Supprimer un fait d’un type particulier de la mémoire de travail de l’instance du moteur de règles. Update Mettre à jour un fait dans la mémoire de travail de l’instance du moteur de règles.
Pour plus d’informations, consultez Optimiser les règles avec des fonctions de contrôle.
Spécifier un argument pour une fonction dans une action
Suivez cette procédure, identique à celle d’un prédicat dans une condition.
Déplacer une fonction dans une action
Les actions d’une règle s’exécutent en fonction de l’ordre spécifié, à l’exception des fonctions de contrôle du moteur de règles, qui s’exécutent à la suite d’autres actions.
- Dans l’éditeur d’actions, ouvrez le menu contextuel de l’action, puis sélectionnez Déplacer vers le haut ou Déplacer vers le bas pour déplacer respectivement l’action d’une position ou d’un niveau.
Spécifier un argument pour un prédicat dans une condition ou pour une fonction dans une action
Dans l’éditeur de conditions ou l’éditeur d’actions (selon l’opération), effectuez l’une des étapes suivantes :
Dans le prédicat ou la fonction, sélectionnez l’argument par défaut, puis entrez la valeur souhaitée ou sélectionnez-la dans une liste, le cas échéant.
Dans la fenêtre Explorateur de faits, sélectionnez l’onglet comportant le terme à utiliser comme argument, puis faites glisser le terme en question sur l’argument dans le prédicat ou la fonction (dans l’éditeur correspondant).
Le type de terme doit être celui attendu par le prédicat ou la fonction. Sinon, vous recevez un message d’erreur.
Pour remplacer un argument par une valeur de chaîne vide, ouvrez le menu contextuel de l’argument, puis sélectionnez Définir sur une chaîne vide.
Pour remplacer un argument par une définition constante de type Null, ouvrez le menu contextuel de l’argument, puis sélectionnez Définir sur Null.
Remarque
Si le type d’argument ne peut pas être défini sur Null, cette option peut ne pas apparaître.
Pour ajouter un opérateur arithmétique ou logique à un argument, consultez Ajouter des opérateurs arithmétiques et logiques aux règles.
Rechercher une source d’élément dans une condition ou une action
Dans l’éditeur de conditions ou l’éditeur d’actions (selon l’opération), effectuez l’une des étapes suivantes :
Pour localiser la définition de vocabulaire dans l’Explorateur de faits que vous avez utilisé pour créer un prédicat dans une condition, une fonction dans une action, ou un argument dans l’un ou l’autre, ouvrez le menu contextuel du prédicat, de la fonction ou de l’argument, puis sélectionnez Atteindre le vocabulaire.
Pour localiser un membre .NET ou un élément XML dans l’Explorateur de faits que vous avez utilisé pour créer un prédicat dans une condition, une fonction dans une action, ou un argument dans l’un ou l’autre, ouvrez le menu contextuel du prédicat, de la fonction ou de l’argument, puis sélectionnez Atteindre le fait source.
Supprimer un prédicat, un opérateur logique ou une action
Dans l’éditeur de conditions, effectuez l’une des étapes suivantes :
Sélectionnez l’élément, puis appuyez sur la touche Supprimer.
Sélectionnez l’élément (comme un prédicat, un opérateur logique ou une action), puis sélectionnez Supprimer< type-d-élément>.
Pour supprimer un argument avec tous ses arguments imbriqués et restaurer la définition par défaut, ouvrez le menu contextuel de l’argument, puis sélectionnez Réinitialiser l’argument.
Ajouter des faits à vos règles
Vous pouvez spécifier des références de sources de données à enregistrer dans votre magasin de règles pour les utiliser ultérieurement comme faits, dans vos règles et vos vocabulaires. Vous pouvez spécifier des assemblies .NET avec des classes et des membres de classe, ou des schémas XSD avec des éléments et des attributs de document XML.
Pour explorer les données que vous avez déjà ajoutées à partir d’un assembly .NET, d’un schéma XSD ou en tant que définitions de vocabulaire : dans la fenêtre Explorateur de faits, sélectionnez l’onglet Vocabulaires, Schémas XML ou Classes .NET, en fonction de l’emplacement des données souhaitées.
Faites glisser les données de l’onglet correspondant vers l’emplacement souhaité dans une condition (dans l’éditeur de conditions) ou dans une action (dans l’éditeur d’actions).
Ajouter un assembly .NET comme source de données pour des faits .NET
Dans la fenêtre Explorateur de faits, sélectionnez l’onglet Classes .NET.
Ouvrez le menu contextuel des Assemblies .NET, puis sélectionnez Parcourir.
Recherchez et ouvrez l’assembly .NET à utiliser.
Sous Assemblies .NET, l’assembly sélectionné apparaît avec ses classes et ses membres, par exemple :
Important
Si vous mettez à jour l’assembly .NET dans le répertoire local, l’Éditeur de règles Microsoft n’actualise pas automatiquement l’assembly .NET. Pour connaître les étapes d’actualisation des références à un assembly mis à jour, consultez Mettre à jour les références d’assembly .NET.
Mettre à jour les références d’assembly .NET
Si vous ajoutez un nouvel assembly .NET, avec un autre nom ou une autre version, vous devez mettre à jour l’ensemble de règles en conséquence. Pour cette tâche,vous devez créer une version d’ensemble de règles dans l’Éditeur de règles Microsoft et mettre à jour les références vers le nouvel assembly, notamment les classes, les méthodes, etc. Pour importer l’assembly mis à jour, vous devez redémarrer l’Éditeur de règles Microsoft.
Si l’assembly .NET mis à jour utilise le même nom, le même numéro de version, etc., il vous suffit d’ajouter le nouvel assembly au projet de fonction du moteur de règles Azure Logic Apps.
Supprimer un assembly .NET comme source de données
Dans la fenêtre Explorateur de faits, sélectionnez l’onglet Classes .NET.
Sous Assemblies .NET, ouvrez le menu contextuel de l’assembly, puis sélectionnez Supprimer.
Ajouter un schéma XML comme source de données pour des faits XML
Dans la fenêtre Explorateur de faits, cliquez sur l’onglet Schémas XML.
Ouvrez le menu contextuel du nœud Schémas, puis sélectionnez Parcourir.
Dans la zone Fichiers de schéma, recherchez et sélectionnez le fichier de schéma XML (.xsd), puis cliquez sur Ouvrir.
Sous schémas, le schéma XML apparaît avec ses éléments XML. Par exemple :
Liaisons pour les éléments XML utilisés dans les arguments
Dans l’infrastructure des règles métiers, la classe TypedXmlDocument est une bibliothèque de classes Microsoft compatible .NET qui représente le type de document XML et constitue l’une des classes implémentant l’interface ITypedFact. Ces classes sont appelées faits typés.
Lorsque vous utilisez un nœud à partir d’un document XML comme argument dans une règle, deux expressions XPath sont créées : une liaison sélecteur et une liaison champ, en fonction du nœud que vous choisissez d’utiliser :
Si le nœud a des nœuds enfant, une liaison sélecteur (aussi connue sous le nom de liaison XmlDocument) est créée avec le nœud et aucune liaison champ n’est créée.
Si le nœud n’a pas de nœud enfant, une liaison sélecteur (aussi connue sous le nom de liaison XmlDocument) est créée avec le nœud parent du nœud. Une liaison champ (aussi connue sous le nom de liaison XmlDocumentMember), est créée avec le nœud à proprement parler. La liaison champ dépend de la liaison sélecteur.
Avant de faire glisser un nœud XML dans un argument de règle, vous pouvez modifier les expressions XPath par défaut des nœuds XML. Dans ce cas, les nouvelles informations de liaison sont placées dans l’ensemble de règles.
Remarque
Lorsque le schéma est réimporté dans l’Éditeur de règles Microsoft, vous devez rentrer toutes les modifications apportées aux expressions XPath dans l’Éditeur de règles Microsoft.
Par exemple, imaginons le schéma XML suivant :
Si vous utilisez le nœud Income dans un argument, seule une liaison sélecteur est créée, car le nœud dispose de nœuds enfant.
Dans la fenêtre Propriétés, la propriété Sélecteur XPath du nœud contient l’expression XPath par défaut ci-dessous :
/*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']/*[local-name()='Income' and namespace-uri()='']
Toutefois, si vous utilisez le nœud Name dans un argument, une liaison sélecteur et une liaison champ sont créées.
Dans la fenêtre Propriétés, les informations sur la liaison du nœud s’affichent comme suit :
Propriété Valeur Champ XPath *[local-name()='Name' and namespace-uri()='']
Sélecteur XPath /*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']