[JAVA] Ich habe ODM für Entwickler ② Regelentwicklung berührt

Die Regelentwicklung für ODM erfolgt im Regel-Designer. Der kostenlose Rule Designer für ODM for Developer kann als Plug-In vom Eclipse Marketplace bezogen und installiert werden.

Dieses Mal möchte ich mit Rule Designer eine einfache Regel entwickeln.

Eclipse installieren

Der neueste Regel-Designer basiert auf Eclipse v4.7.3 (Sauerstoff), daher müssen Sie dieselbe Version installieren. Beachten Sie, dass Sie das Sprachgebietsschema von Rule Designer möglicherweise nicht ändern können, wenn Sie die neueste Version von Eclipse oder das japanische Lokalisierungs-Plug-In installiert haben.

  1. Wenn Sie Eclipse nicht haben oder die Version anders ist, installieren Sie bitte Eclipse Oxygen.

  2. Starten Sie Eclipse und öffnen Sie das Fenster Eclipse Marketplace. Suchen Sie nach "odm" und installieren Sie IBM ODM Rule Designer für Developer V8.10.1. a1.png

  3. Wählen Sie im Lizenzbestätigungsfenster "Ich akzeptiere die Bedingungen ..." und klicken Sie auf die Schaltfläche "Fertig stellen".

  4. Starten Sie Eclipse nach Abschluss der Installation neu. Stellen Sie sicher, dass die Regelperspektive hinzugefügt wurde. a2.png

Die Regelentwicklungsumgebung ist bereit. In den folgenden Schritten entwickeln wir eine einfache Regel.

Erstellen eines Ausführungsmodells (XOM)

Entwickeln Sie eine einfache Regel, die den Abzinsungssatz entsprechend dem Kundenrang zurückgibt. (Einfache Logik erfordert keine Verwendung von Regeln, vereinfacht jedoch das Szenario, um zu verstehen, wie ODM funktioniert und wie Regeln erstellt werden.)

ODM-Regeln definieren ein Wörterbuch, das das Ausführungsmodell (XOM) mit dem Geschäftsobjektmodell (BOM) verknüpft, um die Regeln auf Japanisch zu schreiben. Entwerfen Sie zu Beginn der Regelentwicklung die in der Regel verwendeten Datenelemente und erstellen Sie ein Ausführungsmodell mit Java-Klassen und XML-Schema. Hier verwenden wir Java, um das XOM zu erstellen.

  1. Öffnen Sie die Java-Perspektive in Eclipse. Klicken Sie auf Neu> Java-Projekt. b1.png

  2. Geben Sie CustomerLoyaltyXOM als Namen des Projekts ein, stellen Sie sicher, dass die JRE-Version 1.8 ist, und klicken Sie auf Fertig stellen. b2.png

  3. Klicken Sie mit der rechten Maustaste auf das Java-Projekt, das Sie im Paket-Explorer erstellt haben, und wählen Sie Neu> Klasse. b3.png

  4. Geben Sie "my.first.rule" als Paketnamen und "Loyalty" als Klassennamen ein und klicken Sie auf Fertig stellen. b4.png

  5. Der Java-Editor wird geöffnet. Erstellen Sie drei private Variablen wie unten gezeigt. b5.png

  6. Klicken Sie mit der rechten Maustaste auf den Java-Editor und wählen Sie Quelle> Getter und Setter generieren.

  7. Klicken Sie rechts auf Alle auswählen und dann auf die Schaltfläche OK. b7.png

  8. Klicken Sie im Java-Editor erneut mit der rechten Maustaste und wählen Sie Quelle> Konstruktor mithilfe von Feldern generieren.

  9. Stellen Sie sicher, dass standardmäßig drei Felder ausgewählt sind, und klicken Sie auf OK. b9.png

  10. Klicken Sie im Java-Editor erneut mit der rechten Maustaste und wählen Sie Quelle> Konstruktor aus Superklasse generieren.

  11. Behalten Sie die Standardeinstellung bei und klicken Sie auf OK. b11.png

  12. Der Code sollte folgendermaßen aussehen: Drücken Sie zum Speichern Strg + S. b12.png

