Der Beispielcode 'Business Rules' kann auf zwei Arten erweitert werden, in denen jeweils gezeigt wird, wie Sie Ihre Geschäftsregeln zur Anpassung an sich ändernde Geschäftsbedingungen aktualisieren können.
Regel 2 zur Bearbeitung von Versand- und Verpackungskosten wird aktualisiert, um die Mindestbestellsumme zu ändern, für die Versand- und Verpackungskosten übernommen werden.
Es wird eine neue Regel hinzugefügt, um Treuekartenkunden einen Rabatt anzubieten.
Um die Regeln zu aktualisieren, klicken Sie doppelt auf die Datei 'BookOrder_DecisionService.rules', um sie im Editor 'Entscheidungsservice' zu öffnen.
Erweitern Sie die Regel 2 und ändern Sie den Wert der Definition "minimum for free postage and packaging" (Mindestbetrag für kostenlosen Versand und kostenlose Verpackung) in 10,00.
Implementieren Sie die Anwendung erneut, damit die Änderung an der Regel wirksam wird.
Klicken Sie doppelt auf die Datei BookOrderApplication2.mbtest, um sie im Testclient zu öffnen.
Klicken Sie im Testclient auf In Warteschlange
einreihen.
Klicken Sie auf Nachricht senden, um eine WebSphere MQ-Nachricht in die Eingabewarteschlange des Nachrichtenflusses für die Buchbestellung einzureihen.
Klicken Sie im Testclient auf Aus Warteschlange entfernen.
Stellen Sie sicher, dass der im Testclient festgelegte Port dem Port entspricht, der von Ihrem Warteschlangenmanager verwendet wird.
Klicken Sie auf Nachricht abrufen, um eine Nachricht aus der Warteschlange abzurufen. Sie werden an die Warteschlange BOOKORDER_OUT_FREEPOSTAGE weitergeleitet. Ändern Sie im Feld 'Warteschlange' den Namen der Warteschlange in BOOKORDER_OUT_FREEPOSTAGE.
Gehen Sie zum Ende der Nachricht; Sie können feststellen, dass das Feld 'postandPackaging' jetzt den Wert '0' hat. Der Bestellwert beträgt 12,98; da die Geschäftsregel geändert wurde, fallen für die Bestellung Versand- und Verpackungskosten an.
Versuchen Sie nun, dem Entscheidungsservice eine neue Regel hinzuzufügen. Erstellen Sie eine Regel, bei der Kunden mit einer Treuekarte bei Bestellungen über $20,00 einen Rabatt über $2,00 erhalten.
Klicken Sie doppelt auf die Datei 'BookOrder_DecisionService.rules', um sie im Editor 'Entscheidungsservice' zu öffnen.
Klicken Sie auf der Seite 'Rule sequence' (Regelsequenz) auf Add Rule (Regel hinzufügen), um eine neue Regel hinzuzufügen.
Drücken Sie die Tastenkombination STRG+Leertaste, um die Inhaltshilfe zu öffnen, und starten Sie anschließend die Regel mit einer Definition für den Rabatt.
Fügen Sie eine If-Anweisung hinzu, um zu prüfen, ob die Bestellung von einem Inhaber einer Treuekarte aufgegeben wurde.
Das Treuekartenelement enthält nicht "00000000", wenn die Bestellung von einem Kunden mit einer Treuekarte getätigt wurde.
Schließen Sie die Regel ab, indem Sie die Gesamtbestellmenge prüfen, den Rabatt auf den Rabatttyp 'loyalty discount' (Treuerabatt) setzen und den Wert 'loyaltyDiscountValue' von der Gesamtbestellmenge abziehen.
Speichern Sie die Regel.
Erstellen Sie die Datei erneut. Klicken Sie dazu im Ordner mit den BAR-Dateien doppelt auf die Datei 'BusinessRules.bar'. Klicken Sie auf das Symbol für die Neuerstellung und speichern Sie die Brokerarchivdatei.
Implementieren Sie die aktualisierte BAR-Datei, indem Sie sie in der Ansicht 'Integrationsknoten' auf den Integrationsserver 'BusinessRules' ziehen.
Testen Sie jetzt die neue Regel:
Klicken Sie doppelt auf die Datei BookOrderApplication2.mbtest, um sie im Testclient zu öffnen.
Klicken Sie im Testclient mit der rechten Maustaste auf In Warteschlange einreihen und wählen Sie im Menü Duplicate (Kopieren) aus.
Ändern Sie in der Eingabenachricht die Gesamtbestellmenge 'orderTotal' in 35,00 und den Treuekartenwert 'loyaltyCard' in 12345678
Klicken Sie auf Nachricht senden, um eine WebSphere MQ-Nachricht in die Eingabewarteschlange des Nachrichtenflusses für die Buchbestellung einzureihen.
Klicken Sie im Testclient mit der rechten Maustaste auf Aus Warteschlange entfernen und wählen Sie im Menü Duplicate (Kopieren) aus.
Da die Bestellung nun einen Wert von über 25,00 enthält, wird die Ausgabenachricht in die Warteschlange BOOKORDER_OUT_FREEPOSTAGE eingereiht. Ändern Sie den Wert für Aus Warteschlange entfernen im Feld 'Warteschlange' in BOOKORDER_OUT_FREEPOSTAGE
Stellen Sie sicher, dass der im Testclient festgelegte Port dem Port entspricht, der von Ihrem Warteschlangenmanager verwendet wird.
Klicken Sie auf Nachricht abrufen, um eine Nachricht aus der Warteschlange abzurufen.
Blättern Sie bis zum Ende der Nachricht. Dort werden Sie feststellen, dass das Feld 'discounts' (Rabatte) auf 'Loyalty card discount' (Rabatt für Treuekarteninhaber) gesetzt und der Wert für die Gesamtbestellmenge 'orderTotal' um $2,00 reduziert ist.