Follow Us on Twitter

Verbal Business Rules in BPM 12c

Maart 2015 - In diverse bedrijven worden bedrijfsregels oftewel business rules toegepast. Een bedrijfsregel beschrijft de voorwaarden van een beslissing, die de uitvoering van een bedrijfsproces beïnvloedt.

Een voorbeeld: in het bedrijfsproces voor declaraties moet een manager goedkeuring geven voor de uitgaven. De hoogte van het bedrag waarvoor een goedkeuring gegeven moet worden is dan een bedrijfsregel. Dat voor een declaratie een goedkeuring vereist is, is een beslissing vanuit de organisatie.

De logica van de bedrijfsregel zal niet snel wijzigen. De hoogte van het bedrag kan wel gewijzigd worden.

Voorbeelden waar bedrijfsregels van toepassing zijn:

  • Risico bepaling
  • Bedrijfsregels voor goedkeuring
  • Configuratie van producten
  • Toekennen van taken/opdrachten

Het vertalen van de business rules naar een implementatie is lastig en leidt vaak tot foutieve implementaties. Binnen het BPM- en SOA-platform van Oracle bestaat daarvoor al een tijd Oracle Business Rules. Sinds Oracle BPM 12c is daaraan een nieuw type toegevoegd, de Verbal Rules.

Dit Whitebook geeft een introductie van Verbal Rules. Allereerst wordt er in het kort Oracle BPM besproken, daarna Oracle BPM in combinatie met Oracle SOA Suite. Tenslotte wordt verder ingegaan op Oracle Business Rules en wordt er een voorbeeld van Verbal Rules gegeven.

Business Process Management

Business Process Management oftewel BPM is bedoeld voor het optimaliseren van bedrijfsprocessen vanuit diverse systemen en met behulp van mensen door de gehele organisatie. Deze bedrijfsprocessen zijn gericht op de doelen en strategie van de organisatie en middels BPM zijn deze bedrijfsprocessen zeer efficiënt te maken. Belangrijke pijlers voor het optimaliseren van deze bedrijfsprocessen zijn systemen, mensen en informatie.

De vijf voordelen van BPM zijn: proces-standaardisatie, continu verbeteren van bedrijfsprocessen, samenwerking tussen business en IT, operationele efficiency en het meer "wendbaar" (Agile) maken van de organisatie.

Oracle BPM Suite bestaat o.a. uit: BPM Studio (JDeveloper), Process Composer, Process Analysis en Process Workspace. Voor meer informatie zie de referentie onderaan dit Whitebook.

Oracle BPM en Oracle SOA Suite

De onderdelen van Oracle BPM Suite en Oracle SOA Suite kunnen gebruik maken van elkaar, zoals Human Workflow, Events en Business Rules. De proces orchestrator voor BPMN processen en de proces orchestrator voor BPEL processen uit de SOA Suite maken gebruik van hetzelfde runtime platform, inclusief threading, dehydration en auditing mechanismen.

Voor Business Rules geldt dan dat dit component aangeroepen kan worden via een Human Task, via de Mediator, vanuit BPEL en BPMN. Ook kunnen de Business Rules ontsloten worden door middel van een webservice interface.

Oracle Busines Rules

Wanneer een bedrijfsregel met behulp van Oracle Business Rules wordt uitgevoerd, wordt er een set van regels uitgevoerd. De volgorde van uitvoeren kan door de gebruiker geregeld worden. Bijvoorbeeld wanneer een gebruiker weet dat een bepaalde regel 80% van het aantal keren geraakt wordt, kan deze regel als eerste worden uitgevoerd. De in- en output van bedrijfsregels in Oracle Business Rules heten respectievelijk input en output facts. Deze zijn gebaseerd op een XML-schema.

Via de Proces Composer zijn de Business Rules te wijzigen. Dit geldt voor Verbal Rules, General Rules en Decision Tables. Dit houdt dan ook in dat deze Rules beschikbaar zijn voor een business analist. Door in de Business Rules gebruik te maken van globalen en valuesets (in 11g bucketsets; een bereik van waarden) is het voor de business analist nog makkelijker om de Business Rules aan te passen.

Oracle Business Rules ondersteunt drie typen regels.

Verbal Rules

Verbal Rules zijn bedrijfsregels die gebaseerd zijn op natuurlijke taal. De bedrijfsregels worden opgesplitst in zinnen. Deze zinnen worden dan 1-op-1 overgezet naar Verbal Rules. Voor deze zinnen hoeft geen technische vertaling plaats te vinden zodat ook bijvoorbeeld een business analist de regels zelf kan definiëren. De regels moeten wel in het Engels beschreven worden.

Bij het maken van een Verbal Rule geeft het systeem suggesties op basis van de input fact. Verbal Rules werkt samen met Business Phrases. Een Business Phrase is een mogelijkheid om de bedrijfsregel op te splitsen in stukken zodat alle (technische) logica van de bedrijfsregel in de Business Phrase staat. Dit betekent dan dat de Verbal Rule overzichtelijk blijft zodat het voor een business analist makkelijker is om zelf regels te maken. Een voorbeeld van een Business Phrase is dat korting voor een klant wordt berekend op basis van zijn aankopen.

