1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN.

18
1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN

Transcript of 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN.

Page 1: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

14

Page 15: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN.

15

Page 16: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN.

16

REWE IN /var/cvs/applications

Page 17: 1 REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN.

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.

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