Einführung in Ereignisse ii Einführung in Ereignisse Inhaltsverzeichnis Einführung in Ereignisregeln. . . . . . 1 Übung 1: Einfache Anwendung erstellen . . . . . 3 Ereignisdefinition und Aktionsdefinition erstellen 4 Verbindungen zu den Systemen definieren, von denen Ereignisse empfangen werden und an die Aktionen von Event Runtime gesendet werden . 11 Geschäftslogik erstellen . . . . . . . . . 14 Ereignisprojekt implementieren . . . . . . . 16 Ereignisprojekt testen . . . . . . . . . . 17 Übung 2: Bedingte Logik zur Anwendung hinzufügen . . . . . . . . . . . . . . 19 Bedingung in der Ereignisregel schreiben . . Geschäftsobjektfeld verbalisieren, um eine Kontextbeziehung definieren zu können . . . Kontextbeziehung zwischen Ereignissen testen Übung 3: Weiteres Ereignis definieren und weitere Bedingung erstellen . . . . . . . . . . Übung 4: Ereignisregeln mit Verzögerungen erstellen . . . . . . . . . . . . . . . 20 . 21 . 24 . 27 . 34 iii iv Einführung in Ereignisse Einführung in Ereignisregeln In diesem Lernprogramm erstellen Sie eine kleine Anwendung im Umfeld einer Versicherungsgesellschaft. In diesem Szenario werden Geschäftschancen durch die Verarbeitung von Geschäftsereignissen ermittelt. Szenario Eine Versicherungsgesellschaft möchte ihre Fähigkeit zur Ermittlung potenzieller Kunden verbessern und Vertragsabschlüsse tätigen, die andernfalls versäumt würden. Das Unternehmen vertreibt zwar eine Reihe verschiedener Versicherungsprodukte, dieses Lernprogramm konzentriert sich jedoch ausschließlich auf die Ermittlung potenzieller Kunden für eine Kfz-Versicherung. Die Versicherungsgesellschaft hat einen exzellenten Internetauftritt. Die meisten Angebotsanfragen, die direkt von potenziellen Kunden stammen (also nicht über Makler oder Vertreter vorgelegt werden), gehen über die Website des Unternehmens ein. Sobald jemand über die Website des Unternehmens ein Angebot für eine Kfz-Versicherung anfordert, wird die Anfrage an das unternehmenseigene Angebotssystem geleitet, das in Form eines Angebots auf der Website antwortet. Darüber hinaus wird in einer E-Mail das Angebot bestätigt, das dann bis zu 90 Tage bindend ist. Sobald die Angebotsanfrage beim Unternehmen über die Website eingeht, wird sie auch an Decision Server Events gesendet. Jeden Tag gehen zahlreiche Angebotsanfragen ein. Daher wäre eine telefonische Kontaktaufnahme in jedem einzelnen Fall zu kostenintensiv. Das Unternehmen möchte feststellen, wann eine Angebotsanfrage wahrscheinlich zu einem Vertragsabschluss führen wird. Dann erhält der potenzielle Kunde einen persönlichen Anruf eines Mitarbeiters des Call-Centers des Unternehmens. So geht das Unternehmen beispielsweise davon aus, dass ein potenzieller Kunde ernsthaft am Abschluss einer Kfz-Versicherungspolice interessiert ist, wenn er innerhalb kurzer Zeit mehrere Angebote von Kfz-Versicherungen beim Unternehmen anfordert (wenn er z. B. die für die Police wählbaren Optionen ändert). Umgekehrt kann natürlich auch eine einzelne Angebotsanfrage zu einem Abschluss führen, dies ist jedoch weniger wahrscheinlich. Stattdessen möchte die Versicherungsgesellschaft den potenziellen Kunden in eine entsprechende Marketingkampagne aufnehmen. Da die Versicherungsgesellschaft niemanden belästigen möchte, ist es wichtig, dass der potenzielle Kunde keinen Anruf mit dem Zweck eines Verkaufsgesprächs vom Call-Center erhält, wenn er bereits eine Police vom Unternehmen erworben hat (dies würde ein schlechtes Licht auf das Unternehmen werfen). Außerdem darf der Kunde keinesfalls mehrfach in Marketingkampagnen aufgenommen werden, wenn er später eine zweite (oder auch dritte) Anfrage beim Unternehmen stellt. Vorbereitungen zur Ausführung des Lernprogramms 1. Installieren Sie Decision Server Events mit IBM Launch Pad, und wählen Sie Standardinstallation aus. Akzeptieren Sie die Standardoptionen. 1 2. Richten Sie das Widget Event Tester ein. Im Abschnitt Umgebung für den Test der Ereignislogik vorbereiten finden Sie ausführliche Informationen hierzu. 3. Klicken Sie auf Getting_Started_with_Events.zip, um diese ZIP-Datei auf Ihren Computer herunterzuladen und in einem Verzeichnis auf Ihrem Computer zu entpacken. Die Datei Getting_Started_with_Events.zip enthält eine vollständige Version der Lernprogrammanwendung. Sie können jetzt mit den Übungen des Lernprogramms beginnen. Übungen des Lernprogramms Die erste Übung in diesem Lernprogramm konzentriert sich ausschließlich auf die Erstellung einer Anwendung, mit der potenzielle Kunden in Marketingkampagnen aufgenommen werden, sobald sie um das Angebot einer Kfz-Versicherung bitten. In den nachfolgenden Übungen wird das Leistungsspektrum der Anwendung erhöht, und zwar durch das Hinzufügen weiterer Logik, mit der festgestellt werden kann, ob ein Kunde in einem bestimmten Zeitraum mehrere Angebote für eine Kfz-Versicherung eingeholt hat. Mit jeder Übung werden neue Funktion von Decision Server Events vorgestellt, die im Verlauf der Anwendungserstellung relevant werden. Die im versicherungsspezifischen Lernprogramm auszuführenden Aufgaben werden je nach Art des Benutzers unterteilt, der diese Aufgaben in der Regel auch in der Realität ausführen würde: v IT-Anwender - definiert das Datenmodell (die Struktur der Ereignisse und Aktionen) und die Verbindungen mit anderen Systemen v Professioneller Anwender - definiert die Geschäftslogik durch die Verwendung der Posten, die vom IT-Anwender zuvor definiert wurden Wenn die Geschäftslogik während der Laufzeit der Anwendung erweitert werden soll, muss der IT-Benutzer möglicherweise zunächst das Datenmodell erweitern, was in nachfolgenden Übungen des Lernprogramms erläutert wird. Das folgende Diagramm veranschaulicht das im Lernprogramm verwendete Szenario. 2 Einführung in Ereignisse Übung 1: Einfache Anwendung erstellen In dieser Übung erstellen Sie eine vereinfachte Version der endgültigen Anwendung und beginnen mit den Grundbausteinen. Diese Anwendung ist die Basis für die folgenden Übungen. Vorbereitende Schritte Führen Sie die Schritte in „Vorbereitungen zur Ausführung des Lernprogramms” auf Seite 1 vollständig aus. Informationen zu diesem Vorgang Jedesmal, wenn ein potenzieller Kunde ein Angebot für eine Kraftfahrzeugversicherung über die Website der Versicherungsgesellschaft anfordert, sendet die Website ein Geschäftsereignis an den Event-Runtime-Server. Das Geschäftsereignis enthält die Informationen, die der potenzielle Kunde auf der Website angegeben hat. Die Website strukturiert den Inhalt des Ereignisses auf eine bestimmte Art, so dass das Ereignis vom Event-Runtime-Server erkannt wird. Die Struktur dieses Ereignisses wird vom IT-Benutzer in Event Designer definiert und in Decision Server Events gespeichert, so dass eingehende Ereignisse immer erkannt werden. Wenn es angebracht ist, den potenziellen Kunden zu einer Marketingkampagne hinzuzufügen, sendet Event Runtime eine Aktion an den Vertrieb. Die Struktur der Aktion wird vom IT-Benutzer auch in Event Designer definiert. Die Informationen in der Aktion können mit den Informationen in dem Ereignis das sie reagiert, identisch sein oder können sich von ihnen unterscheiden. In diesem Szenario hat der potenzielle Kunde seinen Namen, seine Kontaktinformationen sowie die Details zu dem Kraftfahrzeug angegeben, das er versichern will. Dieselben Informationen werden an den Vertrieb gesendet, sodass Einführung in Ereignisregeln 3 der Vertrieb unter Verwendung der angegebenen Kontaktinformationen das entsprechende Marketingmaterial an den Kunden senden kann. Führen Sie für Übung 1 die folgenden Schritte aus: 1. „Ereignisdefinition und Aktionsdefinition erstellen” 2. „Verbindungen zu den Systemen definieren, von denen Ereignisse empfangen werden und an die Aktionen von Event Runtime gesendet werden” auf Seite 11 3. „Geschäftslogik erstellen” auf Seite 14 4. „Ereignisprojekt implementieren” auf Seite 16 5. „Ereignisprojekt testen” auf Seite 17 Ereignisdefinition und Aktionsdefinition erstellen Informationen zu diesem Vorgang Sie definieren ein Ereignis mit dem Namen "Website Quote Request" für die Darstellung der von der Website empfangenen Angebotsanfrage. Außerdem definieren Sie eine Aktion mit dem Namen "Add To Campaign", die die Informationen aus dem Ereignis enthält, die der Vertrieb benötigt, um diesen potenziellen Kunden zu den relevanten Marketingkampagnen hinzuzufügen. Vorgehensweise 1. Starten Sie Event Designer: v Klicken Sie unter Windows auf Start > Programme > IBM WebSphere Operational Decision Management V7.5 > WebSphere Decision Server V7.5 > Event Designer. v Klicken Sie unter Linux auf Applications > IBM WebSphere Operational Decision Management V7.5 > WebSphere Decision Server V7.5 > Event Designer. 2. Erstellen Sie ein Ereignisprojekt für die Lernprogrammanwendung: a. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf eine beliebige Stelle, und klicken Sie dann auf Neu > Ereignisprojekt. b. Nennen Sie das Projekt Getting Started with Events, und klicken Sie auf Fertig stellen. 3. Definieren Sie das Event "Website Quote Request": a. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf Getting Started in Events, und klicken Sie dann auf Neu > Ereignis. b. Wählen Sie im Assistenten "Neues Ereignis" die Option Leeres Ereignis erstellen aus, und klicken Sie dann auf Weiter. c. Nennen Sie das Ereignis Website Quote Request, und klicken Sie dann auf Fertig stellen. Der Assistent wird geschlossen, und ein Editor für das neue Ereignis erscheint. Sie haben definiert, dass das von der Website empfangene Geschäftsereignis Informationen enthält, die in der Struktur des Ereignisses "Website Quote Request" enthalten sind. Jetzt müssen Sie die Struktur definieren, indem Sie ein Ereignisobjekt für das Ereignis definieren. d. Im Editor "Website Quote Request" gibt es einen eingeblendeten Abschnitt mit dem Namen "Ereignisobjekte". Klicken Sie im Abschnitt "Ereignisobjekte" auf Hinzufügen, woraufhin der Assistent Neues Ereignisobjekt erscheint. 4 Einführung in Ereignisse e. Wählen Sie Neues leeres Ereignisobjekt hinzufügen aus, und klicken Sie auf Weiter. f. Nennen Sie das Ereignisobjekt Request Details, und klicken Sie auf Fertig stellen. Der folgende Anzeigenerfassung zeigt den Assistenten Neues Ereignisobjekt: Das Ereignisobjekt "Request Details" enthält Felder, die die Einzelinformationen zu dem Kunden dessen Kraftfahrzeug im Ereignis "Website Quote Request" darstellen, z. B. den Namen des Kunden und das Jahr, in dem das Kraftfahrzeug erstmalig registriert wurde. Ereignisobjekte sind separate Assets, obwohl sie Teile eines Ereignisses darstellen, was Ihnen ermöglicht, ein Ereignisobjekt in mehreren Ereignissen wiederzuverwenden. g. Drücken Sie die Tastenkombination Strg+S, um die Aktualisierungen im Editor "Website Quote Request" zu speichern. Schließen Sie die Registerkarte Request Details des Editors. Der folgende Screenshot zeigt das Projekt "Getting Started with Events" in der Ansicht "Ereignisexplorer". Außerdem können Sie sehen, dass die Ansicht Assetdarstellung des Ereignisexplorers auf Nach Typ eingestellt ist. Wenn Sie die Assetdarstellung in der Ansicht "Ereignisexplorer" ändern möchten, klicken Sie auf das Symbol "Menü anzeigen", den Abwärtspfeil ( ) rechts von der Registerkarte Ereignisexplorer. h. Wenn Sie dem Ereignisobjekt "Request Details" im Editor "Website Quote Request" ein Feld hinzufügen möchten, klicken Sie doppelt auf das Einführung in Ereignisregeln 5 Ereignisobjekt Request Details. Daraufhin wird ds Ereignisobjekt "Request Details" in einem separate Editor geöffnet. Der folgende Screenshot zeigt das Ereignisobjekt "Request Details": i. Klicken Sie im Editor "Request Details" im Abschnitt Felder auf Hinzufügen, um den Assistenten Neues Feld zu öffnen. v Geben Sie im Feld "Name" First Name ein. v Klicken Sie für den Datentyp auf String. v Geben Sie im Feld "Dokumentation" First name of customer ein, und klicken Sie auf Fertig stellen. Daraufhin wird das soeben erstellte Feld angezeigt. j. Fügen Sie die anderen Felder hinzu, die in der folgenden Tabelle auf dieselbe Weise aufgelistet sind. Schließen Sie anschließend die Editorregisterkarten, und speichern Sie Ihre Änderungen. Tabelle 1. Hinzufügende Felder für "Request Details" Name Datentyp Beschreibung First Name String Vorname des Kunden Last Name String Nachname des Kunden Zip Code String Postleitzahl des Kunden Phone String Rufnummer des Kunden Registration String Registrierungsnummer des Kraftfahrzeugs Year Integer Jahr der erstmaligen Registrierung des Kraftfahrzeugs Der folgende Screenshot zeigt das Ereignisobjekt "Request Details" mit den Feldern, die Sie soeben hinzugefügt haben, als Auflistung in der Tabelle Felder. In der Spalte Verwendet wird False angezeigt, weil die 6 Einführung in Ereignisse Ereignisobjektfelder nicht mit Feldkonstruktoren Geschäftsobjektfeldern zugeordnet wurden. Sie erstellen die Feldkonstruktoren später in dieser Übung. Sie haben ein Ereignis mit dem Namen "Website Quote Request" erstellt, das sechs Felder enthält. Als Nächstes definieren Sie die Aktion "Add To Campaign". Die Aktion "Add To Campaign" wird jedesmal an den Vertrieb gesendet, wenn Event Runtime ein Ereignis "Website Quote Request" empfängt. Die Aktion "Add To Campaign" muss deshalb die Kontaktinformationen für den potenziellen Kunden und Informationen zu dem Kraftfahrzeug enthalten, das versichert werden soll, sodass nur relevantes Marketingmaterial an den potenziellen Kunden gesendet wird. Sie definieren Aktionen auf ähnliche Weise wie Ereignisse. 4. Definieren Sie die Aktion "Add To Campaign": a. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf Getting Started in Events, und klicken Sie dann auf Neu > Aktion. b. Wählen Sie im Assistenten Neue Aktion die Option Leere Aktion erstellen aus, und klicken Sie auf Weiter. c. Geben Sie im Assistenten "Neue Aktion" den Aktionsnamen Add To Campaign ein, und klicken Sie dann auf Fertig stellen. In der Ansicht "Ereignisexplorer" sehen Sie die neue Aktion "Add To Campaign" nur, wenn Sie die Assetdarstellung Nach Typ verwenden. Wenn Sie die Assetdarstellung Nach Ereignis verwenden, wird die Aktion nur angezeigt, wenn Sie in eine Ereignisregel eingeschlossen ist, die von Ereignissen verarbeitet wird. Vorerst enthält die Aktion "Add to Campaign" genau dieselben Informationen wie das Ereignis "Website Quote Request". Der Vertrieb kann diese Informationen verwenden, um festzustellen, welche Marketingkampagnen für den potenziellen Kunden relevant sind. Im nächsten Schritt legen Sie fest, dass die Informationen im Ereignis "Website Quote Request" in die Aktion "Add to Campaign" kopiert werden, um an den Vertrieb gesendet zu werden. 5. Definieren Sie, dass die Informationen im Ereignis "Website Quote Request" in der Aktion "Add To Campaign" verwendet werden sollen: Genau genommen, werden eigentlich die Informationen im Ereignisobjekt "Request Details" in die Aktion "Add to Campaign" kopiert, wobei die Informationen in zwei Aktionsobjekten namens "Customer" und "Car" strukturiert werden. Zwischen Ereignissen (die bei Event Runtime eingehen) und Aktionen (die von Event Runtime ausgehen) befinden sich Geschäftsobjekte. Geschäftsobjekte Einführung in Ereignisregeln 7 stellen abstrakte Darstellungen der Informationen oder Daten bereit, die im Ereignis empfangen werden und die von anderen Stellen oder durch Berechnungen erhalten werden können. In dieser Übung erstellen Sie zwei Geschäftsobjekte, die die Details dazu enthalten, wie die Informationen im Ereignis "Website Quote Request" in die Aktion "Add To Campaign" kopiert werden. Sie erstellen zwei Geschäftsobjekte, Customer und Car, die Informationen aus dem Ereignis "Website Quote Request" erhalten. Das Geschäftsobjekt "Customer" enthält die Einzeldaten zum Kunden, während das Geschäftsobjekt "Car" die Einzeldaten zum Fahrzeug enthält. Durch die Strukturierung der Daten über mehrere Geschäftsobjekte können die Daten auf logische Weise modelliert werden, was die Datenverwaltung vereinfacht. Wenn Sie beispielsweise das Szenario dieses Lernprogramms um den Angebotsprozess selbst erweitern möchten, können Sie das Geschäftsobjekt "Car" erneut als Teil eines Geschäftsobjekts für Versicherungspolicen nutzen. a. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf das Ereignisobjekt Request Details, und klicken Sie dann auf Geschäftsobjekt aus diesem Ereignisobjekt erstellen. b. Geben Sie im Assistenten Neues Geschäftsobjekt im Feld "Name" den Wert Customer ein, und klicken Sie auf Fertig stellen. c. Klicken Sie mit der rechten Maustaste erneut auf das Ereignisobjekt Request Details. Klicken Sie auf Geschäftsobjekt aus diesem Ereignisobjekt erstellen, und nennen Sie das neue Geschäftsobjekt Car. Die beiden Geschäftsobjekte, Customer und Car, werden im Projekt "Getting Started with Events" erstellt. Momentan enthalten beide Objekte dieselben Felder. d. Navigieren Sie im Geschäftsobjekteditor "Customer" zum Abschnitt Felder, und klicken Sie auf das Feld Registration. Klicken Sie anschließend auf Entfernen. e. Entfernen Sie das Feld Year auf dieselbe Weise. f. Entfernen Sie im Geschäftsobjekteditor "Car" die folgenden Felder: v First Name v Last Name v Zip Code v Phone Die beiden Geschäftsobjekte enthalten jetzt die richtigen Felder. Wenn Sie sich den Ereignisobjekteditor "Request Details" erneut ansehen, sehen Sie, dass die Tabelle mit den Feldkonstruktoren zeigt, wie die einzelnen Geschäftsobjektfelder ihre Werte aus dem entsprechenden Ereignisobjektfeld erhalten. Das Ereignisobjekt "Request Details" ist jedoch jetzt mit einem Fehlersymbol markiert. Dieses Fehlersymbol wird angezeigt, weil die Tabelle mit den Feldkonstruktoren immer noch Feldkonstruktoren für die Geschäftsobjektfelder enthält, die Sie gelöscht haben. Sie müssen die Definitionen der redundanten Feldkonstruktoren manuell entfernen. In der Ansicht "Probleme" wird ein Fehler für jeden Feldkonstruktor angezeigt, der auf ein gelöschtes Geschäftsobjektfeld zeigt. 8 Einführung in Ereignisse In der Tabelle mit den Feldkonstruktoren gibt es für die Feldkonstruktoren, die auf ein gelöschtes Geschäftsobjektfeld zeigen, keinen Wert in der Spalte "Datentyp". Sie müssen den Definitionswert für diese Feldkonstruktoren in "Nicht definiert" ändern. g. Zum Entfernen eines Feldkonstruktors klicken Sie in der Tabelle mit den Feldkonstruktoren doppelt auf den Feldkonstruktor, um die Seite "Feldkonstruktor" des Editors zu öffnen. h. Klicken Sie in der Liste "Definitionstyp" auf Ohne, und speichern Sie dann den Editor. Der relevante Fehler wird daraufhin aus der Ansicht "Probleme" entfernt. i. Rufen Sie die Seite "Übersicht" des Editors erneut auf. Der Feldkonstruktor, für den Sie die Definition entfernt haben, wurde aus der Tabelle entfernt. j. Wiederholen Sie diese Schritte für jeden Feldkonstruktor, bis alle Fehler behoben sind. Die Tabelle mit den Feldkonstruktoren enthält jetzt eine Liste mit den Feldern der Geschäftsobjekte "Car" und "Customer" mit Details zur Definition des jeweiligen Felds. Jedes Feld erhält seinen Wert aus dem entsprechenden Ereignisobjektfeld. k. Erstellen Sie die beiden Aktionsobjekte mit den Namen "Car" und "Customer". Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf das Geschäftsobjekt Car, und klicken Sie dann auf Aktionsobjekt aus diesem Geschäftsobjekt erstellen. Daraufhin erscheint der Assistent Neues Aktionsobjekt. Der folgende Screenshot zeigt die Menüoption Aktionsobjekt aus diesem Geschäftsobjekt erstellen. Einführung in Ereignisregeln 9 l. Nennen Sie das Aktionsobjekt Car, wählen Sie Getting Started with Events als Projekt aus, und wählen Sie dann Add To Campaign als Aktion aus. Klicken Sie auf Fertig stellen, um das Aktionsobjekt zu erstellen. m. Erstellen Sie auf dieselbe Weise ein weiteres Aktionsobjekt mit dem Namen Customer. Der folgende Screenshot zeigt das Aktionsobjekt "Customer" mit den Feldern, die über das Geschäftsobjekt "Customer" erstellt wurden. n. Schließen Sie die Editorregisterkarte für beide Aktionsobjekte, und speichern Sie Ihre Änderungen. Ergebnisse Sie haben das Ereignis "Website Quote Request" und die Aktion "Add To Campaign" definiert und festgelegt, wie die Informationen aus dem Ereignis in die Aktion eingefügt werden. Obwohl die Erstellung der Geschäftsobjekte in dieser Übung unnötig erscheint, enthalten die Geschäftsobjekte in den meisten Anwendungen, die Sie erstellen, Informationen aus mehreren eingehenden Ereignissen. Auch die abgehenden Aktionen haben gewöhnlich keine Eins-zu-eins-Beziehung zu eingehenden Ereignissen. In einem Geschäftsobjekt können Sie mithilfe von JavaScript Berechnungen durchführen, weitere Informationen aus Datenverbindungen wie einer Datenbank abrufen oder das Ergebnis der Auswertung weiterer Geschäftsregeln abrufen. 10 Einführung in Ereignisse Als Nächstes bearbeiten Sie die Ereignis- und Aktionsdefinitionen, um festzulegen, wie die Verbindung zum Versicherungsunternehmen hergestellt wird. Verbindungen zu den Systemen definieren, von denen Ereignisse empfangen werden und an die Aktionen von Event Runtime gesendet werden Informationen zu diesem Vorgang Das Ereignis, das Sie definiert haben, wird von einer Website empfangen, und die Aktion wird an den Vertrieb gesendet. Jetzt müssen Sie die Verbindungsdetails der Website und des Vertriebssystems konfigurieren. Für die Kommunikation mit anderen Systemen verwendet Event Runtime Connector. Connector werden für eine Reihe von Übertragungsprotokollen bereitgestellt, einschließlich u. a. HTTP (für die Kommunikation mit Websites), SMTP (zum Senden von E-Mails), Dateisystem (zum Senden und Empfangen von Daten mithilfe von Dateien im lokalen oder fernen Dateisystem). Um die Ereignisse vom Typ "Website Quote Request" direkt von der Website des Versicherungsunternehmens zu empfangen, müssen Sie einen HTTPEreignisconnector konfigurieren. Wenn der potenzielle Kunde auf der Website eine Angebotsanfrage übergibt, wird die Anfrage im Format eines Ereignisses vom Typ "Website Quote Request" über den HTTP-Ereignisconnector an Event Runtime gesendet. Um die Aktionen vom Typ "Add To Campaign" an das Vertriebssystem zu senden, müssen Sie einen Aktionsconnector des Typs "Dateisystem" konfigurieren. Wenn die Details des potenziellen Kunden im Format einer Aktion "Add To Campaign" an den Vertrieb gesendet werden, wird die Aktion als Datei in einem Verzeichnis abgelegt, das Sie im Dateisystem festlegen. Für die Zwecke dieses Lernprogramms befindet sich das Verzeichnis in demselben Dateisystem wie Event Runtime. Sie können die Aktion jedoch auch an ein Dateisystem auf einem fernen Computer senden. Da der Connector dem Ereignis oder der Aktion zugeordnet ist, müssen Sie die Connectordetails für jedes Ereignis oder jede Aktion konfigurieren, das bzw. die Sie erstellen. Vorgehensweise 1. Konfigurieren Sie den HTTP-Ereignisconnector für das Ereignis "Website Quote Request": a. Klicken Sie in der Ansicht "Ereignisexplorer" doppelt auf das Ereignis Website Quote Request, um den Editor für das Ereignis zu öffnen. b. Klicken Sie auf das Register Connector, um den Editor "Connector" zu öffnen. c. Wählen Sie HTTP als Connectortyp aus. d. Wählen Sie Express als Subskriptionstyp aus. e. Die Informationen im eingehenden Ereignis "Website Quote Request" stammen aus einem Formular auf der Website, sodass der Wert HTML-Formular der korrekte Wert für das Feld "Ereignisformat" ist. Einführung in Ereignisregeln 11 f. Klicken Sie auf Beispielformular generieren. Die generierte Webseite wird verwendet, wenn Sie Ihre Anwendung testen. Ein Beispiel für das generierte Formular sehen Sie im folgenden Screenshot. g. Drücken Sie die Tastenkombination Strg+S, um die Aktualisierungen im Editor "Website Quote Request" zu speichern und die Editorregisterkarte zu schließen. Sie haben jetzt den HTTP-Ereignisconnector konfiguriert. 2. Konfigurieren Sie den Aktionsconnector des Typs "Dateisystem" für die Aktion "Add to Campaign": 12 Einführung in Ereignisse a. Erstellen Sie unter Windows den folgenden Ordner: C:\tutorial\Actions Erstellen Sie unter Linux den folgenden Ordner: /home/user/DecisionServer/Actions user steht für Ihr Ausgangsverzeichnis. In diesem Ordner "Actions" legt Event Runtime alle Dateien der Aktion "Add To Campaign" ab, nachdem das Ereignis "Website Quote Request" verarbeitet wurde. b. Klicken Sie in der Ansicht "Ereignisexplorer" doppelt auf die Aktion Add To Campaign, um den Aktionseditor zu öffnen. c. Klicken Sie auf das Register Connector, um den Editor "Connector" zu öffnen. d. Wählen Sie Dateisystem als Connectortyp aus. Die Informationen, die in der abgehenden Aktion "Add To Campaign" gesendet werden, haben das Format, das Sie in der Aktion "Add To Campaign" definiert haben. Deshalb ist Connectorpaket der richtige Wert für das Feld "Aktionsformat". Die eigentlichen eingehenden Ereignisse und abgehenden Aktionen, die Daten enthalten, werden als Ereignispakete und Aktionspakete bezeichnet. e. Geben Sie im Abschnitt Ziel der Dateien eingeben im Feld Ordner auf diesem Computer Folgendes ein: C:\tutorial\Actions Geben Sie unter Linux Folgendes ein: /home/user/DecisionServer/Actions f. Geben Sie im Feld Dateimuster Folgendes ein: Add To Campaign*.xml Dies bedeutet, dass der Aktionsconnector des Typs "Dateisystem" jede Datei, die diesem Dateinamensmuster entspricht, an das Verzeichnis "Actions" sendet. Der Stern (*) wird durch eine eindeutige Zeichenfolge ersetzt, um sicherzustellen, dass alle Aktionen eindeutige Dateinamen haben und vorherige Aktionen nicht überschrieben werden. Einführung in Ereignisregeln 13 g. Drücken Sie die Tastenkombination Strg+S, um die Aktualisierungen im Editor "Add To Campaign" zu speichern und die Editorregisterkarte zu schließen. Sie haben den Aktionsconnector des Typs "Dateisystem" konfiguriert. Ergebnisse Sie haben jetzt die Definition des eingehenden Ereignisses und der ausgehenden Aktion abgeschlossen. Geschäftslogik erstellen Informationen zu diesem Vorgang Wenn der potenzielle Kunde auf der Website des Versicherungsunternehmens ein Angebot anfordert, empfängt Event Runtime eine Instanz des Ereignisses "Website Quote Request". Event Runtime verarbeitet die Informationen in diesem Ereignis anschließend entsprechend der Geschäftslogik, die definiert wurde. In dieser Übung wird jedesmal, wenn eine Instanz des Ereignisses "Website Quote Request" empfangen wird, eine Instanz der Aktion "Add to Campaign" an den Vertrieb gesendet, damit dieser den potenziellen Kunden den relevanten Marketingkampagnen hinzufügen kann. In dieser Übung definieren Sie die einfache Geschäftslogik (die Ereignisregel "Add To Marketing Campaign"), die die Aktion "Add To Campaign" als Antwort auf eingehende Instanzen des Ereignisses "Website Quote Request" sendet. 14 Einführung in Ereignisse Eine Ereignisregel enthält die Geschäftslogik, die für die Verarbeitung eingehender Instanzen von Ereignissen verwendet wird. Eine Ereignisregel enthält immer eine Referenz auf eine Ereignisdefinition. Wenn eine Instanz dieses Ereignisses empfangen wird, beginnt die Ereignisregel mit der Verarbeitung des Ereignisses entsprechend der Geschäftslogik in der Ereignisregel. Ereignisregeln können in Ereignisregelgruppen gruppiert werden, damit Sie eine Gruppe ähnlicher Regeln gemeinsam verwalten können oder damit Sie eine Regel haben, die das Ereignis verarbeitet, wenn keine der anderen Ereignisregeln in der Ereignisregelgruppe mit der Verarbeitung dieses Ereignisses beginnt. In dieser Übung erstellen Sie nur eine einzige Ereignisregel. Ereignisregeln enthalten gewöhnlich eine Referenz auf mindestens eine Aktionsdefinition, die entsprechend dem Ergebnis der Ereignisverarbeitung gesendet wird. Normalerweise enthält eine Ereignisregel mindestens eine Bedingung, anhand derer das Ereignis ausgewertet wird. Sie fügen dieser Ereignisregel in einer späteren Übung Bedingungen hinzu. In dieser Übung enthält die Ereignisregel keine Bedingungen, sodass Sie das von Ihnen erstellte Datenmodell testen und sicherstellen können, dass die Anwendung funktioniert. Vorgehensweise 1. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf das Projekt Getting Started with Events. Klicken Sie dann auf Neu > Ereignisregel. 2. Im Assistenten "Neue Ereignisregel" nennen Sie die Ereignisregel Add To Marketing Campaign und klicken dann auf Weiter. 3. Wählen Sie das Ereignis Website Quote Request als Ereignis aus, das diese Ereignisregel anweisen soll, mit der Verarbeitung zu beginnen. Klicken Sie auf Fertig stellen. Die Kontextbeziehung wird in einer spätere Umgebung hinzugefügt. Die Ereignisregel "Add to Marketing Campaign" wird in ihrem Editor geöffnet. 4. Geben Sie dann im Abschnitt "Inhalt" ein, und drücken Sie die Leertaste. Daraufhin erscheint das Content-Assist-Menü. Im Content-Assist-Menü werden alle gültigen Optionen aufgelistet, die Sie in diesem Abschnitt der Ereignisregel eingeben können. Der folgende Screenshot zeigt das Content-Assist-Menü: 5. Klicken Sie im Content-Assist-Menü doppelt auf die Aktion Add to Campaign. Einführung in Ereignisregeln 15 6. Klicken Sie doppelt auf das Semikolon (;), das zur Vervollständigung der Ereignisregel angezeigt wird. 7. Drücken Sie die Tastenkombination Strg+S, um Ihre Änderungen zu speichern und die Editorregisterkarte zu schließen. Der folgende Screenshot zeigt die Ereignisregel "Add To Marketing Campaign": Momentan gibt es keine Regelbedingungen. Jedesmal, wenn das Ereignis "Website Quote Request" empfangen wird, sendet die Ereignisregel die Aktion "Add To Campaign". Das Ereignisprojekt kann jetzt implementiert und getestet werden. Ereignisprojekt implementieren Informationen zu diesem Vorgang Nachdem Sie nun das Datenmodell- und Geschäftslogikdefinitionen in der Anwendung abgeschlossen haben, müssen Sie das Ereignisprojekt in Event Runtime auf Ihrem Computer implementieren, damit Sie prüfen können, ob die Anwendung funktioniert. Vorgehensweise 1. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf das Projekt Getting Started with Events, und klicken Sie dann auf Implementieren. 2. Wählen Sie im Assistenten Implementieren die Option Alle Assets implementieren aus, und klicken Sie dann auf Weiter. 3. Überprüfen Sie die Portnummer von Event Runtime. a. Suchen Sie die Datei AboutThisProfile.txt. v Unter Windows: Suchen Sie die Datei im Verzeichnis WAS-Installationsverzeichnis\AppServer\profiles\WODMSample750\logs im Dateisystem. v Unter Linux: Suchen Sie die Datei im Verzeichnis WASInstallationsverzeichnis/AppServer/profiles/WODMSample750/logs im Dateisystem. 16 Einführung in Ereignisse WAS-Installationsverzeichnis steht für das Installationsverzeichnis von WebSphere Application Server und WODMSample750 für den Namen des Profils. b. Öffnen Sie die Datei AboutThisProfile.txt, und suchen Sie die Zeile, die mit HTTP transport port beginnt. Die Portnummer für Event Runtime ist in dieser Zeile angegeben. Standardmäßig ist die Portnummer 9080. 4. Wählen Sie im Assistenten Implementieren die Option Temporäre Laufzeitumgebung verwenden aus, und geben Sie die Details der Event-Runtime-Verbindung ein. Beispiel: v v v v Geben Geben Geben Geben Sie Sie Sie Sie als als als als Hostnamen localhost ein. Port 9080 ein. Benutzernamen wbeAdmin ein. Kennwort wbeAdmin ein. Der Benutzername und das Kennwort sind die Authentifizierungsdetails, die während der Installation von WebSphere Application Server erstellt wurden. 5. Klicken Sie auf Fertig stellen. Das Ereignisprojekt mit den Assets wird in der Laufzeitumgebung implementiert. Nach der Implementierung des Projekts wird die Nachricht Das Projekt wurde erfolgreich in der Laufzeitumgebung implementiert. angezeigt. Wenn die Implementierung scheitert, wird eine Fehlernachricht in der Ansicht Probleme angezeigt. Prüfen Sie, ob Sie die Assets im Ereignisprojekt wie in den obigen Schritten beschrieben definiert haben. Ereignisprojekt testen Vorbereitende Schritte Wenn Decision Server installiert ist, ist die Anwendungsserversicherheit standardmäßig aktiviert. Wenn Sie, wie in diesem Beispiel, den HTTP-Connector verwenden, und die Anwendungsserversicherheit aktiviert ist, müssen Sie eine Benutzerrollenzuordnung angeben. Die Benutzerrollenzuordnung bestimmt, welche Benutzer berechtigt sind, Ereignisse über HTTP an den Connector zu senden. Führen Sie die folgenden Schritte aus, um die Benutzerrollenzuordnung über die Administrationskonsole von WebSphere Application Server anzugeben: 1. Melden Sie sich an der Administrationskonsole von WebSphere Application Server an. Der Standard-URL für die Konsole ist http://localhost:9080/ibm/ console. Der Hostname und die Portnummer können für Ihr System anders sein. 2. Klicken Sie im Menü auf Anwendungen und dann auf Anwendungstypen. Klicken Sie auf WebSphere-Unternehmensanwendungen. 3. Klicken Sie in der Hauptanzeige auf die HTTP-Connectoranwendung wbehttpconnector. 4. Klicken Sie unter "Detaillierte Eigenschaften" auf Zuordnung von Sicherheitsrollen zu Benutzern/Gruppen. 5. Wählen Sie die Rolle HTTPEventConnectorUser aus, und ordnen Sie der Rolle einen oder mehrere Benutzer zu. Um einen unbeschränkten Zugriff zuzulassen, wenn die Sicherheit aktiviert ist, ordnen Sie die Rolle dem Sondersubjekt Jeder zu. 6. Klicken Sie auf Speichern. Diese Schritte sind nur erforderlich, wenn zuerst ein Ereignisprojekt implementiert wird, dass den HTTP-Connector verwendet. Wenn nachfolgende Projekte Einführung in Ereignisregeln 17 implementiert werden, werden vorhandene Zuordnungen beibehalten. Informationen zu diesem Vorgang Verwenden Sie die Webseite, die Sie generiert haben, um Ereignisse "Website Quote Request" zum Testen Ihrer Anwendung zu senden. Prüfen Sie mithilfe des Widgets "Event Tester", ob die Anwendung ordnungsgemäß funktioniert. Für jedes Ereignis "Website Quote Request", das Sie senden, löst Ihre Anwendung eine Aktion "Add To Campaign" aus. Der HTTP-Connector wird automatisch gestartet. Wenn Sie Ihre Anwendung auf einem Produktionssystem ausführen, muss der Dateisystemconnector gestartet werden. Der Dateisystemconnector wird später in diesem Lernprogramm verwendet. Wenn Sie das Widget "Event Tester" verwenden, sind jedoch keine anderen Connector erforderlich, um Ihre Anwendung zu testen. Wenn Event Runtime nicht unter dem Standardhostnamen (localhost) und der Standarportnummer (9080) ausgeführt wird, speichern Sie die generierte Webseite, und verwenden Sie einen Texteditor, um die Zeile in der Quelle der Webseite zu bearbeiten, die den Hostnamen und die Portnummer enthält. Ändern Sie keine anderen Details in der Quelle der Webseite. Vorgehensweise 1. Geben Sie auf der Webseite, die Sie zuvor generiert haben, einige Details in dem Formular ein, und klicken Sie dann auf Website Quote Request senden. Die exakten Details spielen für diese Übung keine Rolle. Wenn das Ereignis erfolgreich gesendet wird, erscheint die Nachricht Formular verarbeitet. 2. Konfigurieren Sie das Widget "Event Tester" in Business Space: a. Stellen Sie sicher, dass die im Abschnitt Umgebung für das Testen der Ereignislogik vorbereiten dokumentierten Schritt ausgeführt wurden. b. Starten Sie Business Space: v Klicken Sie unter Windows auf Start > Programme > IBM WebSphere Operational Decision Management > WebSphere Decision Server V7.5 > Business Space. v Klicken Sie unter Linux auf Applications > IBM WebSphere Operational Decision Management V7.5 > WebSphere Decision Server V7.5 > Business Space. Wenn die Sicherheit aktiviert ist, werden Sie möglicherweise beim ersten Öffnen von Business Space aufgefordert, ein Sicherheitszertifikat zu akzeptieren. Die Sicherheit ist standardmäßig aktiviert, so dass nur berechtigte Benutzer auf Business Space zugreifen können. c. Geben Sie eine Benutzer-ID und ein Kennwort ein, um sich bei Business Space anzumelden. 3. Klicken Sie im Widget "Event Tester" in Business Space auf das Register Aktionen, um die Aktionsinstanzen anzuzeigen, die gesendet wurden. In der 18 Einführung in Ereignisse Tabelle sind die Aktion "Add To Campaign" und die Uhrzeit aufgelistet, zu der die Aktion gesendet wurde. 4. Sehen Sie sich den Ordner Actions an: v Sehen Sie sich unter Windows den Ordner C:\tutorial\Actions an. v Sehen Sie sich unter Linux den Ordner /home/user/DecisionServer/Actions an. Da Decision Server Events den Aktionsconnector "Dateisystem" zum Senden der Aktion "Add To Campaign" verwendet, ist jetzt im Ordner "Actions" eine Datei vorhanden, die die Instanz der Aktion enthält. Der Name der Aktionsdatei entspricht dem Benennungsmuster Add To Campaign*.xml, wobei der Stern (*) durch eine eindeutige Zeichenfolge ersetzt wird, sodass alle Aktionen über eindeutige Dateinamen verfügen und keine vorherige Aktion überschreiben. Ergebnisse Sie haben ein Basisereignisprojekt erstellt und getestet. Auch wenn dieses Ereignisprojekt sehr einfach ist, ist es doch hilfreich, solch eine einfache Logik (eingehende Ereignisse und ausgehende Aktionen ohne Filter oder Verzögerungen) nach der Erstellung des Datenmodells zu erstellen, um sicherzustellen, dass alle Ereignis- und Aktionsdefinitionen richtig definiert sind und dass ihre Verbindungen ordnungsgemäß konfiguriert wurden. Nächste Schritte Sie können nun mit Übung 2 fortfahren. Diese finden Sie unter „Übung 2: Bedingte Logik zur Anwendung hinzufügen”. Übung 2: Bedingte Logik zur Anwendung hinzufügen In dieser Übung fügen Sie der in der vorherigen Übung erstellten Anwendung bedingte Logik hinzu. Dadurch wird die Anwendung zielgerichteter. Sie sendet dann nur Aktionen, wenn dies erforderlich ist. Einführung in Ereignisregeln 19 Vorbereitende Schritte Führen Sie die Schritte in „Vorbereitungen zur Ausführung des Lernprogramms” auf Seite 1 vollständig aus. Führen Sie vor Beginn dieser Übung die Anweisungen für Übung 1 aus. Diese finden Sie unter „Übung 1: Einfache Anwendung erstellen” auf Seite 3. Informationen zu diesem Vorgang In der vorangegangenen Übung haben Sie eine einfache Anwendung erstellt, die eine Instanz der Aktion "Add To Campaign" (mit den Details des potenziellen Kunden) an den Vertrieb sendet, sobald das Versicherungsunternehmen über seine Website eine Instanz des Ereignisses "Website Quote Request" (mit den Details des potenziellen Kunden) erhält. Zwei Probleme sind allerdings offensichtlich, wenn ein Versicherungsunternehmen jeden potenziellen Kunden, der einen Antrag für eine KFZ-Versicherung stellt, zu seinen Marketing-Kampagnen hinzufügt: v Wenn der potenzielle Kunde mehrere KFZ-Versicherungsanträge stellt, wird er den Marketing-Kampagnen mehrmals hinzugefügt. Dies wird den potenziellen Kunden belästigen und möglicherweise davon abbringen, eine Versicherung bei diesem Unternehmen abzuschließen. v Sollte der potenzielle Kunde die Versicherung, für die er den Antrag gestellt hat, tatsächlich abschließen, sollte er den Marketing-Kampagnen, die ihn von einem Abschluss eben dieser Versicherung überzeugen sollen, besser nicht hinzugefügt werden. Auch hier gilt wieder: Der Erhalt von irrelevanter Werbung belästigt Kunden. Um Irritationen eines vorhandenen (oder potenziellen) Kunden zu vermeiden, können Sie der Anwendung bedingte Logik hinzufügen. Neben den Filtern müssen Sie auch Mechanismen erstellen, die erkennen, ob es sich bei einer Angebotsanfrage um eine einmalige Anfrage oder um eine mit anderen Anfragen verbundene Anfrage handelt. Hierzu können Sie mittels verschiedener Kriterien eine Beziehung zwischen mehreren Angebotsanfragen definieren, in dieser Übung verwenden Sie jedoch das Kennzeichen des Fahrzeugs, für das ein Versicherungsvertrag abgeschlossen werden soll. Wenn für das gleiche KFZ-Kennzeichen mehrere Angebotsanfragen eingehen, werden die Ereignisse "Website Quote Request" mit diesem Kennzeichen als Einheit erkannt. In dieser Übung legen Sie fest, in welchem Fall mehrere Instanzen eingehender Ereignisse als Einheit erkannt werden. Außerdem erstellen Sie die bedingte Logik, die feststellt, ob für das jeweilige Fahrzeug bereits eine Aktion "Add To Campaign" gesendet wurde. Bedingung in der Ereignisregel schreiben Informationen zu diesem Vorgang Wenn die Bedingungen in einer Ereignisregel ausgewertet werden, geben diese eine Antwort zurück, die entweder true oder false lautet. Die Bedingung, die Sie jetzt in der Ereignisregel "Add To Marketing Campaign" schreiben, prüft, ob der Kunde der Marketingkampagne nicht bereits hinzugefügt wurde. 20 Einführung in Ereignisse Hierzu wird geprüft, ob es bereits vorherige Vorkommen der Aktion "Add To Campaign" gab. Falls es noch keine derartigen Aktionen gab, kann der potenzielle Kunde der Marketingkampagne sicher hinzugefügt werden, indem die Aktion "Add To Campaign" gesendet wird. Vorgehensweise 1. Klicken Sie in der Ansicht "Ereignisexplorer" doppelt auf die Ereignisregel "Add To Marketing Campaign", um den Ereignisregeleditor zu öffnen. Platzieren Sie den Cursor vor dem Wort dann, und drücken Sie dann die Eingabetaste. Geben Sie in der darüber eingefügten leeren Zeile wenn ein. Drücken Sie die Tastenkombination Strg+Leertaste, um das Content-Assist-Menü aufzurufen. 2. Klicken Sie im Content-Assist-Menü doppelt auf Alle Vorkommen von <Ereignis oder Aktion>, oder blättern Sie im Menü nach unten, und drücken Sie die Eingabetaste. Der Text Alle Vorkommen von wird der Ereignisregel hinzugefügt. Außerdem wird ein weiteres Menü angezeigt, in dem Sie das Ereignis oder die Aktion auswählen müssen, die in die Bedingung eingefügt werden soll. 3. Klicken Sie doppelt auf add to campaign, um diese Aktion der Ereignisregel hinzuzufügen. Im nächsten Menü werden Sie aufgefordert, die Ereignisregelbedingung zu vervollständigen. 4. Klicken Sie doppelt auf ist <ein Objekt>. Klicken Sie auf Anforderung doppelt auf <Zahl>. Der Ereignisregel wird eine 0 (null) hinzugefügt. Die Ereignisregel ist jetzt vollständig. Der folgende Screenshot zeigt die Bedingung für die Ereignisregel "Add To Marketing Campaign": Wenn die Kontextbeziehung später in der Übung definiert wird, wird die Kontextfehlernachricht, die Sie sehen, behoben. 5. Speichern Sie die Ereignisregel. Geschäftsobjektfeld verbalisieren, um eine Kontextbeziehung definieren zu können Informationen zu diesem Vorgang Wenn eine Instanz eines Ereignisses empfangen wird, auf dessen Definition in einer oder mehreren Ereignisregeln verwiesen wird, wird das Vorkommen dieser Ereignisinstanz aufgezeichnet. Diese Aufzeichnung bedeutet, dass Ereignisregeln überprüfen können, ob bereits zuvor eine Instanz des Ereignisses empfangen wurde. Wenn ein potenzieller Kunde zunächst ein und später ein weiteres Angebot anfordert, muss die Ereignisregel über einen Mechanismus verfügen, durch den es Einführung in Ereignisregeln 21 erkennt, dass diese beiden Angebotsanfragen (zwei Instanzen des Ereignisses "Website Quote Request") zusammengehören. Anderenfalls erkennt die Ereignisregel die beiden Anfragen als einmalige und voneinander getrennte Anfragen und der Kunde, der die beiden Anfragen gestellt hat, wird als zwei voneinander unabhängige, potenzielle Kunden betrachtet. Dadurch wird der potenzielle Kunde zweimal zu den Marketing-Kampagnen hinzugefügt. Es gibt in diesem Fall keine Möglichkeit, festzustellen, ob ein Kunde, der bereits eine Anfrage gestellt hat, auch eine Police abgeschlossen hat. Ein potenzieller Kunde stellt zum Beispiel einen Antrag für eine KFZ-Versicherung für ein Fahrzeug mit dem Kennzeichen ABX523. Danach stellt er einen weiteren Antrag für ein Fahrzeug ebenfalls mit dem Kennzeichen ABX523. Da KFZ-Kennzeichen eindeutig sind, handelt es sich bei den beiden Anträgen eindeutig um das gleiche Fahrzeug. Ist die Kontextbeziehung in der Ereignisregel also als der Wert im Feld "Registration" (Kfz-Kennzeichen) des eingehenden Ereignisses definiert, kann die Ereignisregel eindeutig feststellen, dass die beiden Angebotsanfragen zusammengehören und die spätere Anfrage die zweite Anfrage für das gleiche Fahrzeug ist. Dieses Feature sollten Sie zum Erstellen von Bedingungen unbedingt verstehen. Beispielsweise kann die Ereignisregel in der soeben erstellten Bedingung die Anzahl der für das gleiche Fahrzeug empfangenen Angebotsanfragen nicht zählen, ohne zu wissen, dass sie die Anfragen mittels des KFZ-Kennzeichens korrelieren muss. Wenn die Ereignisregel Add To Marketing Campaign im Editor geöffnet ist und Sie auf Kontext ändern klicken, erscheint das Dialogfenster Kontextbeziehung definieren, in dem die verfügbaren Geschäftsobjektfelder angezeigt werden. Sie möchten das Feld "Registration" des Geschäftsobjekts "Car" als Kontextbeziehung in dieser Ereignisregel hinzufügen. Da Sie jedoch die Verbalisierung des Felds "Registration" ändern sollen, klicken Sie auf Abbrechen. Verbalisierung ist eine Methode, aussagefähigere Namen für Assets und Felder festzulegen, so dass die Ereignisregeln verständlicher sind. Die Verbalisierung von Ereignissen, Aktionen, Filtern, Geschäftsobjekten, Geschäftsobjektfeldern und benannten Konstanten wird automatisch erstellt, aber Sie können die Verbalisierungen bearbeiten, wenn Sie dies möchten. Sie haben die Verbalisierungen des Namens des Ereignisses "Website Quote Request" und der Aktion "Add To Campaign" im Content-Assist-Menü gesehen, als Sie die Ereignisregel "Add To Marketing Campaign" geschrieben haben. Die Verbalisierungen für die Geschäftsobjektfelder werden automatisch erstellt, wenn Sie die Geschäftsobjektfelder erstellen, die Sie in einer Ereignisregel verwenden möchten. Beim Erstellen Der Ereignisregel "Add To Marketing Campaign" konnten Sie die Namen des Ereignisses "Website Quote Request" und der Aktion "Add To Campaign" im Content-Assist-Menü auswählen. Standardmäßig werden Namensverbalisierungen für Ereignisse, Aktionen, Filter, Geschäftsobjekte, Geschäftsobjektfelder und benannte Konstanten automatisch erstellt. Obwohl das Feld "Registration" des Geschäftsobjekts "Car" und das Geschäftsobjekt "Car" Verbalisierungen haben, bearbeiten Sie die Verbalisierung wie beschrieben. Anschließend definieren Sie das Feld "Registration" als Kontextbeziehung für die Ereignisregel "Add To Marketing Campaign". 22 Einführung in Ereignisse Vorgehensweise 1. Ändern Sie die Verbalisierung des Felds "Registration" des Geschäftsobjekts "Car" wie folgt: a. Klicken Sie in der Ansicht "Ereignisexplorer" doppelt auf das Geschäftsobjekt Car, um den Geschäftsobjekteditor zu öffnen. b. Klicken Sie in der Tabelle "Felder" doppelt auf Registration (oder klicken Sie auf Registration und dann auf Bearbeiten). Die Details des Felds "Registration" werden auf der Seite Feld des Editors angezeigt. c. Klicken Sie im Abschnitt Verbalisierung des Editors auf Erstellen. Standardmäßig wird the registration of a car als Verbalisierung erstellt. In Englisch ist diese Ausdrucksweise unbeholfen. Die Ausdrucksweise "the car registration" wäre eleganter. Zur Verbesserung der Ausdrucksweise können Sie die Vorlage ändern, die zum Erstellen der Phrase verwendet wird. d. Ändern Sie im Feld Vorlage den Text von {registration} of {this} in {this} {registration}. Wenn Sie die Tastenkombination Strg+S drücken, wird die Verbalisierungsphrase in a car registration geändert. Die Verbalisierung des Felds "Registration" wird aktualisiert. Der folgende Screenshot zeigt die aktualisierte Verbalisierung des Felds "Registration". e. Schließen Sie die Editorregisterkarte, und speichern Sie Ihre Änderungen. 2. Fügen Sie der Ereignisregel Add To Marketing Campaign eine eine Kontextbeziehung hinzu. a. Wechseln Sie in den Ereignisregeleditor Add To Marketing Campaign. b. Klicken Sie im Editor auf Kontext ändern. c. Wählen Sie the car registration aus, und klicken Sie auf Fertig stellen. Speichern Sie die Aktualisierungen. Die Ereignisregel Add To Marketing Campaign ist jetzt abgeschlossen. Der folgende Screenshot zeigt die Ereignisregel Add To Marketing Campaign mit der definierten Kontextbeziehung: Einführung in Ereignisregeln 23 Kontextbeziehung zwischen Ereignissen testen Vorgehensweise Gehen Sie zum Testen der Kontextbeziehung wie folgt vor: Sie können prüfen, die die Kontextbeziehung funktioniert, indem Sie mehrere Instanzen des Ereignisses "Website Quote Request" senden und den Wert des Felds "Registration" so ändern, dass er manchmal mit früheren Instanzen des Ereignisses übereinstimmt und machmal eindeutig ist. Beobachten Sie, ob eine Instanz der Aktion "Add To Campaign" gesendet wird. 1. Implementieren Sie das Ereignisprojekt. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf den Projektnamen, und klicken Sie dann auf Implementieren. Wählen Sie Alle Assets implementieren aus, und klicken Sie auf Fertig stellen. 2. 3. 4. 5. Die im aktualisierten Projekt enthaltenen Assets überschreiben die vorherigen Assets, die in dem Projekt enthalten waren, das Sie in Übung 1 implementiert haben. Sie können weitere Ereignisse über das Webformular senden, oder Sie können Ereignisse über das Widget "Event Tester" senden. (Klicken Sie im Widget "Event Tester" auf Ereignis senden, und wählen Sie dann die zu verwendende Ereignisvorlage "Website Quote Request" aus). Klicken Sie im Widget "Event Tester" auf Test erneut starten, um das vorherige Ereignis, das Sie in Übung 1 gesendet haben, und die Aktion die daraufhin ausgelöst wurde, zu löschen. Falls Sie Event Runtime zum Aufzeichnen des Protokolls noch nicht aktiviert haben, tun Sie dies jetzt. Weitere Informationen finden Sie unter Event Runtime für die Aufzeichnung des Protokolls konfigurieren. Senden Sie das Ereignis "Website Quote Request" einmal. Verwenden Sie das Widget "Event Tester", um festzustellen, was geschehen ist, als das Ereignis "Website Quote Request" empfangen wurde: v Klicken Sie auf die Registerkarte Aktionen. Die Tabelle zeigt, dass die Aktion "Add To Campaign" als Antwort auf das Ereignis "Website Quote Request" gesendet wurde. 24 Einführung in Ereignisse v Klicken Sie auf die Registerkarte Kontextdaten, um eine Liste der Ereignisse und Aktionen mit ihren Kontextinformationen anzuzeigen. Die Tabelle zeigt, dass das Ereignis "Website Quote Request" empfangen wurde und dass die Aktion "Add To Campaign" mit dem Kontext K123 ABC (dem Wert des Felds "Registration" im Formular) gesendet wurde. v Klicken Sie auf die Registerkarte Verzögerte Ereignisse und Aktionen. Die Tabelle zeigt, dass es keine verzögerten Ereignisse und keine verzögerten Aktionen gibt, weil Sie keine Verzögerungen in der Ereignisregel Add To Campaign definiert haben. Einführung in Ereignisregeln 25 6. Übergeben Sie "Website Quote Request" erneut (ohne Werte zu ändern). 7. Überprüfen Sie das Ergebnis dieser erneuten Übergabe. Sehen Sie sich die Registerkarte Aktion des Widgets "Event Tester" erneut an. Dieses Mal werden keine neuen Instanzen der Aktion "Add To Campaign" aufgelistet. Dies ist darauf zurückzuführen, dass die Ereignisregelgruppe erkannt hat, dass bereits eine Aktion "Add To Campaign" als Antwort auf eine Anfrage für dieselbe Fahrzeugregistrierung gesendet wurde. v Auf der Registerkarte "Aktionen" werden keine weiteren Aktionen angezeigt, weil die Ereignisregel "Add To Marketing Campaign" sicherstellt, das die Aktion "Add to Campaign" nicht erneut gesendet wird, wenn das Ereignis "Website Quote Request" ein zweites Mal für dieselbe Fahrzeugregistrierung empfangen wird. v Die Registerkarte "Kontextdaten" zeigt, dass ein zweites Ereignis "Website Quote Request" empfangen wurde, aber keine weitere Aktion "Add To Campaign" gesendet wurde. v Erneut werden auf der Registerkarte "Verzögerte Regeln und Aktionen" keine Informationen angezeigt, weil keine Verzögerung in der Ereignisregelgruppe definiert wurde. 8. Ändern Sie im Widget "Event Tester" den Wert im Feld Registration in K123 DEF, und senden Sie die Aktion erneut. 9. Überprüfen Sie das Ergebnis dieser Übergabe: v Die Registerkarte Aktionen zeigt, dass die Aktion "Add To Campaign" erneut gesendet wurde. v Auf der Registerkarte Kontextdaten können Sie sehen, dass im neuen Kontext (K123 DEF) ein Ereignis empfangen und eine Aktion gesendet wurde. v Wiederum werden auf der Registerkarte Verzögerte Ereignisse und Aktionen keine Verzögerungen angezeigt. Ergebnisse In der nächsten Übung erstellen Sie einen Filter, der sicherstellt, dass der Kunde noch keine Police erworben hat. 26 Einführung in Ereignisse Nächste Schritte Sie können jetzt mit „Übung 3: Weiteres Ereignis definieren und weitere Bedingung erstellen” fortfahren. Übung 3: Weiteres Ereignis definieren und weitere Bedingung erstellen In dieser Übung definieren Sie ein weiteres Ereignis mit dem Namen "Police gekauft". Außerdem fügen Sie der Ereignisregel "Add To Marketing Campaign" eine weitere Bedingung hinzu, damit die Ereignisregel prüfen kann, ob bereits eine Police für das Fahrzeug erworben wurde. Wenn eine Police erworben wurde, wird der Kunde den Marketingkampagnen nicht unnötig hinzugefügt. Während der Entwicklung einer Anwendung kann es vorkommen, dass das Ereignisprojekt vom IT-Anwender gelegentlich aktualisiert werden muss, damit der professionelle Anwender die Geschäftslogik ausbauen kann. Vorbereitende Schritte Führen Sie die Schritte in „Vorbereitungen zur Ausführung des Lernprogramms” auf Seite 1 vollständig aus. Führen Sie vor Beginn dieser Übung die Anweisungen für Übung 2 aus. Weitere Informationen finden Sie unter „Übung 2: Bedingte Logik zur Anwendung hinzufügen” auf Seite 19. Informationen zu diesem Vorgang In dieser Übung fügen Sie der Ereignisregel "Add To Marketing Campaign" einen Filter hinzu. Der neue Filter mit dem Namen "Has not purchased a policy" prüft, ob im letzten Jahr eine Instanz des Ereignisses "Policy Purchased" für dieselbe Fahrzeugregistrierung empfangen wurde (gemäß Definition in der Kontextbeziehung in der Ereignisregel). Vorgehensweise 1. Definieren Sie das Ereignis "Policy Purchased": Wenn ein Kunde ein Angebot für eine Kfz-Versicherung angefordert hat und anschließend die Versicherungspolice erwirbt, empfängt das Policensystem des Versicherungsunternehmens eine Instanz des Ereignisses "Policy Purchased". a. Erstellen Sie im Projekt Getting Started with Events ein leeres Ereignis mit dem Namen Policy Purchased. Das Ereignisobjekt für dieses Ereignis entspricht den Ereignisobjekten für das Ereignis "Website Quote Request". Sie können das Ereignis "Policy Purchased" so definieren, dass es dasselbe Ereignisobjekt wie das Ereignis "Website Quote Request" verwendet. b. Klicken Sie im Ereigniseditor "Policy Purchased" auf Hinzufügen, um den Assistenten Neues Ereignisobjekt zu öffnen. c. Klicken Sie im Assistenten auf Vorhandenes Ereignisobjekt gemeinsam nutzen und dann auf Weiter. d. Klicken Sie auf Ereignisse, und wählen Sie in der Liste das Ereignisobjekt Request Details aus. Klicken Sie auf Fertig stellen. e. Erstellen Sie unter Windows den folgenden Ordner: C:\tutorial\Events Erstellen Sie unter Linux den folgenden Ordner: Einführung in Ereignisregeln 27 /home/user/DecisionServer/Events user steht für Ihr Ausgangsverzeichnis. In diesem Ordner "Actions" legt Event Runtime alle Dateien der Aktion "Add To Campaign" ab, nachdem das Ereignis "Website Quote Request" verarbeitet wurde. f. Klicken Sie auf das Register Connector, um den Editor "Connector" zu öffnen. g. Wählen Sie Dateisystem als Connectortyp aus. h. Vergewissern Sie sich, dass Express als Subskriptionstyp angegeben ist. i. Vergewissern Sie sich, dass Connectorpaket als Ereignisformat ausgewählt ist. j. Geben Sie im Abschnitt Ziel der Dateien eingeben im Feld Ordner auf diesem Computer Folgendes ein: Unter Windows: C:\tutorial\Events Unter Linux: /home/user/DecisionServer/Events k. Geben Sie im Feld "Mustertyp" Folgendes ein: Policy Purchased*.xml Dies bedeutet, dass der Ereignisconnector des Typs "Dateisystem" jede Datei, die diesem Dateinamensmuster entspricht, an das Verzeichnis "Events" sendet. Der Stern (*) wird durch eine eindeutige Zeichenfolge ersetzt, um sicherzustellen, dass alle Ereignisse eindeutige Dateinamen haben und vorherige Ereignisse nicht überschrieben werden. l. Speichern Sie das Ereignis Policy Purchased. Das Ereignisobjekt Request Details wird jetzt auch unter dem Ereignis Policy Purchased in der Ansicht "Ereignisexplorer" angezeigt. Wenn Sie Änderungen am Ereignisobjekt Request Details vornehmen, betreffen die Änderungen beide Ereignisse. Der folgende Screenshot zeigt die Felder, die im Ereignisobjekt "Request Details" definiert sind. m. Schließen Sie die Editorregisterkarte, und speichern Sie Ihre Änderungen. 28 Einführung in Ereignisse Sie haben das Ereignis "Policy Purchased" definiert. Die Definition des Ereignisses "Policy Purchased" enthält dieselben Datenfelder wie die Definition des Ereignisses "Website Quote Request". Als Nächstes erstellen Sie Bedingungslogik, um zu prüfen, ob das Ereignis "Policy Purchased" bereits empfangen wurde. 2. Die Bedingungslogik, die Sie der Ereignisregel hinzufügen müssen, wird auch in einer anderen Ereignisregel in Übung 4 benötigt. Deshalb ist es hilfreich, diese Bedingung als separaten, wiederverwendbaren Filter zu erstellen, den Sie über beide Ereignisregeln referenzieren können. Erstellen Sie den Filter "Has not purchased a policy": Der Filter "Has not purchased a policy" prüft, ob bereits eine Versicherungspolice für das Fahrzeug erworben wurde. Wenn bereits eine Police gekauft wurde, ist das Versicherungsunternehmen nicht daran interessiert, den Kunden in die Marketingkampagnen aufzunehmen. Da Kfz-Versicherungspolicen in der Regel für 12 Monate gültig sind, prüft der Filter, ob in den letzten 52 Wochen eine Police erworben wurde. a. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf Getting Started with Events, und klicken Sie dann auf Neu > Filter. Nennen Sie den Filter Has not purchased a policy. Klicken Sie auf Fertig stellen. Nun definieren Sie die Logik des Filters. Diese soll überprüfen, ob der potenzielle Kunde, der die Angebotsanfrage eingesendet hat, im vergangenen Jahr keine Police gekauft hat. b. Drücken Sie im Abschnitt "Inhalt" des Filtereditors die Tastenkombination Strg+Leertaste, um das Content-Assist-Menü anzuzeigen. c. Klicken Sie im Content-Assist-Menü doppelt auf Anzahl der bisherigen Vorkommen von <Ereignis oder Aktion>. Daraufhin wird eine Liste der verfügbaren Ereignisse angezeigt. d. Klicken Sie doppelt auf policy purchased. e. Klicken Sie doppelt auf within <duration>, und klicken Sie dann doppelt auf <duration>. Daraufhin wird ein Dialogfenster mit verschiedenen Zeitoptionen angezeigt. f. Geben Sie im Feld Wochen den Wert 52 ein, und drücken Sie die Eingabetaste. g. Drücken Sie hinter 52 Wochen die Tastenkombination Strg+Leertaste. Klicken Sie im Content-Assist-Menü doppelt auf ist <ein Objekt>. Sie können die Anzahl der bisherigen Vorkommen des Ereignisses "Policy Purchased" eingeben, nach der denen die Ereignisregel sucht. h. Vervollständigen Sie den Ausdruck durch Eingabe einer Zahl. Geben Sie 0 (null) ein. Drücken Sie die Tastenkombination Strg+S, um Ihre Änderungen zu speichern. Der vollständige Ausdruck lautet jetzt folgendermaßen: past occurrences of policy purchased within 52 weeks is 0 Dies bedeutet, dass der Filter true ergibt, wenn die Häufigkeit des Ereignisses "Policy Purchased" in den vergangenen 52 Wochen genau 'Null' entspricht. Sehen Sie sich die Ansicht Probleme an. Einführung in Ereignisregeln 29 Es wird eine Warnung für die Ereignisregel angezeigt. Diese Warnung wird ausgegeben, weil das Ereignis, auf das verwiesen wird, "Policy Purchased", nicht als Auslöserereignis für eine vorhandene Ereignisregel verwendet wird. Da das Ereignis "Policy Purchased" in diesem Fall niemals aufgezeichnet wird, kann es keinen anderen Instanzen des Ereignisses zugeordnet werden. i. Ändern Sie im Abschnitt "Verbalisierung" die generierte Phrase in Kleinbuchstaben has not purchased a policy. j. Speichern Sie den Filter. 3. Fügen Sie den Filter Has not purchased a policy der Ereignisregel "Add To Marketing Campaign" hinzu: a. Drücken Sie im Ereignisregeleditor Add To Marketing Campaign am Ende der ersten Zeile die Eingabetaste, um eine leere Zeile einzufügen. b. Geben Sie in der neuen leeren Zeile und ein, und drücken Sie die Tastenkombination Strg+Leertaste. c. Klicken Sie im Content-Assist-Menü doppelt auf has not purchased a policy. d. Speichern Sie die an der Ereignisregel vorgenommenen Änderungen. Der folgende Screenshot zeigt die Ereignisregel "Add To Marketing Campaign" mit der hinzugefügten Filterbedingung. Es wird eine Referenz auf den Filter Has not purchased a policy zur Ereignisregel "Add To Marketing Campaign" hinzugefügt. 4. Erstellen Sie die Ereignisregel "Add To Campaign Next Year": Wie Sie in der Ansicht Probleme sehen, ist die Ereignisregel, die Sie soeben erstellt haben, weiterhin mit einer Warnung markiert: Makes a complex reference to Event Policy Purchased which is not triggered by any existing event rule and so will never occur. (BEER1255W). Diese Warnung wird ausgegeben, weil die alte Bedingung auf die Definition des Ereignisses "Policy Purchased" verweist, die in keine Ereignisregel direkt verwendet wird. Da es keine Ereignisregeln gibt, um auf eine eingehende Instanz des Ereignisses "Policy Purchased" zu antworten, werden Instanzen des Ereignisses "Policy Purchased" nicht aufgezeichnet. Deshalb werden Bedingungen, die das Ereignis "Policy Purchased" referenzieren, nicht ordnungsgemäß ausgewertet, und aus diesem Grund ist die Ereignisregel "Add To Marketing Campaign" weiterhin mit einer Warnung markiert. 30 Einführung in Ereignisse Jetzt erstellen Sie eine Ereignisregel "Add To Campaign Next Year", die auf eine eingehende Instanz des Ereignisses "Policy Purchased" antwortet. In dieser Übung sendet die Ereignisregel "Add To Campaign Next Year" keine Aktionen. In Übung 4 ändern Sie diese Ereignisregel so, dass die Aktion "Add To Campaign" nach einer Verzögerung von 48 Wochen (d. h. einen Monat vor Ablauf von "purchased policy") gesendet wird. a. Erstellen Sie eine neue Ereignisregel mit dem Namen Add To Campaign Next Year. Klicken Sie auf Weiter. b. Klicken Sie im Assistenten Neue Ereignisregel auf das Ereignis Policy Purchased und dann auf Weiter. c. Wählen Sie die Kontextbeziehung the car registration aus, und klicken Sie auf Fertig stellen. Die Ereignisregel Add To Marketing Campaign ist jetzt gültig, und werden keine Fehler oder Warnungen mehr in der Ansicht Probleme gemeldet. 5. Implementieren und testen Sie das aktualisierte Ereignisprojekt und die neue Ereignisregel "Add To Campaign Next Year": a. Klicken Sie in der Ansicht "Ereignisexplorer" mit der rechten Maustaste auf das Ereignisprojekt Getting Started with Events, und klicken Sie dann auf Implementieren. Wählen Sie Alle Assets implementieren aus, und klicken Sie dann auf Fertig stellen. b. Rufen Sie die Ansicht Probleme auf, um sicherzustellen, dass während der Implementierung keine Probleme aufgetreten sind. Die Änderungen, die Sie an der Ereignisregel, den Geschäftsobjekten, dem neu erstellten Filter und dem neuen definierten Ereignis vorgenommen haben, werden auf dem Server implementiert. Wenn Sie den Inhalt des Ereignisprojekts implementieren, werden die vorherigen Projektassets überschrieben. c. Klicken Sie im Widget "Event Tester" auf Test erneut starten, um die Ereignisse zu löschen, die Sie in Übung 2 gesendet haben. d. Zum Testen der vorgenommenen Änderungen senden Sie die folgende Testereignisfolge und achten Sie dabei jedes Mal auf eine Aktion, die sich nach den Kriterien in der folgenden Tabelle richtet: Einführung in Ereignisregeln 31 Tabelle 2. Zu sendende Ereignisse und zu kontrollierende Details. 32 Vorgehensweise zur Übergabe der Ereignisinstanz Aktion Grund für Aktion Schritte Ereignis 1 Website Quote Request Add To Verwenden Sie das Widget Campaign "Event Tester" mit einem neuen Wert im Feld Registration, z. B. K123 GHI. Diese Instanz ist das erste Mal, dass das Ereignis "Website Quote Request" mit dem neuen Wert, den Sie im Feld Registration eingegeben haben, empfangen wird. Dies ist also die erste Angebotsanforderung für dieses Fahrzeug. Deshalb werden die Einzeldaten des potenziellen Kunden an den Vertrieb weitergeleitet (in der Aktionsinstanz "Add To Campaign"). 2 Website Quote Request Keine Aktion. Verwenden Sie das Widget "Event Tester" mit demselben Wert im Feld Registration wie in Schritt 1. Diese Instanz ist das zweite Mal, dass das Ereignis "Website Quote Request" für das in Schritt 1 verwendete Kfz-Kennzeichen empfangen wird. Dies ist also die zweite Angebotsanforderung für dieses Fahrzeug. Deshalb werden die Einzeldaten des potenziellen Kunden nicht erneut an den Vertrieb weitergeleitet. Einführung in Ereignisse Tabelle 2. Zu sendende Ereignisse und zu kontrollierende Details. (Forts.) Vorgehensweise zur Übergabe der Ereignisinstanz Aktion Schritte Ereignis 3 Policy Purchased Senden Sie über Keine Aktion. das Widget "Event Tester" eine Instanz des Ereignisses "Policy Purchased" mit einem neuen Wert im Feld Registration. Klicken Sie auf das Register Ereignis senden, und wählen Sie dann Policy Purchased aus. Klicken Sie schließlich auf Ereignis senden. 4 Website Quote Request Keine Aktion. Verwenden Sie das Widget "Event Tester" mit demselben Wert im Feld Registration wie in Schritt 3. Grund für Aktion Der Empfang einer Instanz des Ereignisses "Policy Purchased" zeigt lediglich, dass ein potenzieller Kunde eine Police erworben hat. Deshalb ist keine Aktion erforderlich. Wenn dieses Mal eine Instanz des Ereignisses "Website Quote Request" für dasselbe Kfz-Kennzeichen wie in Schritt 3 empfangen wird, bedeutet das Vorhandensein des Ereignisses "Policy Purchased" aus Schritt 3, dass der Kunde bereits eine Police für dieses Fahrzeug erworben hat. Es besteht also kein Grund, ihn zu diesem Zeitpunkt in die Marketingkampagne aufzunehmen. Nächste Schritte Sie können jetzt mit Übung 4 fortfahren. Siehe „Übung 4: Ereignisregeln mit Verzögerungen erstellen” auf Seite 34. Einführung in Ereignisregeln 33 Übung 4: Ereignisregeln mit Verzögerungen erstellen In dieser Übung erstellen Sie eine weitere Ereignisregel, die eine Verzögerung enthält, so dass die Ereignisregel das eingehende Ereignis erst verarbeitet, nachdem eine bestimmte Zeit nach der Eingang des Ereignisses vergangen ist. Außerdem aktualisieren Sie die Ereignisregel "Add to Campaign Next Year" mit einer Verzögerung von 48 Wochen. Vorbereitende Schritte Führen Sie die Schritte in „Vorbereitungen zur Ausführung des Lernprogramms” auf Seite 1 vollständig aus. Befolgen Sie die Anweisungen für Übung 3, bevor Sie mit dieser Übung beginnen. Diese finden Sie unter „Übung 3: Weiteres Ereignis definieren und weitere Bedingung erstellen” auf Seite 27. Informationen zu diesem Vorgang Wenn ein potenzieller Kunde ein Angebot für eine Kfz-Versicherung anfordert, können Sie den potenziellen Kunden zu einer Marketingkampagne hinzufügen, die anschließend angepasst werden kann, um den Kunden dazu zu ermuntern, den Erwerb der Versicherungspolice in Betracht zu ziehen. Oft fordern potenzielle Kunden jedoch zwei (oder sogar mehr) Angebote für eine Kfz-Versicherung an. Es ist beispielsweise möglich, dass sie bei verschiedenen Versicherungsgesellschaften auf der Suche nach einer geeigneten Versicherungspolice sind und sich wieder an Ihr Unternehmen wenden, um ein zweites Angebot anzufordern, nachdem Sie schon vor sechs Wochen ein Angebot angefordert haben, das ihnen gefallen hat. Wenn ein potenzieller Kunde zwei oder mehr Angebote für eine Kfz-Versicherung angefordert hat, stehen die Chancen gut, dass der potenzielle Kunde eine der Policen der Versicherungsgesellschaft erwirbt, wenn sie den potenziellen Kunden anruft, um nachzufragen, ob sie etwas für ihn tun kann. Natürlich ist es teurer für das Versicherungsunternehmen, einen potenziellen Kunden persönlich anzurufen. Deshalb ist es wichtig, die besonderen Situationen zu identifizieren, in denen ein persönlicher Telefonanruf wahrscheinlich zum Abschluss eines Versicherungsvertrags führt, der sonst möglicherweise nicht zustandekommt. Sie können eine Ereignisregel erstellen, mit der Sie solche Situationen erkennen können. In dieser Übung erstellen Sie eine Ereignisregel namens "Make Follow_up Call". Wenn eine Instanz des Ereignisses "Website Quote Request" empfangen wird, überprüft die Ereignisregel "Make Follow_up Call", ob der potenzielle Kunde im vergangenen Jahr bereits eine Police erworben hat und und ob der potenzielle Kunde in den vergangenen 12 Wochen bereits ein Angebot angefordert hat. Wenn beide Bedingungen erfüllt sind, wird eine Instanz der Aktion "Follow Up Call" mit den Kundeninformationen an das Call-Center gesendet, so dass ein Mitarbeiter des Call-Centers den potenziellen Kunden anrufen kann. Sie aktualisieren auch die Ereignisregel "Add To Campaign Next Year", so dass Kunden, welche die Police erwerben, einer Marketingkampagne hinzugefügt werden, die in 48 Wochen stattfindet - also einen Monat vor Ablauf ihrer Police. Zum Implementieren dieser Bedingung fügen Sie eine Verzögerung von 48 Wochen 34 Einführung in Ereignisse zur Aktion "Add To Campaign" in der Ereignisregel hinzu. Vorgehensweise 1. Definieren Sie die Aktion "Follow_up Call": a. Erstellen Sie eine Aktion mit dem Namen Follow_up Call. b. Fügen Sie im Aktionseditor das vorhandene Aktionsobjekt mit dem Namen Customer der Aktion Follow_up Call hinzu. Klicken Sie auf "Hinzufügen", und wählen Sie die Option Vorhandenes Aktionsobjekt gemeinsam nutzen aus. c. Speichern Sie die Editoränderungen. Das Aktionsobjekt "Customer", das Sie für die Aktion "Add To Campaign" erstellt haben, wird jetzt auch von der Aktion "Follow_up Call" verwendet. Das Geschäftsobjekt "Customer" ist dem Aktionsobjekt "Customer" bereits zugeordnet, sodass die Aktion "Follow_up Call" jetzt vollständig ist. d. Klicken Sie im Aktionseditor der Aktion Follow_up Call auf das Register Connector. Wählen Sie Dateisystem als Connectortyp aus. e. Vergewissern Sie sich, dass im Feld "Aktionsformat" im Abschnitt "Dateisystemconnectoreinstellungen" der Wert Connectorpaket angegeben ist. f. Geben Sie im Feld Ordner auf diesem Computer Folgendes ein: v Unter Windows: C:\tutorial\Actions v Unter Linux: /home/user/DecisionServer/Actions g. Geben Sie im Feld "Dateimuster" den Wert Follow_up Call*.xml ein. h. Speichern Sie die Editoränderungen. Ihre Änderungen werden im lokalen Dateisystem gespeichert. Sie haben die Aktion "Follow_up Call" definiert. 2. Erstellen Sie die Ereignisregel "Make Follow_up Call": a. Erstellen Sie eine neue Ereignisregel mit dem Namen Make Follow_up Call. Einführung in Ereignisregeln 35 b. Wählen Sie im Assistenten Neue Ereignisregel das Ereignis website quote request als das Ereignis aus, das von der Ereignisregel verarbeitet wird. Klicken Sie auf Weiter. c. Wählen Sie das Feld the car registration als Kontextbeziehung für diese Ereignisregel aus. Klicken Sie auf Fertig stellen. d. Geben Sie im Abschnitt "Inhalt" wenn ein, und drücken Sie die Tastenkombination Strg+Leertaste. e. Klicken Sie im Content-Assist-Menü doppelt auf has not purchased a policy. f. Klicken Sie doppelt auf dann <Aktionen> und dann doppelt auf die Aktion follow_up call. g. Klicken Sie doppelt auf das Semikolon (;), das zur Vervollständigung der Ereignisregel im Content-Assist-Menü angezeigt wird. h. Drücken Sie die Tastenkombination Strg+S, um die Ereignisregel zu speichern. Sie müssen jetzt eine zweite Bedingung erstellen, die überprüft, ob diese Anfrage die zweite Angebotsanfrage für das Kraftfahrzeug ist. 3. Erstellen Sie die zweite Bedingung: a. Fügen Sie im Ereignisregeleditor "Make Follow_up Call" eine neue Zeile vor dem Filter has not purchased a policy ein. b. Drücken Sie hinter wenn die Tastenkombination Strg+Leertaste. c. Klicken Sie im Content-Assist-Menü doppelt auf Bisherige Vorkommen von <Ereignis oder Aktion>. d. Klicken Sie doppelt auf dieses Ereignis. e. Klicken Sie doppelt auf in <Dauer>. f. Klicken Sie doppelt auf <Dauer>. g. Geben Sie im Feld "Wochen" des Dialogs "Dauer" 12 ein, und drücken Sie die Eingabetaste. h. Drücken Sie hinter 12 Wochen die Tastenkombination Strg+Leertaste, und klicken Sie doppelt auf ist <ein Objekt>. i. Klicken Sie doppelt auf <Zahl>, und geben Sie dann 1 ein. j. Klicken Sie doppelt auf und <Bedingung>. k. Drücken Sie die Tastenkombination Strg+S, um die Editoränderungen zu speichern. Der folgende Screenshot zeigt die Ereignisregel "Make Follow_up Call" mit der hinzugefügten Verzögerung. 36 Einführung in Ereignisse 4. Aktualisieren Sie die Ereignisregel "Add To Campaign Next Year", indem Sie eine verzögerte Aktion hinzufügen, um den Kunden einen Monat, bevor die erworbene Police abläuft, zur Marketingkampagne hinzuzufügen: a. Öffnen Sie die Ereignisregel "Add To Campaign Next Year" im Editor. b. Geben Sie im Abschnitt "Inhalt" nach ein, und drücken Sie dann die Tastenkombination Strg+Leertaste. c. Klicken Sie im Content-Assist-Menü doppelt auf <Dauer>. d. Geben Sie im Feld "Wochen" des angezeigten Dialogs 48 ein, und drücken Sie dann die Eingabetaste. e. Positionieren Sie den Cursor hinter 48 Wochen, und drücken Sie dann die Tastenkombination Strg+Leertaste. Klicken Sie doppelt auf dann <Aktionen>. f. Klicken Sie doppelt auf add to campaign. g. Klicken Sie doppelt auf ;. h. Speichern Sie Ihre Aktualisierungen. i. Prüfen Sie, ob in der Ansicht Probleme Fehler gemeldet werden. 5. Implementieren Sie das Ereignisprojekt, indem Sie mit der rechten Maustaste auf den Projektnamen klicken und dann auf Implementieren klicken. Wählen Sie Alle Assets implementieren aus, und klicken Sie auf Fertig stellen. Zum Testen der vorgenommenen Änderungen senden Sie die folgende Testereignisfolge, und achten Sie dabei jedes Mal auf eine Aktion, die sich nach den Kriterien in der folgenden Tabelle richtet. Schauen Sie sich bei jedem Ereignis, das Sie senden, die Registerkarten Filter und Kontextdaten des Widgets "Event Tester" an, um festzustellen, welche Filter ausgewertet wurden, und um zu überprüfen, welche Ereignisse von Event Runtime empfangen und welche Aktionsinstanzen von Event Runtime gesendet wurden. Schauen Sie sich die Registerkarte Verzögerte Ereignisse und Einführung in Ereignisregeln 37 Aktionen an, um das verzögerte Ereignis zu sehen. Die verzögerte Aktion bleibt 48 Wochen auf dieser Registerkarte. Nach Ende dieses Verzögerungszeitraums wird das Ereignis nicht mehr auf der Registerkarte Verzögerte Ereignisse und Aktionen aufgelistet und wird stattdessen auf der Registerkarte Kontextdaten aufgelistet. Tabelle 3. Zu sendende Ereignisse und zu kontrollierende Details. 38 Schritte Ereignis 1 Website Quote Request Einführung in Ereignisse Vorgehensweise zur Übergabe der Ereignisinstanz Aktion Verwenden Sie das Widget "Event Tester", um einen neuen Wert im Feld Registration, z. B. K123 JKL, zu senden. Add To Campaign Grund für Aktion Diese Instanz ist das erste Mal, dass das Ereignis "Website Quote Request" mit dem neuen Wert, den Sie im Feld Registration eingegeben haben, empfangen wird. Dies ist also die erste Angebotsanforderung für dieses Fahrzeug. Deshalb werden die Einzeldaten des potenziellen Kunden an den Vertrieb weitergeleitet (in der Aktionsinstanz "Add To Campaign"). Tabelle 3. Zu sendende Ereignisse und zu kontrollierende Details. (Forts.) Vorgehensweise zur Übergabe der Ereignisinstanz Aktion Grund für Aktion Schritte Ereignis 2 Website Quote Request Follow_up Call Verwenden Sie das Widget "Event Tester", um denselben Wert im Feld Registration wie in Schritt 1 zu senden. Diese Instanz ist das zweite Mal, dass das Ereignis "Website Quote Request" für das in Schritt 1 verwendete Kfz-Kennzeichen empfangen wird. Dies ist also die zweite Angebotsanforderung für dieses Fahrzeug. Deshalb werden die Details des potenziellen Kunden an das Call-Center gesendet, so dass ein Folgeanruf getätigt werden kann, um den Verkauf abzuschließen. 3 Website Quote Request Keine Aktion Verwenden Sie das Widget "Event Tester", um denselben Wert im Feld Registration wie in den Schritten 1 und 2 zu senden. Diese Instanz ist das dritte Mal, dass das Ereignis "Website Quote Request" für das in Schritt 1 verwendete Kfz-Kennzeichen empfangen wird. Dies ist also die dritte Angebotsanforderung für dieses Fahrzeug. Deshalb werden die Einzeldaten des potenziellen Kunden nicht erneut an den Vertrieb oder das Call-Center weitergeleitet. Einführung in Ereignisregeln 39 Tabelle 3. Zu sendende Ereignisse und zu kontrollierende Details. (Forts.) Vorgehensweise zur Übergabe der Ereignisinstanz Aktion Schritte Ereignis 4 Policy Purchased Verwenden Sie das Widget "Event Tester", um eine Instanz des Ereignisses "Policy Purchased" mit demselben Wert im Feld Registration wie in den Schritten 1 bis 3 zu senden. Keine Aktion auf der Registerkarte Aktionen, aber die Aktion "Add To Campaign" wird auf der Registerkarte Verzögerte Ereignisse und Aktionen mit einer Verzögerung von 48 Wochen aufgelistet. Grund für Aktion Der Empfang einer Instanz des Ereignisses "Policy Purchased" zeigt lediglich, dass ein potenzieller Kunde eine Police erworben hat. Es ist also keine Aktion erforderlich. "Add To Campaign" erscheint erst nach Ablauf von 11 Wochen auf der Registerkarte Aktionen. 5 40 Einführung in Ereignisse Website Quote Request Keine Aktion Verwenden Sie das Widget "Event Tester", um denselben Wert im Feld Registration wie in den Schritten 1-4 zu senden. Wenn dieses Mal eine Instanz des Ereignisses "Website Quote Request" für dasselbe Kfz-Kennzeichen wie in Schritt 3 empfangen wird, bedeutet das Vorhandensein des Ereignisses "Policy Purchased" aus Schritt 3, dass der Kunde bereits eine Police für dieses Fahrzeug erworben hat. Dieses Ereignis bedeutet, dass zu diesem Zeitpunkt kein Grund besteht, ihn in die Marketingkampagne aufzunehmen. Nächste Schritte Sie haben die Übungen des Lernprogramms "Einführung in Ereignisse" beendet. Weitere Informationen zu Decision Server Events finden Sie in den folgenden Quellen: v Lernprogramm: Durchschnittswerte für die Identifizierung von Ereignismustern berechnen v Lernprogramm: Ereignis mit einem vorherigen Ereignis vergleichen v Lernprogramm: Zustand eines Objekts überwachen v Lernprogramm: Laufende Summe verwalten Einführung in Ereignisregeln 41