160 likes | 307 Views
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?
E N D
Dr. Angster Erzsébet angster.erzsebet@t-logic.hu Egy üzleti szabálykezelő rendszer Business Rules Management System TCPS T-LogicCentralPermissioningService for SOA Óbudai Egyetem, 2013. november
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
Szabályalapú fejlesztés Miért fontos a szabályalapú fejlesztés? A szoftver nagy része üzleti dönté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 Az üzletben egy dolog állandó: AZ ÁLLANDÓ VÁLTOZÁS Ritkábban változó szoftver elemek: • Folyamat algoritmusa • Entitásmodell (fogalmak, adatok) • Felhasználói felületváltás
Szabályalapú fejlesztés Követelmények Irányelvek 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!
Szabályalapú fejlesztés 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 Alkalmazás / folyamat (kiértékeli a szabályt, és dönt…)
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:-)
Szabályalapú fejlesztés - TCPS Formális rész - Szabályszerkesztő Leíró rész - Szabályalkotó A szabályt a szabályalkotó • megfogalmazza • validálja • „megnyomja a gombot” • FUT A SZABÁLY! Szabályalkotó Szabályszerkesztő Programozó Félreértetted! Nem ez a lényeg! Mikor érsz rá? Jaj, ne! <code> <decision/> <code>
Hogy tudjuk segíteni az üzleti felet? 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
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?
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.
TCPS jogosultsági mintaszabály • Szabály: TD_PER_CreditReview • Van-e a dolgozónak jogosultsága a hitelbírálat elvégzéséhez? • Döntési tulajdonságok: • UserId, OrgUnit, GroupNameNem 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.
TCPS jogosultsági mintaszabály EZ VAN: Elbírálandó hitelügyletek Felhasználók
TCPS jogosultsági mintaszabály • XY felhasználó ezen a ponton elvileg bírálhat? • Show? Enabled/Disabled? • Szabály hívása a folyamatból: • IfTD_PER_CreditReview.isAllowedPotentially(UserId) • Show(„Hitelbírálat”) basa, kova és naan user-eknek nem jelenik meg! Basa-nak, kova-nak és naan-nak meg sem jelenik
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
TCPS jogosultsági mintaszabály • Hitelügyletek szűrésére egy elegáns megoldás: • TD_PER_CreditReview.getConditionToAllowPotentially (UserId, QDA = CreditAppHUF, Risk) • ResultExpression Database SELECT ResultExpression
Köszönöm a figyelmet! Angster Erzsébet vezető szoftver elemző, tervező T-Logic Kft. angster.erzsebet@t-logic.hu