180 likes | 277 Views
REGELWERK. System zur plattformunabhängigen Definition und Abfrage von Regeln. M.ARIKAN. REWE „Business Rules Engine“. Appl1. Appl2. Appl3. Ohne REWE. Regel1. Regel2. Regel3. Appl1. Appl2. Appl3. Mit REWE. Regel1. Techniker. Regel2. Anwender. Regel3.
E N D
REGELWERK System zur plattformunabhängigen Definition und Abfrage von Regeln M.ARIKAN
REWE „Business Rules Engine“ Appl1 Appl2 Appl3 Ohne REWE ..... Regel1 Regel2 Regel3 Appl1 Appl2 Appl3 Mit REWE ..... Regel1 Techniker Regel2 Anwender Regel3 „Reduziert die Programmwartung drastisch“ „Vermindert die EDV-Aufwände weitgehend (keine unnötigen Programmeingriffe!)“ „Ermöglicht externe Einflussnahme in die Abläufe“
REGELWERK Entscheidungstabelle In vielen Programmen fixcodiert!
REGELWERK Regel Regelname: Schulung 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‘
REGELSYNTAX Bedingung: UND/ODER >= > WENN ( ) <Variable> <Wert> * <= < = <> Ergebnis: UND DANN = <Variable> <Wert> *
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 = STACK I II III IV T T T Antwort: C = 5 I II III IV T T T
REGELWERK REWE Verfügbarkeit ONLINE ESP HOST Webserver rewe.regel.auswerten P16T8000 REWE EDITOR (P16U8000) JDBC DB2 OFFLINE FAT-CLIENT Appl. VB C++ JAVA JINTEGRA Lotus Notes usw... REWE (*) *Geringfügiger Anpassungsaufwand erforderlich <= 1PT
DATENHALTUNG* Tupel Regelstamm D16T900 Tupel Tupel D16T903 D16T904 Wert D16T901 Regelbedingungen Wert D16T904 Wert D16T902 Regelergebnisse Wert Version A A D16T905 Laufzeitkomponente *) DB2 für Online-Abfragen, XML für Offline-Abfragen
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 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. 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. 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 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. *) Die SQL-Darstellung der Tabellen
BERECHTIGUNGSKONZEPT USER GRUPPE REGELN U000022 ADMINISTRATOR BESTBRIEF U000023 BEST BST* PROGSWITCH ..... U000024 ..... REWE BST* QC-LD00 U000025 SLSQC BST* SLSFED03 SLSFED BST* SLSIBMIN 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.
REGELSTATI Regel angelegt OFFEN Werte angelegt Regel kopieren UNVOLLSTÄNDIG ENTWURF Freigegeben FREIGEGEBEN Freigegeben Werte angelegt FENTWURF
REWE-FRONTEND LOGIN REWE- MASKENHIERARCHIE SYSTEMADMIN REGEL-BETREUER REGELWERT-BETREUER ANWENDER REGELFILTER ÜBERSICHT VARIABLEN REGEL WERTETABELLE TESTEN DETAILS REGELWERTE VERSIONIEREN
ZUR ZEIT IN REWE BEST BRIEFBAUSTEINE SLS DIVERSE REGELN REWE STEUERUNG
Verbesserungsvorschläge 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 (*) HOST UPRO Verbessern Suchlogik beschleunigen & Regel- Variablenoptionen einbauen JAVA & COBOL API‘s zur Regelverwaltung erstellen *Geringfügiger Anpassungsaufwand erforderlich <= 1PT