Nieuws

Haal de business rules weg uit het programma

 

Software-toepassingen ondersteunen de bedrijfsprocessen. De bedrijfsprocessen bevatten bedrijfsregels: regels over gegevens, processen, berekeningen en gebeurtenissen, en die vindt men terug in de programmacode van de toepassingen. Vele van die bedrijfsregels horen niet thuis in de code, maar zouden beter afzonderlijk beheerd en geïmplementeerd worden.

Business rules komen overal voor, zowel in overheidsinstellingen als in bedrijven. De Belgische overheid, bijvoorbeeld, gebruikt een groot aantal regels bij de berekening van belastingen, RSVZ-bijdragen en pensioenen. Ook bij het toekennen van studiebeurzen komen heel wat regels kijken, en bij de uitkeringen van het RIZIV aan de ziekenfondsen. Ook de Europese overheid heeft er een handje van weg om voor elk mogelijk voorval een regel te bedenken. In de bedrijfswereld heeft elke firma haar eigen regels, onder andere over de te nemen voorzorgen bij een levering zonder voorafbetaling en over kortingen aan goede klanten.

WEG UIT DE PROGRAMMACODE
Die regels maken een belangrijk deel uit van het functioneren van een overheidsinstelling of een bedrijf, en vele ervan vinden hun weerslag in de softwaretoepassing waarmee de gegevens verwerkt worden. Business rules die de vorm hebben van berekeningen, beslissingen, validaties, beperkingen, procesregels of autorisatielogica.

Sinds enkele jaren gaan er stemmen op, zowel in de zakenwereld als in de academische wereld, die aanbevelen om de bedrijfsregels uit de code van het programma weg te halen. Men zou ze dan moeten documenteren, beheren en formuleren in een andere vorm, bijvoorbeeld in regels of tabellen, die door de programma’s van één of meerdere toepassingen gebruikt worden.

VOORDELEN VAN DEZE AANPAK
Waarom zouden bedrijven dat doen? We vroegen het aan prof. dr. Jan Vanthienen, hoogleraar beleidsinformatica aan de KULeuven. Zijn onderzoeksactiviteiten hebben betrekking op business intelligence, business rules en informatie- en kennismanagement. Jan Vanthienen: ‘Het is een manier om bestaande rules in een bedrijf expliciet te maken, ze te beheren en te documenteren. Men kan de regels ook publiceren, zodat iedereen in het bedrijf het over dezelfde regels heeft. Zo is er ook een betere afstemming tussen de regels zoals ze bedoeld werden door de business en de regels zoals ze toegepast worden door de IT.’ Zijn de business rules eenmaal goed beschreven, dan kan men ze ook bespreken en evalueren, en waar nodig veranderen.

Nog een situatie waarin deze aanpak nuttig is: wanneer twee bedrijven samengaan, is het zeer belangrijk dat men de rules die aan weerskanten gebruikt worden beschrijft op een expliciete, ondubbelzinnige manier. Dan kunnen ze worden besproken en nieuwe rules kunnen worden bepaald voor het gefusioneerde bedrijf. Vanthienen: ‘Ook bij het opstellen van nieuwe rules is het belangrijk om ze op een formele manier te documenteren. Alleen zo is het mogelijk om na te gaan of men wel alle gevallen voorzien heeft en de rules geen contradicties bevatten. Zeker als er veel of complexe regels worden gehanteerd, zoals bij de Belgische of Europese overheid.’

Nog een goede reden: regulatory compliance. In de hoop misbruik en oplichterij te beperken vaardigen diverse overheden sinds enkele jaren regels uit. Bijvoorbeeld, van elk getal in een financiëel rapport moet men de oorsprong kunnen achterhalen (Sarbanes-Oxley, voor bedrijven genoteerd op een beurs in de USA), banken zijn wettelijk verplicht zich in te dekken tegen operationele risico’s (Basel II). Om aan alle normen te voldoen, om ‘compliant’ te zijn en dat te kunnen bewijzen, moet een bedrijf vele bedrijfsregels opstellen en opvolgen. En wat betekent dat voor de ontwikkelaar? ‘Die krijgt het gemakkelijker, eens de business rules zich niet meer in de programma ‘s bevinden, maar in een business rules repository’, aldus Vanthienen. Business rules worden vandaag geimplementeerd op verschillende plaatsen in een toepassing, in verschillende programma’s. Dat maakt het moeilijk om ze te vinden en te begrijpen, vooral als de toepassing onvoldoende gedocumenteerd is. Het wordt ook riskant om ze te veranderen. Zijn de business rules gemakkelijk te vinden en te wijzigen, dan verhoogt dat beslist de levensduur van de toepassing.

BUSINESS / IT ALIGNMENT
In een groot bedrijf wil het wel eens gebeuren dat de IT-afdeling een wereld op zich wordt, die zelf prioriteiten bepaalt en budgetten beheert. De aanpak business / IT alignment betekent dat de acties van de IT-afdeling beter moeten aansluiten bij de prioriteiten van de business, maar ook dat de business mensen meer greep willen hebben op de gegevensverwerking die de toepassingen uitvoeren. Jan Vanthienen: ‘Het idee om business rules uit de programmacode weg te halen sluit daarbij aan. Maar dat impliceert dan ook dat er aan de kant van de business iemand moet zijn die de verantwoordelijkheid wil dragen voor de rules, bijvoorbeeld iemand die de details van de verwerking kent, een domeinexpert, jurist of andere specialist, naargelang het geval.’

IMPLEMENTATIE VAN BUSINESS RULES
En hoe wordt dat geïmplementeerd? ‘Vendors leveren componenten zoals business rule repositories en rule engines, maar dat is slechts een deel van de oplossing’, zegt Vanthienen, ‘Een moderne bedrijfsarchitectuur bestaat uit componenten, services en procesbeheer, dus Service Oriented Architecture. Het moment waarop een regel dient te worden nageleefd is een beslissingspunt. Dergelijke beslissingspunten dienen te worden onderschept, bijvoorbeeld met een event-gebaseerd mechanisme, waarbij op dat moment de naleving van bedrijfsregels kan worden gegarandeerd.’

AANBEVELINGEN
Voor u een toepassing schrijft, maakt u eerst modellen van de gegevens en de bedrijfsprocessen. Met business rules werkt men op dezelfde manier. Men kan modellen bouwen met tekst, boomstructuren, tabellen en diagrammen, maar ook met de Object Constraint Language, een onderdeel van UML. Vanthienen: ‘Het is beter business rules te documenteren en te formuleren op een manier die technologie-onafhankelijk is, zodat ze kunnen worden gebruikt in verschillende systemen. Dat is bijvoorbeeld nuttig bij berekeningen van de overheid, die overgedaan worden bij sociale secretariaten, ziekenfondsen en boekhoudkantoren.’

Niets duurt eeuwig, ook business rules niet. De markt verandert, de normen van de klanten veranderen, de directie van het bedrijf verandert van mening. Ook regels van de overheid komen te vervallen en worden vervangen door andere regels, die op een bepaalde datum in voege treden. Het is dus nodig om aan versiebeheer te doen: elke business rule heeft een start- en einddatum. Jan Vanthienen: ‘Net zoals databeheer in de jaren 1970, en procesbeheer in de jaren 1990 is het nu de beurt aan business rules om gescheiden van de applicatiecode beheerd te worden.’

Christiane Vandepitte (Christiane.Vandepitte@skynet.be) is zelfstandig consultant.

businessitprofessional

Gerelateerde artikelen

Volg ons

€350 korting op de Tenways CGO600

€350 korting op de Tenways CGO600

Bekijk de CGO600