Benutzerdefinierte Regel

Die Event Engine verwendet für die kontinuierliche Datenstromverarbeitung Apache Flink. Alle Event Engine-Regeln verwenden die Funktionalität von Flink. Die Funktion "Benutzerdefinierte Regel" ermöglicht es Ihnen, eigene Event Engine-Regeln zu erstellen.

Wenn Sie über ein Framework verfügen, in dem Sie Ihre eigenen Regeln entwerfen und erstellen können, erhalten Sie Kontrolle und Flexibilität, um Ihre eigenen Funktionen für empfangene Ereignisse zu implementieren.

Weitere Informationen zu einem Anwendungsfall finden Sie unter:

Diese Seite beinhaltet Folgendes:

Für wen wurde die benutzerdefinierte Regel entworfen?

Es gibt eine Reihe von Teilnehmern, die am Design, der Installation, der Konfiguration und der Verwendung von benutzerdefinierten Regeln beteiligt sind.

Java-Entwickler

Als Java-Entwickler stellt Ihnen CA Automic das erforderliche Framework für benutzerdefinierte Regeln zur Verfügung, in dem Sie Code für die Event Engine vorbereiten können. Das Framework ermöglicht Ihnen, individuelle benutzerdefinierter Regeln zu entwerfen und zu erstellen, die auf Ihre Geschäftsanforderungen zugeschnitten sind.

Wichtig! Für Projekte mit benutzerdefinierten Regeln ist eine Java-Umgebung erforderlich, die Maven für das Building und das Packaging verwendet.

Administratoren

Als Administrator übernehmen Sie das vom Entwickler entworfene Paket und importieren es in die Automation Engine.

Operator

Als Operator können Sie die Regelkonfiguration so ändern, dass sie Ihren spezifischen Anforderungen entspricht.

Übersicht

In der folgenden Abbildung erhalten Sie einen vollständigen Überblick über die Funktionsweise der benutzerdefinierten Regel.

Vollständiger Überblick über die benutzerdefinierte Regel

Eine benutzerdefinierte Regel entwerfen

Der Entwurf und die Regellogik werden von Ihrem Entwickler bereitgestellt. Es sind mehrere Schritte erforderlich, bevor ein Automation EngineAdministrator die Ereignisdefinition in AWI erstellen kann.

Die folgende Tabelle zeigt die verschiedenen Aufgaben und Verantwortlichkeiten bei der Erstellung einer benutzerdefinierten Regel:

Aufgaben im Hinblick auf benutzerdefinierte Regeln

Als Entwickler müssen Sie Folgendes tun:

  • Ein neues Maven-Projekt in der lokalen IDE erstellen
  • Eine Abhängigkeit mit unserem Framework in der Datei pom.xml erstellen
  • Unser Maven-Plug-in dem Framework in der Datei pom.xml hinzufügen
  • Einen Namen für die benutzerdefinierte Regel in der Datei pm.xml angeben
  • Eine Klasse mit der Hauptmethode erstellen
  • Eine Klasse erstellen, die die CustomRule-Schnittstelle implementiert, die die Regellogik enthält
  • Eine Datei ruleProperties.properties im Ordner resources erstellen und alle Regelparameter angeben, die bei der Implementierung der CustomRule-Schnittstelle erforderlich sind
  • Eine Datei outputParameters.propeerties im Ordner resources erstellen und dort alle Ausgabeparameter angeben
  • In der Hauptmethode die TestEnvironment konfigurieren und die Implementierung von CustomRule mithilfe der Methode StreamProcessor.execute starten
  • Eine Instanz der RuleProperties erstellen und alle Werte festlegen, die für die Ausführung der CustomRule erforderlich sind
  • Eine Quelle für die Testereignisse bereitstellen, die der TestEnvironment als Referenz auf das Iterable-Objekt hinzugefügt wird
  • Wenn alles funktioniert, die TestEnvironment durch die DistributedEnvironment ersetzen
  • Das MVN-Paket zum Erstellen des Projekts ausführen und das Aktionspaket erstellen
  • Das Aktionspaket für den Administrator bereitstellen

