Rulesets
Vous devez regrouper les règles (Rules) dans un groupe appelé Ruleset en vue de les distribuer au sein d’une application. Un Ruleset identifie, stocke et gère l’ensemble des règles qui définissent une application ou une partie majeure d’une application. Si une règle était une chanson, alors un Ruleset serait l’album complet.
Vous pouvez partager un Ruleset entre les applications pour permettre à plusieurs applications d’utiliser les mêmes règles. La capacité à réutiliser des règles déjà créées contribue à réduire le temps et les efforts consacrés au développement.
Gestion des versions de ruleset
Les développeurs rassemblent les règles (Rules) individuelles dans une instance de Ruleset, appelée Ruleset version. Pour mettre à jour le contenu du Ruleset, vous devez créer une nouvelle version de Ruleset. La nouvelle version de Ruleset est disponible — ou déverrouillée — ce qui permet au développeur de mettre à jour les règles et d’en ajouter de nouvelles. Il est recommandé de verrouiller les versions antérieures d’un Ruleset. La gestion des versions de Ruleset aide les développeurs à identifier et à gérer les modifications apportées à une application.
Pega Platform identifie les Rulesets par leurs noms et leurs numéros de version. Par exemple, une application permettant de traiter les notes de frais inclut un Ruleset intitulé Expense. Pega Platform ajoute le numéro de version au nom du Ruleset. Expense:01-02-03 est donc la version numéro 01-02-03 du Ruleset Expense.
Le numéro de version est composé de trois éléments : une version majeure, une version mineure et une version patch. Chaque élément est un numéro à deux chiffres compris entre 01 et 99. La numérotation des versions d’un Ruleset commence à 01-01-01.
Dans l’image suivante, cliquez sur les icônes + pour en savoir plus sur les segments de versions du Ruleset.
À partir de 2023, les versions des produits Pega Infinity suivent le format Année.Mineure.Patch. Pour Pega Infinity ’23, la version du produit est 23.1.1. Le contrôle de version sémantique des rulesets Pega suit le format Major-Minor-Patch. Pour Pega Infinity ’23, la version de Ruleset est 08-23-02.
Ruleset stack
Chaque application est définie par une séquence de Rulesets, appelée Ruleset stack. Le Ruleset stack détermine l’ordre dans lequel Pega Platform examine les Rulesets pour trouver la règle utilisée. Chaque entrée du Ruleset stack représente une version du Ruleset spécifié, en commençant par la version listée puis en descendant jusqu’aux versions mineures et patch de la version majeure spécifiée.
Chaque version d’une application contient un Ruleset stack unique, qui permet à une application mise à jour de référencer de nouvelles versions de Ruleset contenant des mises à jour et de nouvelles fonctionnalités.
Par exemple, Bob est un développeur qui travaille sur la première version d’une application de gestion des notes de frais. Il crée des règles (Rules) pour la première version de l’application, telles que les processus (Processes), interfaces utilisateur (UI) et Notifications. Bob regroupe ces règles dans la première version du Ruleset Expense, Expense:01-01-01. Après plusieurs itérations de déploiement d’un environnement d’assurance qualité et de corrections des bugs, le Ruleset Expense est versionné plusieurs fois jusqu’à 01-01-05 avant d’être déployé en production.
Quelques mois plus tard, il est demandé à Tanya de mettre à jour l’interface utilisateur de l’application afin de collecter des informations supplémentaires auprès des employés en raison d’un changement de politique. Cette mise à jour améliore les règles créées précédemment par Bob. Tanya crée des règles (Rules) pour modéliser ce nouveau comportement dans une deuxième version du Ruleset, Expense:01-02-01. Elle utilise ensuite le Ruleset Expense:01-02-01 dans l’application de gestion des notes de frais mise à jour.
Dans l’image suivante, cliquez sur les icônes + pour en savoir plus sur les Ruleset stacks :
Bonnes pratiques en matière de rulesets
Utilisez les bonnes pratiques suivantes lors de la création de Rulesets.
Conventions de dénomination
- Pour les Rulesets d’application, utilisez des noms uniques, significatifs dans un contexte métier et faciles à retenir, afin de transmettre clairement l’objectif du Ruleset. Par exemple, dans une application bancaire, nommez votre Ruleset Comptes pour stocker les règles associées aux comptes.
- Pour les Rulesets d’organisation, de division et partagés, commencez le nom de votre Ruleset par un élément qui identifie clairement votre société et sa mission. Évitez d’utiliser des acronymes, difficiles à décoder. Par exemple, nommez votre Ruleset UPlusTelecomContrats plutôt que UPTC. Cette convention permet également d’éviter les conflits potentiels de Rulesets.
- N’utilisez pas Pega ni Pega- en tant que préfixe pour vos noms de Ruleset. Ces préfixes sont restreints à une utilisation interne dans la plateforme Pega et peuvent provoquer un comportement inattendu.
- Évitez d’utiliser des espaces dans les noms de Ruleset. La longueur maximale d’un nom de Ruleset est de 32 caractères.
- Évitez d’utiliser des caractères spéciaux comme le tiret (-), le trait de soulignement (_), le signe plus (+) ou les guillemets (" "). Le système ne permet pas d’enregistrer de règles avec ces attributs.
Enregistrer des Ruleset
- Refactorisez le Ruleset dans sa propre application ou dans une application commune. Ne partagez les Rulesets de base que lorsque vous partagez des Rulesets entre plusieurs applications.
- Limitez le développement aux Rulesets dans la couche d’application (Application Layer) la plus élevée, et maintenez verrouillées les applications « built-on ».
Gestion des versions de Rulesets
- Envisagez de créer une version majeure de votre application si vous mettez à niveau votre serveur d’applications ou votre serveur de base de données vers une nouvelle version majeure.
- Incrémentez régulièrement les versions de Ruleset afin de faciliter le suivi des mises à jour de votre application dans le temps.
- Créez un nouveau Ruleset avec une classe de haut niveau, héritée directement de @baseclass.
Vérifiez vos connaissances avec l’interaction suivante :
This Topic is available in the following Module:
Want to help us improve this content?