szabályalapú üzleti logika - inf.mit.bme.hu · pdf fileadvisor, ms bre,...
TRANSCRIPT
![Page 1: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/1.jpg)
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Szabályalapú üzleti logika
Bergmann Gábor [email protected]
Gönczy László anyagainak felhasználásával
![Page 2: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/2.jpg)
Tartalom
Produkciós rendszerek alapfogalmai
Üzleti szabályrendszerek
Drools
2
![Page 3: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/3.jpg)
Produkciós rendszerek alapfogalmai
![Page 4: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/4.jpg)
Deklaratívan specifikált viselkedés
o imperatív utasítássorozat helyett
o „ha-akkor” szabályokkal
Hol találkozunk szabály alapú viselkedéssel?
o E-mail automatikus szűrőszabályok
o Tűzfal konfiguráció / routing tábla / cron
o MAKEFILE
o Szakértő rendszerek (expert systems)
• Diagnosztika, stb…
o …
Szabály alapú működés
![Page 5: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/5.jpg)
Egy lehetséges kategorizálás
Szabály alapú (rule based) rendszerek
Következtető gépek (inference engines)
Tűzfal, stb.
Hátra láncoló
Prolog, stb.
Előre láncoló / produkciós
Üzleti szabálymotor
Tiszta logikai
![Page 6: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/6.jpg)
Szabály alapú következtető gépek
„Tudásbázis” (knowledge base)
o „Ténybázis” (fact base) / munkamemória (WM)
• Változatos felépítés
o „Szabálybázis” (rule base)
• Szabályok, amelyekkel új tudást lehet kapni
• „Ha”: feltétel rész, precondition, bal oldal (LHS)
• „Akkor”: következmény rész, postcondition, jobb oldal (RHS)
Végül egy következtető mechanizmus
o Előre vagy hátra láncoló
• Előre láncoló: logikai következtetés vagy üzleti szabályok
![Page 7: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/7.jpg)
Példák
Szakértői rendszer (pl. orvosi)
o „Ha egy szerv gyulladt, akkor fájdalmat okozhat”
o „Ha egy szerv gyulladt és aszpirin van a vérben, csökken a gyulladás”
o „Fáj a lábam, mi minden okozhatja?”
o „Ha bevennék aszpirint, mi lenne a következménye?”
Üzleti szabályok
o „Ha az ügyfél sokat roamingol, ajánljunk más tarifát”
o „Ha a járat egyik buszvezetője a többihez képest kiugróan kevés jegyet értékesít, küldjünk rá ellenőrt”
7
![Page 8: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/8.jpg)
Következtetés
Előre láncoló (deduktív/produkciós, adatvezérelt) o A tényekből újabb tényeket képez (produkciós szabály)
o Egy következmény teljesítheti egy szabály feltételrészét
o Analógia: generatív nyelvtan, hatáselemzés
o Ilyenek például a üzleti szabályrendszerek
o Logikai következtetés (vs. üzleti szabály) • ha a feltétel érvénytelenné válik, a következmény is?
Hátra láncoló (abduktív, igényvezérelt) o Egy cél-állítást próbál visszavezetni alaptényekre
o Analógia: parser, diagnosztika
o Ilyen például a Prolog és számos szakértői rendszer
![Page 9: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/9.jpg)
Produkciós rendszer fogalomtár
Munkamemória (working memory, WM) o Folyamatosan változó ténybázis
Aktivált (activated, triggered) produkciós szabály oMinden feltétele ki van elégítve, tüzelhet
Aktiváció o Szabály LHS egy konkrét kielégítő behelyettesítése
o „n-es” (tuple), minden lekötetlen változóhoz egy érték
Tüzelés (firing) o Szabály konkrét végrehajtása egy adott aktivációra
Napirend (agenda, conflict set) o Összes (tüzelésre váró) aktiváció
9
![Page 10: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/10.jpg)
Tipikus produkciós rendszer
WM
Szabály
• Aktiváció
• Aktiváció
Szabály
• Aktiváció
• Aktiváció
Szabály • Aktiváció
Tüzelés Kiválasztás
Szabálybázis
![Page 11: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/11.jpg)
Tipikus produkciós rendszer
Naiv
o Sok esetben elég
Inkrementális
o RETE, TREAT, LEAPS, stb.
WM
Tüzelés Kiválasztás
Szabálybázis
Szabály
• Aktiváció
• Aktiváció
Szabály
• Aktiváció
• Aktiváció
Szabály • Aktiváció
![Page 12: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/12.jpg)
Tipikus produkciós rendszer
WM
Tüzelés Kiválasztás
Szempontok
o Prioritás
o Frissesség
o Szabálycsoportok
Szabálybázis
Szabály
• Aktiváció
• Aktiváció
Szabály
• Aktiváció
• Aktiváció
Szabály • Aktiváció
![Page 13: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/13.jpg)
Tipikus produkciós rendszer
WM
Tüzelés Kiválasztás
Ciklus
o Amíg van tüzelhető szabály
Szabálybázis
Szabály
• Aktiváció
• Aktiváció
Szabály
• Aktiváció
• Aktiváció
Szabály • Aktiváció
![Page 14: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/14.jpg)
Üzleti szabályrendszerek
![Page 15: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/15.jpg)
Business Rule Systems
MVC
M
Üzleti objektumok
Üzleti szabályok
V C
Szabály alapú üzleti logika
![Page 16: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/16.jpg)
Üzleti logika „kiszervezésére” végrehajtató modell
Üzleti objektumokat figyelhet, manipulálhat
Felépítése: haakkor
o „ha az ügyfél 30 év alatti, emeljük 35%-al az ajánlatot”
o „ha az ügyfél egyenlege 500Ft alá csökkent, értesítsük”
o „ha más ügyfél korábban bejelentkezett már azonos lakcímre, nem adunk kedvezményt”
o „ha a hallgatónak legalább húsz lezárt féléve van, nem szerzett aláírást diplomatervezésből és nem kapott köztársasági elnöki engedélyt, akkor megszüntetendő a jogviszonya, feltéve hogy ötéves képzésre jár és az ezt előíró jogszabály hatályba lépése óta kezdte tanulmányait”
Üzleti szabályok
![Page 17: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/17.jpg)
Üzleti szabályok produkciós rendszer szemszögből o „Tények” üzleti objektumok
o Kvázi produkciós szabályok, de RHS tetszőleges akció
o Nem (feltétlen) logikai következtetés • Érvénytelenné váló feltétel, akció hatása mégis megmarad
• Egy aktiváció többször is tüzelhet (pl. addig jár a korsó…)
Üzleti szabálymotor (Business Rules Engine, BRE) o Üzleti szabályokat végrehajtó szoftver
o Produkciós rendszer, a matematikai háttértől elvonatkoztatva, programozási platformként
o Kapcsolat a külvilággal: WM, vagy akciók
Üzleti szabálymotor
![Page 18: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/18.jpg)
Tipikus üzleti szabálymotor működése
18
Ütközésfeloldás
Mintaillesztő
Következtető motor (BRE)
Szabálybázis Ténybázis (WM)
Tények beillesztése/módosítása
Tények beillesztése
Szabályalapon leírt üzleti logika
A következtető kiértékeli a szabályokat a rendelkezésre
álló tényeken
Több egyidejűleg aktivált szabály Konfliktusban lévő szabályok feloldása
Tények kiolvasása
![Page 19: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/19.jpg)
BRE vezérlése
Alapértelmezett: tüzelési ciklus
o Amíg van még tüzelhető szabály
o Vagy STOP szabályig
Komplex rendszer: vezérlési folyam
o Pl. jBPM workflow
o Kiválthatja a bemutatott ciklust
Eseményvezéreltség is elképzelhető
o „Alvó” szabályok
o Külön utasítás nélkül
Szabály
Szabálycsoport
Szabály Szabály
Szabálycsoport Szabálycsoport
![Page 20: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/20.jpg)
Példa alkalmazás
20
http://onjava.com/onjava/2007/01/17/building-enterprise-services-with-drools-rule-engine.html
![Page 21: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/21.jpg)
Self-service portálok
Szabálybázis: jogrendszer / üzletkötési feltételek
Felhasználó kérdez
o Jogosult vagyok-e EVÁra?
oMekkora K+F adókedvezményt kapok a kutatóhelyre?
o Mekkora lesz a kötelező biztosításom?
Bekérendő adatok meghatározása
o Naiv: minden ismert ténytípust, attribútumot bekér
o A kérdésből hátrafele láncolással leszűkíthető (pl. OPA)
Adatok bekérése
Következtetés levonása, eredményjelzés
21
![Page 22: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/22.jpg)
BRMS
BRMS = Business Rule Management System
BRE + kapcsolódó szolgáltatások
Számos termék
o G2, JBoss Rules (Drools), IBM ILOG (J)Rules, Blaze Advisor, MS BRE, TIBCO iProcess, Oracle OPA, stb.
![Page 23: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/23.jpg)
BRMS – szolgáltatások
Szabálytár
o Kereshető, automatizáltan módosítható
o Verziózás
Végrehajtó könyvtár (BRE) végrehajtó szerver
Tool support
o IDE, webes felület
o Template lehetőség, döntési tábla
o Magasabb granularitású szabályok
o Tesztelési támogatás: hatásanalízis / unit test
o Üzleti szótár építése meglévő adatokból
![Page 24: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/24.jpg)
Szabály alapú üzleti logika előnyei
Dedikált szabálytár karbantarthatóság o Üzleti logika könnyebben módosítható
o Pont ez változhat leggyakrabban: új rendeletek, stb.
Redundancia elkerülése o Ugyanaz az üzleti logika sok modulban megjelenhet
Jó esetben az üzleti döntéshozók is tudják olvasni o Sőt, akár írni is: természetes nyelvi verbalizáció,
spreadsheet alapú szabálygenerálás
Hatékony végrehajtás (inkrementális mintaillesztés)
Cserélhető körülötte az architektúra
Eszköztámogatás
![Page 25: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/25.jpg)
Szabály alapú üzleti logika hátrányai
Sorrendiség körülményesebb
o V.ö. imperatív programnyelvekkel
o Megoldás: integráció workflow motorral (ld. Drools) ?
Univerzális absztrakciós nehézségek
o Túl elvont nyelv bizonyos feladatokra alkalmatlan
o Nem elég elvont nem is egyszerűbb, mint a Java
o „Szivárgás” (law of leaky abstractions)
Alkalmazási tapasztalatok nem mindig pozitívak
![Page 26: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/26.jpg)
Felhasználási területek - példák
Biztosítók, bankok
o Kalkulációk kiemelése
o Szabályok következetes kikényszerítése
o Ügyek elbírálásának támogatása
E-Kormányzat
o Regisztráció kiértékelése
o Adó, járulékszámítás
o „Self-service” portálok
Logisztika
o Szállítmányozási döntések támogatása
26
![Page 27: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/27.jpg)
JBoss Drools
![Page 28: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/28.jpg)
Drools
JBoss Drools nyílt forrású termékcsalád
o Drools Expert – szabályvégrehajtó motor (BRE)
o Drools Guvnor – szabálytár (BRMS)
o Drools Flow jBPM 5 – üzleti folyamat végrehajtó
o Drools Planner – megoldástér-bejárás
o Drools Fusion – komplexesemény-feldolgozó
http://www.jboss.org/drools/documentation
28
![Page 29: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/29.jpg)
Drools Expert alapok
Szabályvégrehajtó motor (Java, beágyazható) o WM: POJO üzleti objektumok
Eclipse alapú fejlesztőkörnyezet o Szabály szerkesztő
o Debug támogatás
Szabályok bevitele o Kódolás (Java, mvel) DRL formátum
o Egyszerű GUI-n (Guvnor, BRL)
o Sablon alapján (rule template) • „Természetes nyelvű” szövegből (DSL)
• Döntési táblából (Excel)
29
![Page 30: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/30.jpg)
Egyszerű Drools szabályok rule "We have an honest Politician"
salience 10
when
exists( Politician( honest == true ) )
then
insertLogical( new Hope() );
end
rule "Hope Lives"
salience 10
when
exists( Hope() )
then
System.out.println("Hurrah!!! Democracy Lives");
end
rule "Hope is Dead" when not( Hope() ) then System.out.println( "We are all
Doomed!!! Democracy is Dead" ); end rule "Corrupt the Honest" when politician : Politician( honest == true ) exists( Hope() ) then System.out.println( "I'm an evil
corporation and I have corrupted " + politician.getName() );
modify( politician ) { setHonest( false ) } end
30
![Page 31: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/31.jpg)
Drools döntési tábla
31
Döntési tábla – forrás: spreadsheet o Sok hasonló szabály
• „ha <30 éves és legalább 2 éve ügyfél, kapjon 25%-ot”
• „ha 31-49 éves és legalább 3 éve ügyfél, kapjon 17%-ot”
• …
o Eltérő paraméterek (feltételek, akció részei) • Akár kifejezés, pl. >30
o Üzleti döntéshozó által meghatározandó
![Page 32: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/32.jpg)
További Drools modulok
jBPM 5 workflow: Business Rule Task
Drools Server
o Drools Expert példány Java webalkalmazásban
o Spring / WS / … integráció
Guvnor: a Drools BRMS rendszere
o Szerveroldali modul: Java webalkalmazás
o Szabályok, döntési táblák, stb. rendszerezett tárolása
o Verziókezelés, hozzáférésvédelem
o Kezelés webes/Eclipse kliensből
o Szabálybetöltés, futtatás Expert által (fájl helyett)
32
![Page 33: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/33.jpg)
További Drools modulok
Drools Fusion: CEP (Complex Event Processing)
o Forrásokból heterogén események érkeznek
o Kiegészített szabálynyelv: időablak, eseményviszonyok
• Pl. „ha az elmúlt 3 percben túl sok a sikertelen tranzakció…”
o Események automatikus megőrzése, amíg releváns
33
Eseményforrások
Eseményfeldolgozó
…
Komplex esemény detektálása
![Page 34: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/34.jpg)
További Drools modulok
Drools Planner: optimalizáció
o Alapállapot + változók keresési tér
o Drools szabállyal
• Kényszerek
• Célok
• Akár a lehetséges lépések is
o Kritériumok szerinti optimális megoldás megkeresése
34
![Page 35: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/35.jpg)
Esettanulmány: szabálykiértékelés párhuzamosítása GPU felett
Központi Szabálybázis Felhő kutatás-fejlesztési projekt
(GOP-1.1.1-11-2012-0216, Profitexpert Kft.)
„ Párhuzamos feldolgozásra alkalmas szabálybázis motor kutatása”
37
![Page 36: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/36.jpg)
A feladat
Adott szabályvégrehajtó eszköz (Oracle Policy Automation) működését párhuzamosítani o GPU felett (CUDA)
o OPA input/output feldolgozásával
o OPA-val egyező eredményt adva
… lényegében újraírni o Szabályok feldolgozását (sorrendiség)
o Input feldogozást
o kiértékelést
Modellalapú tervezés vs szabálykiértékelés vs párhuzamosítás vs teljesítménymérés….
![Page 37: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/37.jpg)
CUDA röviden
NVIDIA által kifejlesztett platform o Sokmagos grafikus kártyák
o Saját programozói interfész
Általános célú kód végrehajtása a grafikus processzoron o Nyelvi kiterjesztések használata (C,C++,Fortran, …)
o Ezeket támogató speciális fordító
Jelentős teljesítménynövekedés, ahol o Párhuzamos végrehajtást jól ki lehet használni
o Adat-hozzáférésre és végrehajtásra nézve is jól darabolható
39
![Page 38: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/38.jpg)
Texture memory
Constant memory
Global memory
Architektúra - memória
Grid
Block (0,0)
Thread (0,0)
Thread (0,1)
Shared memory
Registers Registers
Local Memory
Local Memory
Block (0,1)
Thread (0,0)
Thread (0,1)
Shared memory
Registers Registers
Local Memory
Local Memory
Host
![Page 39: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/39.jpg)
Szabálymotor funkcionalitás
Java alapú kódgenerálás
Szabálybázis és entitásmodell független
Szabályok (attribútumok) alapján szétosztás CPU/GPU közt
o Memóriaműveletek számának csökkentése
Szabályok szakértői „jelölése”
Átlátszó működés (OPA input/output)
![Page 40: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/40.jpg)
A prototípus szabálymotor működése
![Page 41: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/41.jpg)
CUDA kód felépítése
![Page 42: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/42.jpg)
Felhasznált technológiák
Eclipse (Java alapú, ingyenes)
o EMF (adattárolás)
o EMF IncQuery (mintaillesztés statikus analízishez)
o XTend (kódgenerálás)
o CDT (C++ fejlesztés)
o NSight Eclipse Edition (CUDA)
MinGW (C/C++ fordító)
![Page 43: Szabályalapú üzleti logika - inf.mit.bme.hu · PDF fileAdvisor, MS BRE, TIBCO iProcess, Oracle OPA, stb. BRMS – szolgáltatások Szabálytár oKereshető, automatizáltan módosítható](https://reader033.vdocuments.mx/reader033/viewer/2022051600/5a8da9457f8b9a7f398c960e/html5/thumbnails/43.jpg)
A prototípus értékelése
Tervezési időben többletköltség
o Méretek: Mintapélda: 440.000 sor generált kód csak a szabály
o Futási idő: C++ build időigényes
Tesztelhetőségre
o Tesztgenerátor (szabálybázishoz entitások)
o OPA/CUDA kimenet összehasonlítás
Futási időben megtakarítást hozhat
Transzparens működés