Als Administrator müssen Sie:

  • in der Lage sein, Ereignisdefinitionen zu erstellen
  • in der Lage sein, ein Webhook-Objekt zu erstellen
  • in der Lage sein, eine einfache/Statusänderungsregel zu erstellen und auszuführen
  • Ein Action Pack mit der benutzerdefinierten Regel importieren
  • Eine Instanz der benutzerdefinierten Regel erstellen
    • Ereignisdefinitionen auswählen
    • Werte für die Regeleigenschaftsfelder basierend auf der Beschreibung der einzelnen Felder bereitstellen
    • Ein ausführbares Objekt auswählen
    • Die Ausgabeparameter der benutzerdefinierten Regel den PromptSet-Variablen des ausführbaren Objekts zuordnen
  • Die Instanz der benutzerdefinierten Regel ausführen

Als Benutzer haben Sie folgende Möglichkeiten:

  • Werte für die Regeleigenschaftsfelder auf der Benutzeroberfläche einrichten/aktualisieren
  • Die Instanz des benutzerdefinierten Regel-Objekts über die Benutzeroberfläche ausführen

Eine benutzerdefinierte Regel definieren

Um eine Regel definieren zu können, müssen Sie zwei Schlüsselelemente definieren.

  1. Setzen Sie einen Auslöser mithilfe des Kästchens Ereignisdefinition.
  2. Definieren Sie eine Aktion, die ausgeführt wird, wenn eine oder mehrere definierte Ereignis bedingungen erfüllt sind.

Abschnitt "Auslösen"

Wählen Sie mindestens eine Variable des Typs Ereignisdefinition aus, bevor Sie eine bestimmte Regel definieren. Eine Variable des Typs Ereignisdefinition ist eine statische XML-Variable: Sie speichert statische Werte oder ruft sie aus einer bestimmten dynamischen Datenquelle ab. Weitere Informationen finden Sie unter Variablen und VARA-Objekte.

  • Geben Sie den Namen der Ereignisdefinition in das Feld ein, oder wählen Sie eine Ereignisdefinition über die Liste im Kombinationsfeld aus.

  • Klicken Sie auf Filterausdruck hinzufügen, um mehrere Filterausdrücke zu definieren.

Feld Beschreibung
Filterausdruck hinzufügen

Fügt ein neues Feld Filterausdruck hinzu, mit der Sie mehrere Filterausdrucke erstellen können.

Attribut

Mit diesem Kombinationsfeld können Sie ein Attribut auswählen, das in der Datei "Ereignisdefinition" definiert wurde. So könnte ein Attribut des Ereignisses AGENT_DOWN beispielsweise agent.name lauten.

Operator

Hinweise:

  • Die verfügbaren Operatoren unterscheiden sich je nach dem im Ausdruck gewählten Attribut-Typs.
  • Operatoren unterstützen keine anderen regulären Ausdrücke als "stimmt überein mit regulärem Ausdruck" und "stimmt nicht überein mit regulärem Ausdruck".

Das Kombinationsfeld es Ihnen ermöglicht Operatoren auszuwählen, die zur Auswertung einer Bedingung verwendet werden.

Siehe: Operatortabelle

Wert

Setzt einen Wert entsprechend dem vorgefilterten Attribut und dem Operator. Dieser Wert wird dann mit dem Attributwert im externen Ereignis mithilfe des angegebenen Operators verglichen.

Hinweis: Einige Operatoren benötigen keinen Wert, siehe Feld Operator oben.

Operatortabelle