Regelprojekt erstellen und XOM-Import

  1. Klicken Sie auf das Symbol in der oberen rechten Ecke von Eclipse, um zur Regelperspektive zu wechseln. c1.png

  2. Die Entscheidungsdienstkarte wird am unteren Bildschirmrand angezeigt. Dies ist eine Anleitung zu den Schritten, die Sie zur Entwicklung Ihrer Regeln unternehmen. Klicken Sie oben links auf "Hauptregelprojekt erstellen". c2.png

  3. Stellen Sie sicher, dass Hauptregelprojekt für die Vorlage ausgewählt ist, und klicken Sie auf Weiter. c3.png

  4. Geben Sie CustomerLoyaltyRule als Namen des Regelprojekts ein und klicken Sie auf Fertig stellen. c4.png

  5. Klicken Sie in der Entscheidungsdienstzuordnung am unteren Bildschirmrand auf "XOM importieren".

  6. Stellen Sie sicher, dass Java Execution Object Model ausgewählt ist, und klicken Sie auf OK. c6.png

  7. Aktivieren Sie "Customer Loyalty XOM" in der Liste und klicken Sie auf "Apply and Close". c7.png

Erstellen eines Geschäftsobjektmodells (BOM)

Stückliste ist ein Wörterbuch mit Geschäftsbegriffen, die in Regelbeschreibungen verwendet werden. Es definiert nicht nur die für die XOM-Schnittstelle verwendeten Wörter, sondern auch die in der Berechnungs- und Beurteilungslogik erforderlichen Wörter.

Durch die Definition von Wörtern mit begrenzten Mustern wie Produktnamen und Firmennamen als "Domänen" ist es möglich, Regeln effizient zu entwickeln und zu überprüfen.

  1. Klicken Sie in der Entscheidungsdienstzuordnung auf Stückliste erstellen.

  2. Behalten Sie die Standardeinstellungen bei und klicken Sie auf Weiter. d2.png

  3. Klicken Sie rechts auf die Schaltfläche "Nach XOM suchen", wählen Sie das zuvor erstellte "Kundenbindungs-XOM" aus und klicken Sie auf "Fertig stellen". d3.png

  4. Doppelklicken Sie im Regel-Explorer auf Modell, um es zu öffnen. d4.png

  5. Erweitern Sie das Paket und doppelklicken Sie auf die Klasse "Loyalität". d5.png

  6. Klicken Sie im Abschnitt zur Verbalisierung der Klasse auf Begriff bearbeiten. d6.png

  7. Ändern Sie die Bezeichnung in "Treueprogramm" und klicken Sie auf "OK". d7.png

  8. Verbalisieren Sie als Nächstes die Mitglieder. Doppelklicken Sie oben im Mitgliederbereich auf "discount_rate".

  9. Klicken Sie im Abschnitt zur Verbalisierung des Mitglieds auf den Link "In der Phrase verwendeten Betreff bearbeiten". d9.png

  10. Ändern Sie die Bezeichnung in "Diskontsatz" und klicken Sie auf "OK". d10.png

  11. Der Begriff Abzinsungssatz verbleibt in der Aktionsvorlage. Bearbeiten Sie den Text und ändern Sie ihn in "Diskontsatz". d11.png

  12. Verbalisieren Sie die anderen Mitglieder auf die gleiche Weise. Wählen Sie im Stücklisten-Editor die Registerkarte Klassen und doppelklicken Sie im Mitgliederbereich auf die zweite "Lank".

  13. Klicken Sie im Verbalisierungsabschnitt des Mitglieds auf Betreff bearbeiten, der in der Phrase verwendet wird.

  14. Ändern Sie die Bezeichnung in "Kundenrang" und klicken Sie auf die Schaltfläche "OK".

  15. Bearbeiten Sie das Wort "lank", das in der Aktionsvorlage verbleibt, in "Customer Rank".

  16. Die Anzahl der Kunden ist auf wenige Typen beschränkt. Erstellen Sie daher eine Domain, um den Begriff zu identifizieren. Klicken Sie im Abschnitt Domänen auf Domäne erstellen. d16.png

  17. Wählen Sie im Domänentyp Literal aus und klicken Sie auf Weiter. d17.png

  18. Klicken Sie rechts auf die Schaltfläche "Hinzufügen" und ändern Sie den zur Liste hinzugefügten neuen Wert in "Platin". Fügen Sie ebenfalls Gold, Silber und Bronze hinzu und klicken Sie auf Fertig stellen. d18.png

  19. Wählen Sie im Stücklisten-Editor die Registerkarte Klassen und doppelklicken Sie im Abschnitt Mitglieder auf die dritte "Nachricht".

  20. Klicken Sie im Verbalisierungsabschnitt des Mitglieds auf den Link "In Phrase verwendeten Betreff bearbeiten".

  21. Ändern Sie die Bezeichnung in "Nachricht" und klicken Sie auf die Schaltfläche "OK".

  22. Bearbeiten Sie das in der Aktionsvorlage verbleibende Wort "Nachricht" in "Nachricht".

  23. Klicken Sie auf Strg + S, um Ihre Änderungen zu speichern.

