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.