Operatortyp Anwendbar auf Attributtyp Wert erforderlich Bedingung erfüllt
gleich Alle Typen Ja Wenn der Wert des Attributs im externen Ereignis gleich dem angegebenen Wert ist.
ungleich Alle Typen Ja Wenn der Wert des Attributs im externen Ereignis nicht gleich dem angegebenen Wert ist.
größer als Nur Zahlentypen Ja Wenn der Wert des Attributs im externen Ereignis größer als der angegebene Wert ist.
Kleiner als Nur Zahlentypen Ja Wenn der Wert des Attributs im externen Ereignis kleiner als der angegebene Wert ist.
kleiner oder gleich Nur Zahlentypen Ja Wenn der Wert des Attributs im externen Ereignis kleiner oder gleich dem angegebenen Wert ist.
größer oder gleich Nur Zahlentypen Ja Wenn der Wert des Attributs im externen Ereignis größer oder gleich dem angegebenen Wert ist.
vorhanden Alle Typen Nein Wenn das Attribut im externen Ereignis vorhanden ist.
nicht vorhanden Alle Typen Nein Wenn das Attribut im externen Ereignis nicht vorhanden ist.
enthält Nur String-Typ Ja Wenn der Wert des Attributs im externen Ereignis den angegebenen String enthält.
enthält nicht Nur String-Typ Ja Wenn der Wert des Attributs im externen Ereignis nicht den angegebenen String enthält.
beginnt mit Nur String-Typ Ja Wenn der Wert des Attributs im externen Ereignis mit dem angegebenen String beginnt.
beginnt nicht mit Nur String-Typ Ja Wenn der Wert des Attributs im externen Ereignis nicht mit dem angegebenen String beginnt.
stimmt überein mit (regulärer Ausdruck) Nur String-Typ Ja Wenn der Wert des Attributs im externen Ereignis mit dem angegebenen regulären Ausdruck übereinstimmt.
stimmt nicht überein mit (regulärer Ausdruck) Nur String-Typ Ja Wenn der Wert des Attributs im externen Ereignis nicht mit dem angegebenen regulären Ausdruck übereinstimmt.
endet mit Nur String-Typ Ja Wenn der Wert des Attributs im externen Ereignis mit dem angegebenen String endet.
endet nicht mit Nur String-Typ Ja Wenn der Wert des Attributs im externen Ereignis nicht mit dem angegebenen String endet.
ist leer Nur String-Typ Nein Wenn der Wert des Attributs leer ist (aber das Attribut im Ereignis vorhanden ist).
ist nicht leer Nur String-Typ Nein Wenn der Wert des Attributs im externen Ereignis nicht leer ist.

Abschnitt "Aktion"

Definieren Sie, welche Aktion ausgeführt werden soll, wenn eine oder mehrere Bedingungen erfüllt sind.

Feld Beschreibung
Ausführen

Sobald eine Bedingung erfüllt ist, wird die definierte Aktion ausgeführt. Beispielsweise ist ein Agent ausgefallen und in diesem Fall wird sofort ein Workflow gestartet, um ihn neu zu starten.

Alias

Bei Bedarf können Sie hier einen Alias angeben.

Variablen zuordnen

Es ist möglich, die Werte aus einem Ereignisattribut PromptSet-Variablen einer ausführbaren Datei zuzuordnen.

Beispiel: Wenn Ihre ausführbare Datei eine PromptSet-Variable mit dem Namen "&STATUS#" hat und Ihre Ereignisdefinition ein Attributschlüssel-Feld mit dem Namen "Status" hat, können sie mit dieser Funktion zugeordnet werden.Der Feldwert "Status", den der IA-Agent auf seinem REST-Endpunkt erhält, steht der ausführbaren Datei zur Verfügung, die der Variablen "&STATUS#" zugeordnet ist. 

Hinzufügen (Schaltfläche)

Fügt die angegebene Zuordnung zwischen dem Attribut und der ausführbaren Variable hinzu.

So führen Sie eine Regel aus

  1. Wählen Sie die Seite Attribute im Rule-Ereignisobjekt
  2. Wählen Sie den IA-Agenten im Kombinationsfeld Agent und klicken Sie auf Speichern
  3. Klicken Sie auf Ausführen, um die Regel auszuführen.