Entscheidungen treffen und Regelflüsse erstellen

Eine Entscheidungsoperation ist eine Schnittstellendefinition, wenn eine Regel von außen aufgerufen wird. Dies ist eine Operation, bei der das XOM im vorherigen Schritt als Parameter erstellt wurde. Hier wird die Entscheidungsoperation definiert und verbalisiert (japanisiert), und die Reihenfolge der Berechnung und Beurteilung innerhalb der Regel wird als Regelfluss definiert.

  1. Klicken Sie in der Entscheidungsdienstzuordnung auf Entscheidungsoperation hinzufügen.

  2. Geben Sie als Namen des Vorgangs "getDiscount" ein und klicken Sie auf die Schaltfläche "Fertig stellen". e2.png

  3. Klicken Sie in der Decision Service Map auf Go to Operation Map.

  4. Wählen Sie im Auswahlfenster für Entscheidungsvorgänge "getDiscount" aus und klicken Sie auf die Schaltfläche "OK". e4.png

  5. Die Operationskarte wird geöffnet. Klicken Sie auf "Variablensatz hinzufügen". e5.png

  6. Geben Sie param als Namen für den Variablensatz ein und klicken Sie auf Fertig stellen. e6.png

  7. Klicken Sie auf die Schaltfläche Hinzufügen auf der rechten Seite des Variablensatz-Editors und ändern Sie den Typ in "Loyalität", Verbalisierung in "Treueprogramm". e7.png

  8. Klicken Sie auf Strg + S, um Ihre Änderungen zu speichern und den Variablensatz-Editor zu schließen.

  9. Klicken Sie in der Operationszuordnung auf Variablen binden.

  10. Ziehen Sie die soeben hinzugefügte Variable (myVar) in den Abschnitt E / A-Parameter. e10.png

  11. Klicken Sie auf Strg + S, um Ihre Änderungen zu speichern und den Entscheidungsoperationseditor zu schließen.

  12. Klicken Sie anschließend in der Operationszuordnung auf Regelpaket hinzufügen.

  13. Geben Sie "Urteil" in den Namen des Pakets ein und klicken Sie auf die Schaltfläche "Fertig stellen". e13.png

  14. Klicken Sie in der Operationszuordnung auf Regelfluss hinzufügen.

  15. Geben Sie als Namen des Regelflusses "Hauptablauf" ein und klicken Sie auf die Schaltfläche "Fertig stellen". e15.png

  16. Der Regelfluss-Editor wird geöffnet. Klicken Sie in der Palette links auf Startknoten (oberes Pfeilsymbol) und dann auf den Editor.

  17. Klicken Sie auf ähnliche Weise auf "Endknoten" (das zweite rote Kreissymbol) und dann auf den Editor. Die Start- und Endknoten sollten wie unten gezeigt angeordnet sein. e18.png

  18. Klicken Sie in der Palette links auf Regelaufgaben (Symbol für den dritten Gang) und dann im Editor zwischen Start- und Endknoten.

  19. Ändern Sie in den Eigenschaften unter dem Editor die Bezeichnung der Regelaufgabe in "Beurteilung". e20.png

  20. Klicken Sie auf der Registerkarte Regel auswählen der Eigenschaften auf die Schaltfläche Bearbeiten.

  21. Klicken Sie im Regelauswahlfenster auf die Schaltfläche >> und wählen Sie das Bewertungsregelpaket aus (siehe Liste rechts). e22.png

  22. Klicken Sie in der Palette des Regelfluss-Editors auf Übergang (Abwärtspfeil unten). Klicken Sie in dieser Reihenfolge auf den Startknoten, die Regelaufgabe und den Endknoten, um eine Verbindung herzustellen.

  23. Klicken Sie mit der rechten Maustaste auf den Editor und wählen Sie "Layout aller Knoten". Der Fluss ist wie folgt. e24.png

  24. Zeigen Sie die Operationskarte erneut an. Klicken Sie auf "Regelfluss binden".

  25. Der Editor für Entscheidungsvorgänge wird geöffnet. Klicken Sie im Abschnitt Regelfluss auf den Link Regelfluss auswählen und wählen Sie den soeben erstellten Hauptfluss aus. e26.png

  26. Klicken Sie auf Strg + S, um Ihre Änderungen zu speichern und den Entscheidungsoperations-Editor zu schließen.

