dr. angster erzsébet angster.erzsebet @ t-logic.hu
DESCRIPTION
Dr. Angster Erzsébet angster.erzsebet @ t-logic.hu. Egy üzleti szabálykezelő rendszer Business Rules Management System TCPS T -Logic C entral P ermissioning S ervice for SO A Óbudai Egyetem, 2013. november. Az üzleti döntéshozó gondolkodása. Kinek kell a szoftver egy nagyvállalatnál? - PowerPoint PPT PresentationTRANSCRIPT
1
Dr. Angster Erzsébet
Egy üzleti szabálykezelő rendszerBusiness Rules Management System
TCPST-Logic Central Permissioning Service for SOA
Óbudai Egyetem, 2013. november
2
Az üzleti döntéshozó gondolkodása
Kinek kell a szoftver egy nagyvállalatnál? • Az üzleti döntéshozónak. Hogy jobban menjen az
üzlet.Hogy gondolkodik az üzleti döntéshozó?• Üzleti folyamatokban
BPM (Business Process Management)• Üzleti szabályokban (döntésekben)
BRMS (Business Rules Management)
Példa: Egy üzleti használati eset
3
Miért fontos a szabályalapú fejlesztés?
Szabályalapú fejlesztés
Az üzletben egy dolog állandó:
AZ ÁLLANDÓ VÁLTOZÁS
A szoftver nagy része üzleti döntés!
Ritkábban változó szoftver elemek:• Folyamat algoritmusa• Entitásmodell (fogalmak, adatok)• Felhasználói felületváltás
Üzleti döntések:• Jogosultság, feladatkiosztás• Értékesíthetőség• Felületi validációk• Törvényi előírások• Döntési fák, igazságtáblák
4
Szabályalapú fejlesztés
Irányelvek
Követelmények
Taktikák
Az informatika segíti az üzleti döntéshozót.De csak akkor, ha kezében tarthatja a döntést!
Többlépcsős közvetítés esetén ez nem megy!
5
Szabályalapú fejlesztés
Alkalmazás / folyamat (kiértékeli a szabályt, és dönt…)
BRMS = Business Rules Management SystemÜzleti szabályokat lehet definiálni, karbantartani és kiértékelni – az alkalmazás kódjától elválasztva.
Üzleti szabályok
Gyakran változó rész
Ritkán változó rész
6
Szabályalapú fejlesztés
Kulcs szempontok:• Szabályok kiszervezése az alkalmazásból
(Oszd meg és uralkodj!)• Szabályok tárolása központi helyen• A szabályt a felelős, szakmailag kompetens
személyek készítsék!• A programozókat lehetőleg ne vonjuk be!
(Az interfészeket megbeszélhetjük:-)
7
Szabályalapú fejlesztés - TCPS
A szabályt a szabályalkotó• megfogalmazza • validálja • „megnyomja a gombot”
FUT A SZABÁLY!
Leíró rész - SzabályalkotóFormális rész - Szabályszerkesztő
<code> <decision/><code>
Félreértetted!Nem ez a lényeg!
Mikor érsz rá?Jaj, ne!
SzabályalkotóSzabályszerkesztő
Programozó
8
Hogyan lesz képes az üzleti fél a szabály megértésre/ validálásra?
Fontos szempontok:• Minden formalizmushoz tartozzon üzleti leírás!• A deklaratív szabály sokkal érthetőbb (ha nincs benne
algoritmus). A kiszervezés is könnyebb.• Oktatás az üzleti fél számára• Szervezett együttműködés, módszertan
Hogy tudjuk segíteni az üzleti felet?
9
TCPS jogosultsági mintaszabály
Feladat:Egy több felhasználós banki rendszerben a hitelügyleteket ki kell osztani bírálatra. A „Hitelbírálat” feladatot XY csak akkor lássa / vállalhassa el, ha a feladat elvégzéséhez van jogosultsága!
Meg kell oldani:• Menüpont/nyomógomb engedélyezett XY számára?• XY megkapja a feladatot a munkakosarába?• XY elvégezheti a feladatot?
TCPS: A rendszer bármely pontján eldönthető, hogy a jogosultságnak van-e még esélye.
Show? Enabled/Disabled?
10
TCPS jogosultsági mintaszabály
A jogosultság üzleti leírása:Egy felhasználónak a hitelbírálat elvégzéséhez akkor van
jogosultsága, ha:• a felhasználó az RMD (Risk Management Department)
munkatársa;• 10M Ft-ig, kockázattól függetlenül az asszisztens, a
csoportvezető és a főosztályvezető is jogosult;• 10M Ft felett, 0.2 kockázatig a csoportvezető és a
főosztályvezető, 0.2 és 0.5 kockázat között csak a főosztályvezető jogosult az elbírálásra.
Az előzőeken kívül elvégezheti még a feladatot "tazo" a bank tulajdonosa is, összegtől és kockázattól függetlenül.
11
TCPS jogosultsági mintaszabály
Szabály: TD_PER_CreditReviewVan-e a dolgozónak jogosultsága a hitelbírálat elvégzéséhez?Döntési tulajdonságok: • UserId, OrgUnit, GroupName
Nem függetlenek! Értékszerzés függvénnyel!• CreditAppHUF, Risk
Alszabály: TD_User• UserId OrgUnit, GroupName• Megj.: Az ilyen jellegű feladatokat általában SOA
szolgáltatások látják el.
12
Elbírálandó hitelügyletek
TCPS jogosultsági mintaszabály
EZ VAN:
Felhasználók
13
XY felhasználó ezen a ponton elvileg bírálhat? Show? Enabled/Disabled?
Szabály hívása a folyamatból:If TD_PER_CreditReview.isAllowedPotentially(UserId)
Show(„Hitelbírálat”)
TCPS jogosultsági mintaszabály
Basa-nak, kova-nak és naan-nak meg sem jelenik
basa, kova és naan user-eknek nem jelenik meg!
14
TCPS jogosultsági mintaszabály
Felhasználó kiválasztja a feladatot (ki tudta választani, mert elvileg elbírálhat).Megjelenik a Hitelügyletek listája. Egy felhasználónak csak azok a hitelügyletek jelennek meg, amelyeket bírálhat.
If TD_PER_CreditReview.isAllowedPotentially( UserId, CreditAppHUF, Risk)
Show(„Hitelbiralat”) „itazo” ezeket bírálhatja
15
TCPS jogosultsági mintaszabály
Hitelügyletek szűrésére egy elegáns megoldás:(1) TD_PER_CreditReview.getConditionToAllowPotentially
(UserId, QDA = CreditAppHUF, Risk)(2) Result Expression Database SELECT
Result Expression
16
Köszönöm a figyelmet!
Angster Erzsébet
vezető szoftver elemző, tervező
T-Logic Kft.