Rulesets
Um Regeln für die Verteilung als Teil einer Anwendung zu Paketen zusammenzustellen, erfassen Sie Regeln in einer Gruppe, die als Ruleset bezeichnet wird. Mit einem Ruleset werden die Regeln, die eine Anwendung oder einen wesentlichen Teil einer Anwendung definieren, bestimmt, gespeichert und verwaltet. Wenn wir uns eine Regel als ein Lied vorstellen, ist ein Ruleset mit dem ganzen Album vergleichbar.
Sie können ein Ruleset zwischen Anwendungen teilen, damit mehrere Anwendungen dieselben Regeln verwenden. Durch die Möglichkeit der Wiederverwendung bereits erstellter Regeln lässt sich Entwicklungszeit und -aufwand einsparen.
Versionierung von Rulesets
Entwickler stellen einzelne Regeln in einer Instanz eines Ruleset zusammen, die als Ruleset-Version bezeichnet wird. Um den Inhalt eines Ruleset zu aktualisieren, erstellen Sie eine neue Ruleset-Version. Die neue Ruleset-Version ist für den Entwickler verfügbar, oder entsperrt, damit er Aktualisierungen an den Regeln vornehmen und neue Regeln hinzufügen kann. Best Practice ist es, ältere Versionen des Ruleset zu sperren. Die Versionierung von Rulesets hilft Entwicklern, Änderungen an einer Anwendung zu ermitteln und zu verwalten.
Die Pega-Plattform ermittelt Rulesets nach Namen und Versionsnummern. Beispiel: Eine Anwendung zur Bearbeitung von Spesenabrechnungen enthält das Ruleset Expense. Die Pega-Plattform hängt die Versionsnummer an den Ruleset-Namen an. Expense:01-02-03 ist die Versionsnummer 01-02-03 des Ruleset Expense.
Die Versionsnummer ist in drei Segmente unterteilt: eine Hauptversion, eine Nebenversion und eine Patch-Version. Jedes Segment entspricht einer zweistelligen Zahl, die mit 01 beginnt und bis 99 ansteigt. Die Nummerierung der Ruleset-Version beginnt bei 01-01-01 und wird jeweils um 1 erhöht.
Klicken Sie in der folgenden Abbildung auf die Pluszeichen (+), um mehr über die Segmente der Ruleset-Versionen zu erfahren:
Ab 2023 folgen Pega Infinity-Produktversionen dem Format Year.Minor.Patch. Für Pega Infinity '23 lautet die Produktversion 23.1.1. Die semantische Versionierung des Pega Ruleset folgt dem Format Major-Minor-Patch. Für Pega Infinity '23 lautet die Ruleset-Version 08-23-02.
Ruleset Stack
Jede Anwendung besteht aus einer Sequenz von Rulesets, die als Ruleset Stack bezeichnet werden. Der Ruleset Stack bestimmt die Reihenfolge, in der die Pega-Plattform die Rulesets nach der verwendeten Regel durchsucht. Jeder Eintrag im Ruleset Stack stellt alle Versionen des angegebenen Ruleset dar, beginnend mit der aufgelisteten Version bis hinunter zur niedrigsten Neben- und Patch-Version für die angegebene Hauptversion.
Jede Version einer Anwendung enthält einen eindeutigen Ruleset Stack. Der Ruleset Stack ermöglicht es einer aktualisierten Anwendung, sich auf neue Ruleset-Versionen zu beziehen, die Updates und neue Funktionen enthalten.
Beispiel: Bob ist ein Entwickler, der an der ersten Version einer Anwendung zur Verwaltung von Spesenabrechnungen arbeitet. Bob erstellt Regeln für die erste Version der Anwendung, z. B. Prozesse, Benutzeroberflächen und Benachrichtigungen. Bob sammelt diese Regeln in der ersten Version des Spesen-Ruleset Expense:01-01-01. Nach mehreren Iterationen der Bereitstellung in einer QA-Umgebung und Fehlerkorrekturen wird das Ruleset „Expense“ mehrfach bis zum 01.01.05 versioniert, bevor es in der Produktion implementiert wird.
Monate später erhält Tanya eine Verbesserungsanfrage zur Aktualisierung einer Benutzeroberfläche in der Anwendung, um wegen einer Richtlinienänderung zusätzliche Informationen von Mitarbeitern zu erfassen. Mit diesem Update werden die zuvor von Bob erstellten Regeln erweitert. Tanya erstellt Regeln, um dieses neue Verhalten in einer zweiten Version des Ruleset Expense:01-02-01 zu modellieren. Anschließend verwendet sie das Ruleset Expense:01-02-01 in der aktualisierten Spesenabrechnungsanwendung.
Klicken Sie in der folgenden Abbildung auf die Pluszeichen (+), um mehr über Ruleset Stacks zu erfahren.
Best Practices für Rulesets
Beachten Sie bei der Erstellung von Rulesets die folgenden Best Practices.
Konventionen für die Benennung
- Verwenden Sie für Anwendungs-Rulesets eindeutige Namen, die im geschäftlichen Kontext aussagekräftig und leicht zu merken sind, um den Zweck des Rulesets deutlich zu machen. Beispiel: In einer Banking-Anwendung ist „Konten“ ein sinnvoller Name für ein Ruleset, das Regeln für Konten enthält.
- Für Organisations-, Abteilungs- und gemeinsame Rulesets sollten Sie den Namen Ihres Rulesets mit einem Text beginnen, der Ihr Unternehmen und den Geschäftszweck eindeutig identifiziert, und schwer verständliche Abkürzungen vermeiden. Beispiel: Benennen Sie Ihr Ruleset UPlusTelcoContracts anstelle von UPTC. Diese Vorgehensweise verhindert auch mögliche Ruleset-Konflikte.
- Verwenden Sie Pega oder Pega- nicht als Präfix für Ruleset-Namen. Diese Präfixe sind auf die interne Verwendung in der Pega-Plattform beschränkt und können zu unerwartetem Verhalten führen.
- Vermeiden Sie die Verwendung von Leerzeichen in Ruleset-Namen. Die maximale Länge eines Ruleset-Namens beträgt 32 Zeichen.
- Vermeiden Sie die Verwendung von Sonderzeichen wie Bindestriche (-), Unterstriche (_), Pluszeichen (+) oder Anführungszeichen („ "). Das System lässt das Speichern von Regeln mit diesen Attributen nicht zu.
Rulesets speichern
- Stattdessen sollten Sie das Ruleset für eine eigene Anwendung oder eine gemeinsame Anwendung vorsehen. Teilen Sie nur grundlegende Rulesets über mehrere Anwendungen hinweg.
- Beschränken Sie die Entwicklung auf Rulesets im obersten Application-Layer auf der Anwendungsebene und lassen Sie darauf aufbauende Anwendungen gesperrt.
Rulesets versionieren
- Ziehen Sie die Erstellung einer Hauptversion Ihrer Anwendung in Betracht, wenn Sie Ihren Anwendungsserver oder Datenbankserver auf eine neue Hauptversion aktualisieren.
- Erhöhen Sie die Ruleset-Versionen häufig, um Aktualisierungen Ihrer Anwendung im Laufe der Zeit einfach zu verfolgen.
- Erstellen Sie ein neues Ruleset mit einer Top-Level-Klasse mit direkter Vererbung von @baseclass.
Prüfen Sie mit der folgenden Interaktion Ihr Wissen:
Dieses Thema ist im folgenden Modul verfügbar:
Möchten Sie uns dabei helfen, diesen Inhalt zu verbessern?