Business Rules Engine
| Standaarden | Open source software | Subdomein van |
|---|---|---|
|
Open standaard Vrije specificatie |
Beschrijving
Een Business Rules Engine (of Inference Engine) is een toepassing die instaat voor de pattern matching tussen feiten en businessregels.
Er bestaan verschillende definities voor businessregels. Dit is de definitie gegeven door het bedrijf Business Rule Solutions:
An atomic piece of re-usable business logic, specified declaratively.
Deze definitie bevat 4 belangrijke woorden:
- Atomic: een businessregel kan niet gesplitst worden omdat hij dan semantische waarde verliest.
- Re-usable: een businessregel is niet specifiek voor een toepassing maar kan gedeeld worden door verschillende toepassingen.
- Business: men spreekt van businessregels die dus bestemd zijn voor business-experts. Het zijn dus deze laatsten die ze moeten beheren en daarvoor is een niet-technische weergavetechniek noodzakelijk.
- Declaratively: in tegenstelling tot procedureel. De regels worden op declaratieve wijze weergegeven en niet in de vorm van een opeenvolging van met elkaar verbonden voorwaarden.
Ziehier een voorbeeld van een businessregel:
Een klant die meer dan 10 producten bestelt in één kalenderjaar
moet beschouwd worden als een "gold" klant.
Een businessregel bestaat uit twee componenten:
- Eén of meerdere voorwaarden
- Eén of meerdere acties
Een businessregel maakt voornamelijk twee dingen mogelijk:
- Een beslissing automatiseren (bv.: deze gebruiker is een "gold" klant).
- Een actie opstarten (bv.: een mail verzenden naar een manager om te melden dat een bepaalde voorraad bijna uitgeput is).
Een BRE werkt als volgt:
![]() |
| Basisprincipes van een BRE |
·Regels worden voorgelegd aan de BRE.
- De BRE bepaalt welke regels kunnen worden toegepast op de voorgelegde feiten.
- De BRE maakt een lijst aan van de toepasbare regels: er wordt een agenda aangemaakt.
- Volgens verschillende criteria (prioriteiten, samentrekking, …) wordt een regel van de agenda geselecteerd. Deze stap wordt de conflictoplossing genoemd.
- De geselecteerde regel wordt uitgevoerd en nieuwe feiten worden aangemaakt.
Dit mechanisme waarbij feiten worden aangemaakt op basis van regels en andere feiten wordt "inference" genoemd. Er zijn drie inferencemechanismen:
- Forward chaining
- Backward chaining
- Het Rete-algoritme
BRE's kunnen gezien worden als de directe opvolgers van de Experts Systems (ES). Deze laatste verschenen in de jaren 80 terwijl de BRE's opgang maakten in de jaren 90. In '80 bestond het internet nog niet echt en de informatica was nog niet verbonden zoals vandaag het geval is. De expertsystemen waren dus gesloten systemen en bovendien waren zij gewijd aan specifieke taken, in tegenstelling tot de BRE's die generiek zijn (eenzelfde BRE kan in verschillende domeinen gebruikt worden). Daarnaast hebben ook de verschillende inferencemechanismen zich ontwikkeld, wat de BRE's efficiënter maakt dan de expertsystemen.
Sedert het begin van de jaren 2000 hebben de BRE's op hun beurt een evolutie gekend en zijn zij uitgegroeid tot de BRMS'en. Deze laatste vullen de BRE's aan met een hele reeks functionaliteiten die het beheer van de regels vereenvoudigen: een BRE blijkt wel voldoende om een toepassing te ontwerpen maar zijn functionaliteiten zijn beperkt tot de uitvoering van de regels. De regels makkelijk beheren of onderhouden is niet mogelijk met een BRE.
Rond 2004 ontwikkelde zich het semantisch web. Dit bleek een alternatief te zijn voor de BRE's/BRMS'en voor het beheer van de businessregels.