Regeldefinition

  1. Klicken Sie in der Operationszuordnung auf Aktionsregel hinzufügen.

  2. Klicken Sie auf die Schaltfläche Durchsuchen neben dem Paket und wählen Sie das Urteilspaket aus. Dies schließt die Aktionsregel in das Urteilspaket ein und führt sie innerhalb des Regelflusses aus.

  3. Geben Sie "Leere Rangprüfung" in den Namen ein und klicken Sie auf "Fertig stellen". f3.png

  4. Der Regeleditor wird geöffnet. Wenn Sie auf Strg + Leertaste klicken, zeigt die Codeunterstützungsfunktion den Wortlaut der Regel an. Erstellen Sie eine Regel wie die folgende. (Sie können Text auch direkt eingeben) f4.png

  5. Geben Sie "1" für die Priorität in den Eigenschaften am unteren Bildschirmrand ein. Wenn ein Regelpaket mehrere Regeln enthält, werden diese Regeln bei dieser Einstellung zuerst ausgeführt.

  6. Kehren Sie erneut zur Operationszuordnung zurück und klicken Sie auf "Entscheidungstabelle hinzufügen".

  7. Wählen Sie Urteil für das Paket und geben Sie Rabatturteil für den Namen ein. Klicken Sie auf die Schaltfläche "Fertig stellen". f7.png

  8. Ein leeres Entscheidungsblatt wird erstellt. Klicken Sie mit der rechten Maustaste auf Spalte A und wählen Sie "Bedingungsspalte bearbeiten". f8.png

  9. Verwenden Sie im Abschnitt Test des Fensters Spalte bearbeiten die Option Code Assist und geben Sie Folgendes ein: "Der Kundenrang des 'Treueprogramms' entspricht dem von ." f9.png

  10. Ändern Sie den Titel in "Kundenrang" und klicken Sie auf die Schaltfläche "OK".

  11. Klicken Sie mit der rechten Maustaste auf die Spalten B und C der Entscheidungstabelle und löschen Sie die Bedingungsspalte.

  12. Klicken Sie mit der rechten Maustaste auf die Aktionsspalte (graue Spalte) in der Entscheidungstabelle und wählen Sie Aktionsspalte bearbeiten. f12.png

  13. Ändern Sie die Aktion in "Festlegen des Abzinsungssatzes für das Treueprogramm auf ".

  14. Geben Sie "Discount Rate" in den Titel ein und klicken Sie auf die Schaltfläche "OK". f14.png

  15. Klicken Sie mit der rechten Maustaste auf die Bedingungsspalte "Kundenrang" und wählen Sie "Hinzufügen> Alle Domänenwerte". Alle in der Stückliste definierten Domänen werden hinzugefügt. f15.png

  16. Geben Sie in die Aktionsspalte "Diskontsatz" eine entsprechende Zahl (einen Bruchteil von 0,01 bis 0,99) ein. f16.png

  17. Es ist auch möglich, den Abzinsungssatz in% anzuzeigen. Klicken Sie mit der rechten Maustaste auf die Aktionsspalte und wählen Sie Format. (Wählen Sie eine Spalte aus, keine einzelne Zelle)

  18. Wählen Sie aus der Liste der Formate "{0, Zahl, Prozent}" aus. Klicken Sie auf die Schaltfläche "OK", um das Fenster zu schließen. f18.png

  19. Stellen Sie sicher, dass der Abzinsungssatz auf dem Entscheidungsbogen in% angezeigt wird.

  20. Klicken Sie auf Strg + S, um Ihre Änderungen zu speichern und den Entscheidungsausschuss-Editor zu schließen.

Zusammenfassung

Dieses Mal habe ich den Regel-Designer verwendet, um eine einfache Regel zu entwickeln. Beim nächsten Mal werde ich Ihnen zeigen, wie Sie diese Regel zum Testen und Bearbeiten auf Ihrem Server bereitstellen.

Recommended Posts

Ich habe ODM für Entwickler ② Regelentwicklung berührt
Ich habe Scala berührt
Ich habe zuerst Java touched berührt
Ich habe zuerst Java touched berührt
Ich habe zuerst Java touched berührt
Ich habe zuerst Java berührt
Ich habe Scala ~ [Klasse] ~ berührt
Ich habe Scala ~ [Objekt] ~ berührt
Ich habe Scala ~ [Trate] ~ berührt