1 regelwerk system zur plattformunabhängigen definition und abfrage von regeln m.arikan
TRANSCRIPT
![Page 1: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/1.jpg)
1
REGELWERK
System zur plattformunabhängigen Definition und
Abfrage von Regeln
M.ARIKAN
![Page 2: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/2.jpg)
2
REWE„Business Rules Engine“
Ohne REWE
Appl1
Appl3Appl2Appl1
Appl3Appl2
Regel1
Regel3
Regel2
Regel1
Regel3Regel2
AnwenderTechniker
.....
.....
„Reduziert die Programmwartung drastisch“
„Vermindert die EDV-Aufwände weitgehend (keine unnötigen Programmeingriffe!)“
„Ermöglicht externe Einflussnahme in die Abläufe“
Mit REWE
![Page 3: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/3.jpg)
3
REGELWERK
Entscheidungstabelle
LD: SPARTE: USERID:
Wien 203 U000022
Wien 206 U000023
Wien 207 U000025
In vielen Programmen fixcodiert!
![Page 4: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/4.jpg)
4
REGELWERK
Regel
Wenn LD = ? UND SPARTE = ? DANN USERID = ?
Werte:
LD Wien Wien Wien
SPARTE 203 206 207
USERID U000022 U000023 U000025
Abfrage:
EINGABE.VARIABLE[1] = ‚LD‘;
EINGABE.WERT[1] = ‚WIEN‘
EINGABE.VARIABLE[2] = ‚SPARTE‘;
EINGABE.WERT[2] = ‚203‘
AUSGABE[ ] = REWE („SCHULUNG“, EINGABE[ ] )
AUSGABE.VARIABLE[1] = ‚USERID‘;
AUSGABE.WERT[1] = ‚U000022‘
Regelname: Schulung
![Page 5: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/5.jpg)
5
REGELSYNTAX
( )<Variable> <Wert>
UND/ODER
Bedingung:
Ergebnis:
<Variable> <Wert>
UND
=
WENN
DANN*
>= >
<= <
<>=
*
![Page 6: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/6.jpg)
6
AUSWERTUNGSTECHNIK
Die Regeln werden für die Laufzeitauswertung in die Postfixnotation umgewandelt. Dadurch ist die Auswertung mit einmaligem Abarbeiten des Regelstrings möglich.
Regel in herkömmlicher Notation:
WENN A>2 UND B<3 DANN C = 5
Werte zur Laufzeit: A=3, B=1
Postfix:
A2 > B3< UND C5 =
I II III IV
STACK I II III IV
T T T
T T
T
Antwort:
C = 5
![Page 7: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/7.jpg)
7
REGELWERK
REWE Verfügbarkeit
Webserver
REWE
EDITOR
rewe.regel.auswerten
JDBC
P16T8000
HOST
DB2
FAT-CLIENT Appl.
Lotus Notes usw...
ESP
(P16U8000)
ONLINE
*Geringfügiger Anpassungsaufwand erforderlich <= 1PT
OFFLINE
VB C++
JINTEGRA
REWE (*)
JAVA
![Page 8: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/8.jpg)
8
TupelTupel
Tupel
DATENHALTUNG*
Regelstamm
AA
Laufzeitkomponente
Version
Wert
Wert
Wert
Wert
*) DB2 für Online-Abfragen, XML für Offline-Abfragen
D16T900
D16T905
D16T903
Regelbedingungen
D16T904
D16T901
D16T904
RegelergebnisseD16T902
![Page 9: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/9.jpg)
9
EXEC SQL DECLARE D16T903 TABLE ( REGELKURZBEZ CHAR(10) NOT NULL, GRUPPENNR DECIMAL(6, 0) NOT NULL, ART CHAR(1) NOT NULL, LAUFNR_IREGLWRT DECIMAL(6, 0) NOT NULL, WERT CHAR(30) NOT NULL ) END-EXEC.
DATENHALTUNG*
EXEC SQL DECLARE D16T900 TABLE ( REGELKURZBEZ CHAR(10) NOT NULL, REGEL_USERID CHAR(8) NOT NULL, AENDERUNGSDATUM DATE NOT NULL, LETZTEVERSION DECIMAL(6, 0) NOT NULL, REGELBESCHREIBUNG VARCHAR(250) ) END-EXEC.
EXEC SQL DECLARE D16T905 TABLE ( REGELKURZBEZ CHAR(10) NOT NULL, VERSION DECIMAL(6, 0) NOT NULL, LAUFNR_IREGLFRG DECIMAL(6, 0) NOT NULL, FREIGEBER_USERID CHAR(8) NOT NULL, AENDERUNGSDATUM DATE NOT NULL, REGELSTRING VARCHAR(3950) NOT NULL ) END-EXEC.
EXEC SQL DECLARE D16T901 TABLE ( REGELKURZBEZ CHAR(10) NOT NULL, LAUFNR_IRGBEDNG DECIMAL(6, 0) NOT NULL, KLAMMERA CHAR(1), OPERAND_IRGBEDNG CHAR(20), OPERATOR CHAR(2), KLAMMERZ CHAR(3), VERBINDUNGSELEMENT CHAR(4) ) END-EXEC.
EXEC SQL DECLARE D16T902 TABLE ( REGELKURZBEZ CHAR(10) NOT NULL, LAUFNR_IREGLERG DECIMAL(6, 0) NOT NULL, OPERAND_IREGLERG CHAR(20) ) END-EXEC.
EXEC SQL DECLARE D16T904 TABLE ( OPERAND CHAR(20) NOT NULL, OPERANDTYP CHAR(1) NOT NULL, LAENGE CHAR(10) NOT NULL, BESCHREIBUNG VARCHAR(250) NOT NULL ) END-EXEC.
*) Die SQL-Darstellung der Tabellen
![Page 10: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/10.jpg)
10
BERECHTIGUNGSKONZEPT
U000022
BEST
BST*
BESTBRIEF
U000023
U000024
U000025
REWE
SLSQC
SLSFED
PROGSWITCH
SLSFED03
QC-LD00
BST*
BST*
BST*
USER GRUPPE REGELN
ADMINISTRATOR
BST* ) Berechtigungsstufe:
Regelbetreuer (Modifikationsberechtiung für Regeldefinitionen und Wertebereiche),
Wertebetreuer (Modifikationsberechtigung für Wertebereiche),
Anwender (keine Modifikationsberechtigung),
Alle können die Regeln und Wertebereiche ihrer Gruppe anschauen und online testen.
SLSIBMIN
..... .....
![Page 11: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/11.jpg)
11
REGELSTATI
OFFEN
UNVOLLSTÄNDIG
ENTWURF
FREIGEGEBEN
FENTWURF
Regel angelegt
Freigegeben
Regel kopieren
Freigegeben Werte angelegt
Werteangelegt
![Page 12: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/12.jpg)
12
REWE-FRONTEND
REGELFILTER
LOGIN
ÜBERSICHT
VARIABLEN REGEL WERTETABELLE TESTEN
DETAILS REGELWERTE
VERSIONIEREN
SYSTEMADMIN
REGEL-BETREUER
REGELWERT-BETREUER
ANWENDER
REWE- MASKENHIERARCHIE
![Page 13: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/13.jpg)
13
ZUR ZEIT IN REWE
BEST BRIEFBAUSTEINE
SLS DIVERSE REGELN
REWE STEUERUNG
![Page 14: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/14.jpg)
14
![Page 15: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/15.jpg)
15
![Page 16: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/16.jpg)
16
REWE IN /var/cvs/applications
![Page 17: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/17.jpg)
17Mitarbeiter
userid : String_10
BlattKnoten
2
+blaetter
2
+subknoten
+2
FreigeberVersion
nummer : Ganzzahldatum : Datumbemerkung : String_256 10..n
+freigeber
1
+version
0..n
ErstellerBedingung
result : Boolean
Ergebnis
Regel
kurzBez : String_10beschreibung : String_256datum_aend : Datum
1..n+version
1..n
10..n
+ersteller
1
+regel
0..n1
+bedingung
1
0..n+ergebnisse 0..n
Konstante
fixValue : String_Unlimited
KonstanteTupel
0..n
+konstanteTupel
0..n
1..n+konstanten 1..n
Variable
value : String_40beschreibung : String_256
Numerisch
vorzeichen : String_1vorKomma : GanzzahlnachKomma : GanzzahlAlphaNumerisch
laenge : Ganzzahl
DatenTyp
name : String_40
Operand
name : String_40
1+datenTyp 1
Operator
name : String_40value : String_10
Ausdruck
2+operanden
21
+operator1
Verknuepfer
linkeseite : Booleanrechteseite : Boolean
Vergleicher
linkeseite : String_Unlimitedrechtseite : String_Unlimited
Kleiner
Kleingleich
Groesser
Groessergleich
Gleich
Ungleich
And Or
REWE MODELL
![Page 18: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN](https://reader034.vdocuments.pub/reader034/viewer/2022051014/55204d7e49795902118cef55/html5/thumbnails/18.jpg)
18
Beliebig lange Regeln ermöglichen
Beim Einstieg nur die Regeln des Anwenders laden
Filter & Suchfunktion & Auswahl der Reihenfolge für Variablen
Filter & Suchfunktion & Auswahl der Reihenfolge für Regeln
Filter & Suchfunktion & Auswahl der Reihenfolge für Werte
Offline Fähigkeit (*)
Verbesserungsvorschläge
HOST UPRO Verbessern
Suchlogik beschleunigen & Regel- Variablenoptionen einbauen
JAVA & COBOL API‘s zur Regelverwaltung erstellen
*Geringfügiger Anpassungsaufwand erforderlich <= 1PT