De Business Phrases kunnen vooraf gemaakt worden of tijdens het maken van een Verbal Rule. Een Business Phrase bestaat uit drie onderdelen:

  • Parameters; parameters voor de Business Phrase
  • Value; de Business Phrase expressie die wordt getoond in de Verbal Rule
  • Mapping; de implementatie van de Business Phrase.
    In de editor kan er ook aangegeven worden of er alleen de eigen gedefinieerde Business

Phrases getoond moeten worden en / of ook de Business Phrases die zijn gebaseerd op suggesties door de editor. De Business Phrases zijn los te testen vanuit JDeveloper.

General rules

Dit type rules wordt getoond als if/then statements. De if/then statements zijn makkelijk te bouwen en te lezen. Door gebruik te maken van built-in functies wordt het eenvoudig om complexe condities te bouwen. Dit kan gedaan worden via de Advanced checkbox en er kan gebruik gemaakt worden van while-loops, foutafhandeling, etc.

Decision Tables

Een Decision Table is in feite een beslistabel. Dit is een alternatief voor het if/then formaat. Een Decision Table is gemakkelijk te begrijpen voor business analisten die werken met spreadsheets omdat de opzet van een Decision Table lijkt op een spreadsheet. Bovenin de Decision Table worden de condities gezet en onderaan de uitkomst. Door de opzet van de Decision Table kunnen er meerdere rules snel worden toegevoegd of aangepast.

Het voordeel van een Decision Table ten opzichte van een if/then statement is dat bij meerdere rules een if/then statement onoverzichtelijk wordt. Een bijkomend voordeel is dat Decision Tables controleert of er overlap is óf er juist gaten zitten in de condities.

Ook zijn Decision Tables te exporteren naar Excel of te importen vanuit Excel.
Dit type wordt gebruikt voor bedrijfsregels waar veel in- én output te verwachten valt.

Binnen Oracle Business Rules is er een uitgebreide mogelijkheid om de bedrijfsregels te testen. Dit geldt voor alle drie type regels. In de editor kan er een test suite aangemaakt worden. In een test suite kunnen er dan meerdere test cases gemaakt worden. Ook is het mogelijk om test templates te maken. Door gebruik te maken van een template kunnen de waarden voor het testen van een rule hergebruikt worden. Deze testen worden mee opgeleverd bij een deployment. Bij een wijziging van een bedrijfsregel kan een business analist één of meerdere test suites draaien vanuit de Proces Composer om de wijziging te controleren aan de hand van de test suites.

Deze testen zijn niet los aan te roepen vanuit een Continuous Integration tool.

Voorbeeld van Verbal Rules

De bedrijfsregel die wordt getoond in het voorbeeld is de volgende:
Bij het aanvragen van een polis voor een basisverzekering bij een zorgverzekeraar moet iemand volwassen zijn. Als dit het geval is, dan is het een valide polis.

Voor de implementatie van de bedrijfsregel geldt dan de polis van het type "Basis" is en dat de leeftijd van de verzekeringsnemer 18 jaar of ouder is.

Voor er begonnen kan worden met Verbal Rules moeten er achtereenvolgens een Business Component, twee Business Objecten (gebaseerd op een XSD) en twee Data Objecten gemaakt worden.

Verbal Rules

Hierna wordt er voor volwassen leeftijd en voor type verzekering een global gebruikt. Deze global kan de business analist aanpassen in de webbased Process Composer zodat de business rules niet opnieuw gedeployed hoeven te worden bij een wijziging.

Globals

Nu wordt er een Business Phrase gemaakt. Deze is gebaseerd op de global. Bij Value komt de tekst te staan die in de Verbal Rule komt. Door verschillende Business Phrases aan elkaar te koppelen, kunnen er natuurlijke zinnen gemaakt worden.

Business Phrase

Hierna kan begonnen worden met het maken van de Verbal Rule. Bij het maken van een Verbal Rule worden de suggesties getoond.

Maken van de Verbal Rule

Hieronder de Verbal Rule; Na de and staat de Business Phrase.

Overzicht Verbal Rule

Wanneer de Verbal Rule af is, kan deze getest worden door de Test module in Business Rules.

Eerst moet er een Test Suite aangemaakt worden, en daarna een TestCase.

Verbal Rule Test Case

Uitkomst test:

Test Case Resultaat

Conclusie

Verbal rules zijn een goede aanvulling op Oracle Business Rules. Door gebruik te maken van natuurlijke zinnen is de vertaling van de bedrijfsregels naar de implementatie hiervan een stuk makkelijker te realiseren. Ook kunnen de business analisten de bedrijfsregels beter lezen zodat er minder fouten optreden. Het implementeren van bedrijfsregels zonder Verbal Rules is lastig en de vertaling van deze bedrijfsregels naar de implementatie kan snel tot fouten leiden. Nadeel is wel dat er nu alleen gebruik gemaakt kan worden van bedrijfsregels die geschreven zijn in het Engels.

Referenties

Waardering:
 

Reacties

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.