194-2010-K-SOA-BPM-Halter-Oracle Business Rules 11g
Transcription
194-2010-K-SOA-BPM-Halter-Oracle Business Rules 11g
<Insert Picture Here> Oracle Business Rules 11g unleashed Steffen Miller Principal Sales Consultant Sören Halter Principal Sales Consultant Agenda • • • • Oracle Business Rules 11g Oracle Business Rules im Einsatz Lasttest-Ergebnisse Q&A <Insert Picture Here> <Insert Picture Here> Oracle Business Rules 11g 10/27/10 © ILOG, All rights reserved 5 Grundidee Ein “typischer” Kreislauf ohne Regeln .doc Spezifizieren Entwickler Analysten Architekt Anwender .src .properties Anwendung; Prozesse; Services etc Anwender Analysten Coding IT Org. Zeit Deployment Test Validation Business Rule Management: Warum? “implementierte” Geschäftslogik • Sind die monatlichen Raten niedriger als 33% des Monatseinkommens, ist es ein Kunde mit niedrigem Risiko • Bei einer Anzahlung von mehr als 30% erhält ein Kreditnehmer mit niedrigem Risiko einen Rabatt von 1 Punkt public class Borrower { private float outcomes; private float incomes; private float SpecialRate; ... public boolean IsLowRisk () { if (outcomes < (incomes * 0.33)) { return true; } else return false; } Developer } 10/27/10 public class LoanRequest { private Borrower borrower; private float loanAmount; private float downPayment; ... public void QualifyForLowerRate() { if (borrower.LowRisk()) { if (downPayment > (loanAmount * 0.30)) borrower.setSpecialRate (-0.01); } } } © ILOG, All rights reserved 7 Grundidee Ein “typischer” Kreislauf mit Regeln Lebenszyklus Management Analysten Entwickler Architekt Anwender Anwender Analysten Anwendung; Prozesse; Services etc Test / Freischalten IT Org. Zeit 10/27/10 © ILOG, All rights reserved 8 Regeln in einer Fachsprache zusammenstellen 10/27/10 © ILOG, All rights reserved 9 Arbeitsteilung Fachnutzer/Techn.Nutzer What You Don‘t See Is What You Need 10/27/10 © ILOG, All rights reserved 10 Funktionsweise einer Rete Maschine Rule Engine Fact Fact WORKING MEMORY Fact INFERENCE ENGINE Fact PATTERN MATCHER RULE BASE AGENDA EXECUTION ENGINE Definition von BPM und BR BPM BR • visualisieren, dokumentieren, automatisieren und integrieren von Geschäftsprozessen • Evolution von Workflow und EAI • Fokus auf der Interaktion zwischen Personen und Systemen • modellieren, automatisieren, warten und überwachen von Geschäftregeln • Evolution von Regelmaschinen • Fokus darauf, wie Entscheidungen getroffen werden Beide können kombiniert werden, um größere Agilität, Flexibilität und Transparenz zu erzielen Business Rules in SOA Composites Different Usage Scenarios Stand Alone From Human Task From BPEL <Insert Picture Here> Oracle Business Rules im Einsatz Die Anforderungen (Delta-) Export Die Umsetzung Event Processing Classification, Correlation and Aggregation Oracle Incoming Events SOASuite Notifications Queries (Business Rules) Raw Events & Merged Documents Oracle Database Machine Batch Export Testaufbau und Architektur Producer VM „O“ Producer OInputMDB OProcessor Notification Sender Consumer VM Consumer NotifyQueue Inqueue VM OPOCINPUT OutputWorker MDB BRCaller Outqueue VM OPOCOUTPUT Notification Forwarder Business Rules Persistence Manager Query WS Query VM Query Client Oracle 11g DB (RAC) SOA/EDA MDS O Schema Überblick Regelbasis • Erzeuge neues MD, wenn nicht nach den Regeln a. – e. ein existierendes MD gefunden wurde • MD gefunden Weitere Regeln auswerten a. Stimmt die Korrelation-ID zwischen dem Ereignis und dem MD überein? b. Stimmen die vorgegebenen Diskriminatoren discr1 | discr2 | discr3 | ... des Ereignisses discr1 | discr2 | discr3 | ... des in a. gefundenen MD überein? c. Prüfung der zeitlichen Korrelation: Das neue Ereignis darf nicht jünger als n Tage hinsichtlich der letzten Änderung am MD sein d. Auswertung von weiteren, komplexen Regeln, die als Zustandsautomat notiert sind, z. B. e. Aufruf einer Java Funktion Die Regeln Regelkonfiguration „O“ ExcelClient JDeveloper Excel Business Rules SOA/EDA MDS Oracle 11g DB (RAC) Die Aktionen <Insert Picture Here> Lasttest-Ergebnisse Verarbeitungs-Performance Verarbeitungs-Performance Vor dem Start des 170 Millionen Events Lasttests wurde ein Performance-Lauf mit 1 Millionen Events durchgeführt. Bei diesem wurden über 3700 Events pro Sekunde verarbeitet (ohne Anlauf- und Abklingphase). Der Graph zeigt die Verarbeitungsgeschwindigkeit pro Sekunde des 1 Millionen Laufs. I/O Performance Storage-Performance Im Lasttest (170 Millionen Events) wurden auf Storage-Ebene bis zu 6200 I/O pro Sekunde bei max. Latenzzeit von 2ms durchgeführt. Bei 8k pro I/O (inklusive Redo-Volumen) kamen wir auf einen Durchsatz von bis zu 70MB pro Sekunde. Insgesamt standen 7 Oracle Exadata-Storage Zellen mit je 12 SAS-Disks (600 GB - 15,000 RPM) und 384 GB Smart Flash Cache zur Verfügung. CPU Performance CPU-Performance Während des Lasttests mit 170 Millionen Events waren im Datenbank/Middleware-Cluster maximal 13 CPU-Cores ausgelastet. Konfiguration: 4 Server mit je 2 Quad-Core CPU (Nehalem) und 72 GB RAM (Datenbank 3 CPU-Cores; SOASuite 10 CPU-Cores). Betriebssystem: Oracle Enterprise Linux 5 (Red Hat). Fragen The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.