Business Rules Engine

19.08.2006  |  Gunnar

Väike ülevaade küllaltki lapsekingades tehnoloogiast nimega Business Rules Engine. Tegemist on tehnoloogiaga, mis seisneb erinevate otsustusprotsesside viimises väljapoole konkreetseid tarkvarasüsteeme. Tarkvarasüsteemid kasutavad otsuste tegemisel spetsiaalseid pluginaid, mis viivad kokku tarkvarasüsteemi poolt toodud andmed ning inimeste poolt defineeritud reeglid.

Sissejuhatus

Wikipedia defineerib Business Rules Engine‘i (BRE) kui tarkvarale lisatava plugina, mis hoiab ärireegleid programmi koodist lahus. Sellise vajaduse tingib asjaolu, et ärireeglid muutuvad valmis ja juurutatud tarkvara korral tihedamini kui programmi kood. Klassikalise näitena tuuakse tavaliselt välja hinnaalanduste ja soodustuste reeglid, mis võtavad arvesse toote hinna, ostetud koguse, kliendi staatuse, soodusmüügi hinna ja muud parameetrid.

Väga hea näite BRE rollist tarkvarasüsteemides annab Microsoft Architecture Resource Center‘is avaldatud artikkel Best Practices for Rule-Based Application Development. Artiklis jagatakse teave kolme liiki:

  1. faktiline teave – faktid ja andmed, näiteks toodete ja klientide kohta;
  2. menetlusteave – teave ülesannete sooritamise kohta, näiteks: kuidas teostada tellimust, kuidas otsida infot veebist või kuidas teostada mõnda konkreetset arvutust;
  3. loogiline teave – teave objektide ja protsesside vaheliste seoste kohta.

Kui faktilise teabe hoidmiseks saame kasutada andmebaase ja muid andmete hoidmise vahendeid ning menetlusteave on meil olemas programmi koodi kujul, siis loogilisele teabele pole seni head kohta olnud. Tavaliselt on loogiline teave viidud programmi koodi. BRE-d on virtuaalsed masinad, mis saavad selle ülesande enda kanda võtta, vabastades meid vajadusest süsteeme uuesti kompileerida, kui meie valduses olev loogiline teave muutub või aegub. Eelmainitud artikkel illustreerib siinkohal tehtud lühikokkuvõtet lihtsasti arusaadavate jooniste ja selgitustega.

Kasutusalad

BRE kasutusalasid on mitmeid. Eeltoodud populaarne näide soodushinna arvutamisest on vaid üks paljudest. BRE aitab meid ka meditsiinis, näiteks sümptomite põhjal võimalike haiguste selgitamisel, dieediprogrammi või ravikuuri pakkumisel. Samuti saab sarnasele kui-see-siis-tee-seda mudelile viia klientide boonuste arvutamise boonusprogrammides ja preemia arvutamine töötulemuste põhjal.

Mainitud mudel on olemuselt nii üldine, et sellele saab taandada paljud otsuse tegemise mehhanismid. Kui vaatame toodud näiteid, siis on selge, et uue teabe ilmemisel või uute otsuste vastuvõtmisel võivad reeglid muutuda või täieneda. BRE pakub meile välja suurepärase võimaluse uuendada loogilist teavet ilma, et peaks tellima uuendusi olemasolevale tarkvarasüsteemile.

Loogilise teabe muutmine just nende inimeste poolt, kes antud teavet valdavad ja selles hästi orienteeruvad, on igati mõistlik lähenemine. Tarkvarasüsteemid, mille üheks koostisosaks on BRE, võivad pakkuda kasutajatele võimalust uute reeglite analüüsimiseks ja erinevate mis-siis-kui stsenaariumite läbimängimiseks enne, kui uued reeglid süsteemis ametlikult jõustatakse. Analüütikutel oleks sellise võimaluse üle kindlasti hea meel.

Teostus

BRE, nagu eelpool mainitud, on plugin tarkvarasüsteemis, mis oskab etteantud teavet kasutades ja etteantud reegleid arvestades teha mingeid otsuseid. Tõenäoliselt on BRE üks süsteemi komponent, mida te eraldiseisva tükina ei näe, sest andmed ja käivitamiskorralduse annab talle tarkvara, mida kasutate.

Et inimene saaks reegleid defineerida, peavad reeglid olema kuskil sellises kohas, kuhu pääsevad juurde nii tarkvara, mida kasutate, kui ka teie ise. Reeglite defineerimiseks on loodud märgikeel RuleML, mis baseerub XML-standardil. XML on mittetehnikutele käsitsi koostamiseks võõras ja võib-olla isegi keerukas, kuid see-eest on võimalik mõnede modelleerimisvahendite jaoks tõmmata RuleML-i töölaud, mille abil saab otsuste tegemise skeeme koostada inimesele lihtsasti arusaadaval kujul.

Näiteks on NxBRE nimelisel BRE-l olemas MS Visio modelleerimistarkvara tugi. NxBRE on .NET port Java projektile JxBRE. Ekraanivaateid saab vaadata siit. Allolev joonis on näide sellest, milline näeb välja NxBRE-ga kaasasoleva allahindluse näite reeglite skeem.

Discount rules example

Loodetavasti lisandub RuleML tugi selle tehnoloogia populaarsemaks muutumisel ka paljudesse teistesse modelleerimise programmidesse.

Kokkuvõte

BRE tehnoloogia püüab täita tühimiku loogilise teabe salvestamisel ja dünaamilisel haldamisel ilma, et oleks vaja vastava toega süsteeme peale loogilise teabe muutumist uuesti täiendada ja kompileerida. Modelleerimisvahendite tugi muudab BRE kasutatavaks ka teistele inimestele peale IT-spetsialistide. Samas toob modelleerimisvahendite kasutamine kaasa otsustusprotsesside visualiseerimise, mis muudab need omakorda lihtsamini loetavamaks ja arusaadavamaks. BRE on alles noor tehnoloogia, millel tundub olevat tulevikus oma koht erinevates tarkvarasüsteemides.

Kommenteeri

sulge
Saada link e-postiga

© DT 2012 | Creative Commons Attribution-Noncommercial 3.0 License | WordPress