De kern van een BRE: regels automatiseren
Een business rule engine werkt op basis van bedrijfsregels die in het systeem zijn opgeslagen. Deze regels worden geschreven in een begrijpelijke, vaak niet-technische taal, zodat zowel zakelijke als technische teams ermee overweg kunnen. Het proces kan worden opgesplitst in drie hoofdfasen:
- Invoer: De BRE ontvangt gegevens van systemen, gebruikers of andere processen.
- Toepassing van regels: De BRE vergelijkt de invoer met de gedefinieerde bedrijfsregels.
- Uitvoer: Op basis van de regels neemt de BRE beslissingen of genereert de BRE acties.
Bijvoorbeeld: een telefonieleverancier kan een BRE gebruiken om nieuwe klanten een abonnement te laten afsluiten. Invoer (klantgegevens en gewenste abonnement) wordt vergeleken met regels (zoals over kredietwaardigheid en leeftijd), waarna de BRE beslist of de aanvraag wordt goedgekeurd.
Hoe ziet het proces eruit?
Je kunt het werk dat een business rule engine doet vergelijken met het maken van een complex dessert. Je richt een business rule engine in om een – vaak complexe – beslissing te nemen of een complex proces in te richten. Stel je voor dat je een gelaagd ijstaartje wilt maken: een mooie luchtige cakebodem met daarop romig ijs, afgetopt met een dunne knapperige laag chocolade. Voor je dit taartje samen kunt stellen en serveren zul je een paar stappen moeten doorlopen.
Stap 1: Ingrediënten verzamelen
- CRM- of ERP-systemen
- Webapplicaties
- Externe officiële databronnen, bijvoorbeeld het kadaster of het KVK
- Handmatige invoer van gebruikers
In ons voorbeeld van een nieuw telefonieabonnement zou je via een bank (IDIN) de geboortedatum en de bankrekening kunnen importeren. Via het Bureau Krediet Registratie kun je een toetsing doen of iemand eerder ernstige betalingsachterstanden heeft gehad. Om te beoordelen of iemand voldoende inkomen heeft voor een abonnement kun je eventueel een salarisstrook beoordelen. Dat kan door een persoon worden gedaan, maar je kunt een document ook automatisch uit laten lezen door een AI-tool. Databronnen kunnen dus heel erg uiteenlopend zijn van aard. En het is belangrijk dat alle gegevens een duidelijke, unieke naam hebben in het systeem, zodat je de juiste gegevens gebruikt op het juiste moment. Geboortedatum, huidige datum en invoerdatum moeten niet allemaal ‘datum’ heten.
Stap 2: Regels definiëren
Regels beschrijven
De stapjes om tot een beslissing te komen worden in regels vastgelegd. Dit kan in natuurlijke taal, een standaard regeltaal die het systeem begrijpt, zoals Decision Model and Notation (DMN), of een eigen Domain Specific Language (DSL). Bij complexe beslissingen volgen beslisregels elkaar in een logische volgorde op, net als de stapjes in een recept. Een set aan regels moet zo beschreven zijn dat je niet kunt ‘verdwalen’ en per ongeluk een verkeerde beslissing neemt. Denk aan ons recept: in totaal heb je misschien 8 eieren nodig. Maar voor de bodem moet je maar 4 eieren klutsen. Staat er in jouw recept alleen ‘kluts de eieren en voeg de bloem toe’ dan mislukt jouw bodem. Je moet duidelijk maken dat de eerste 4 eieren voor de bodem zijn, zodat je verderop in het recept de andere eieren kunt gebruiken. Je moet in je business rules oppassen dat je geen beslissingen neemt vóór je alle afwegingen hebt gemaakt die voor de beslissing nodig zijn. Bijvoorbeeld: Regel 1: Eerst kijk je hoe oud iemand is door met de geboortedatum en de huidige datum de leeftijd te berekenen. Regel 2: Je vergelijkt die regel met de constante voor minimumleeftijd: 18 jaar. Als iemand niet oud genoeg is wordt de aanvraag afgewezen. Regel 3: Als iemand oud genoeg is controleer je de BKR status. Die moet aan criteria voldoen om door te mogen. Enz. Als een kind van 16 wel een speciaal pre-paid abonnement af mag sluiten, zorg je ervoor dat je dat in jouw regels duidelijk hebt opgenomen. Je wijst iemand onder de 18 niet direct af, maar kijkt eerst of iemand wél ouder is dan 16. De volgorde waarop je regels uitvoert is hierbij belangrijk.
Stap 3: Regels toepassen
- complexe berekeningen
- harde eisen aan de klant, zoals de leeftijd, de kredietwaardigheid en de nationaliteit en woonplaats
- criteria voor een eventueel onderpand, zoals een huis of een auto
- vergelijkingen met tabellen waarin staat hoeveel van het inkomen gebruikt mag worden voor een maandelijkse betaling aan die lening
- criteria voor de totale financiële positie van de klant, bijvoorbeeld voor hoeveel andere leningen er mogen lopen
Een business rule engine voert al die regels uit en houdt bij aan welke regels wel en niet wordt voldaan.
Stap 4: Actie ondernemen
- een database, waarin de beslissing wordt vastgelegd
- het proces/de workflow, zodat de medewerker of de software actie onderneemt naar aanleiding van de beslissing
Een goede business rule engine biedt dan ook oplossingen voor meer dan alleen het definiëren van de juist business rules, maar ook voor de gegevensintegratie voor zowel de invoer als de uitvoer. Idealiter kun je de business rule engine volledig integreren in je workflow en processen.
Blog
Hoe werken business rules?

