Business Rule Framework plus by CaRD / CaRD PLM 2010
Business Rule Framework plus > Business Rules Framework plus () ist eine Business Rule Engine, die in ABAP und für den Einsatz in ABAP entwickelt wurde. > User Interface: WebDynpro > wurde mit SAP Enhancement Package 1 für SAP NetWeaver 7.0 ausgeliefert. > Weiterentwicklungen erfolgten mit den Netweaver Enhancement Packages 2 und 3 7 8 XML Import und Export Transporte 1 Code- Generierung 6 BRF plus Trace und Simulation 2 5 Formeln Entscheidungstabellen Entscheidungsbäume If-then- Regeln 4 3 2
Motivation für Business Rules > Die Software-Lösung bleibt flexibel > Regeln müssen zum Zeitpunkt der Software-Entwicklung noch nicht vollständig vorliegen > Transparenz der Regeln statt Ablage der Regeln im Softwarecode > Zentrale Verwaltung von Regeln > Verlagerung der Modellierung der Geschäftsregeln vom Entwickler zum Geschäftsprozessadministrator > Sehr schnelle Möglichkeit zur Anpassung der Regeln im Produktivbetrieb > Einfacheres Auffinden von Regeln > Reduzierung der Aufwände für Anpassungen der Software an neue Gegebenheiten > Geplante Änderungen von Geschäftsregeln lassen sich tagesgenau scharf schalten > Deutliche Vereinfachung der Pflege der Regeln im Vergleich zum Codieren > Simulationsmöglichkeiten vereinfachen Tests 3
Anwendungsbeispiele: Prozesssteuerung > Auslösen von Business Workflows > Entscheidungen von Workflows > Ausnahmeregelungen in Workflows > Rollenzuordnung in Workflows > Auslösen von Benachrichtigungen 4
Anwendungsbeispiele: Steuerung im Bereich Merkmalsbewertungen und Benutzereingaben > Ein- und Ausblenden von Merkmalen > Musssteuerung von Attributen > Merkmals-Werte lassen sich abhängig von anderen Merkmalswerten ein- bzw. ausblenden > Herleitung von Merkmalswerten aus anderen Werten > Überprüfungen von Benutzereingaben mit Hilfe komplexere Checks > Herleitungen von Werten mit Hilfe von Formeln > Datumsberechnungen 5
Mögliche Anwendungsbeispiele im Bereich Statusmanagement > Automatisiertes Herleiten von Objektstatus > Folge-Aktionen nach dem Setzen des Objektstatus > Setzen von Objektstatus von verbundenen Objekten 6
Mögliche Anwendungsbeispiele im Bereich Variantenkonfiguration > Berechnungen im Bereich Variantenkonfiguration (z.b. Reifen-, Federn- und Batterieberechnungen im Bereich Automotive) > Online-Plausibilisierungen von Variantenkonfigurationsregelungen > Nachgelagerte Konsistenzprüfungen für Variantenkonfigurationsregeln 7
Überblick Decision Table Decision Tree Formula Amount Transaction CheckType 0$..100$ None > 100$ Internal None > 100$ External 4-Eye CustomerGroup A B,C OpenItems OpenItems < 1000$ >= 1000$ (Quantity * 1.19) + ServCharge 7 8 9 / 4 5 6 * 1 2 3-0 +/-, + front-end Tools Workbench Object Catalogs WebService Generation XML Export/Import Query Trace and Simulation Services Transport Versioning and Historization Code Generation Extensibility DDIC Binding Unit/Currency conversion Rules Processor Rules Repository Master Data Tables Customizing Tables System Tables Back-end 8
Überblick > Für Business Administratoren und IT-Experten > Versions Kontrolle und Historie > Code-Generierung, dadurch hohe Performance > Simulationsmöglichkeiten > Trace-Funktion (für gesetzliche Anforderungen und zur Erklärung von Ergebnissen) > Transportwesen > XML Import & Export > Einheiten und Wärungsumrechnungen > Objektkatalog > Volle Integration in den SAP Netweaver Application Server 9
Benutzeroberfläche 10
Beispiele für die Art- und Weise, wie Regeln in abgebildet werden können 11
Funktionen > Die Funktion ist die Schnittstelle zwischen dem Code der Anwendung und den Business Rules > Die Anwendung muss sich nicht um die Business Logik in den Regeln kümmern. > Die Funktion nimmt die Daten gemäß der Funktionsdefinition entgegen und gibt das Ergebnis zurück. > Vom Prinzip ist das ähnlich wie bei den Funktionen im Beziehungswissen 12
Ruleset: Zusammenfassung mehrerer Regeln 13
Entscheidungstabelle > beliebige Anzahl an Bedingungen, Rückgabe des ersten oder aller Treffer > Überprüfungen auf Lücken oder Übereinstimmungen > Include/Exclude, Aufzählungen, viele Optionen (gleich, größer, kleiner, Muster, zwischen, ) 14
Entscheidungsbäume 15
Formeln 16
Action and Expression Types Expression Types Expression Types definieren eine in sich geschlossene Recheneinheit mit einer definierten Logik Ausdrücke verwenden Kontext -Daten oder beinhalten andere Ausdrücke, um das Ergebnis zu berechnen, Action Types Anstatt einer Ergebnis zurückzugeben, lösen diese eine Aktion aus. Entscheidungs /Suchbaum Entscheidungs -tabelle Datenbank Zugriff Formel Loop Tabellen Operation Funktionsaufruf Email Message Log Workflow Analyse einer binären / nicht-binären Baums, bei dem Knoten die Bedingungen und die Enden die Ergebnisse sind Sequentialles Analysieren einer Tabelle mit Rückgabe des ersten Treffers/aller Treffer Datenbank-Zugriff um Werte für die weitere Auswertung zu ermitteln Definition komplexer Fomeln Führt Schleifenoperationen durch Tabellenoperationen um Aggregationen, Checks oder Zähloperationen durchzuführen Aufruf einer ABAP Routine (Methode oder Funktionsbaustein) Sendet eine Email Schreibt Meldungen in den Message Log Triggert den Business Workflow 23
Simulation 24
(R)Evolution Architecture verification First customer and SAP pilots Web UI More customer and SAP usages Restricted release Applicable for simple use cases Mass adoption Unrestricted release Applicable also for complex use cases Migration from various tools/engines to Competitive differentiator Community with extensions and best practices 2006 2008 2010 2012 Quelle: SAP 25