Open source-software wordt nog vooral geassocieerd met ontwikkeltools, systeemsoftware en databases. Meer en meer zien we ook open source-applicaties (zelfs erp) hun plaats vinden in de ict-architectuur van organisaties. Onderstaand voorbeeld gaat zelfs nog verder: de succesvolle implementatie van bedrijfslogica of business rules met open source-software.
Een overheidsorganisatie was bezig met het invullen van bedrijfsregels binnen de organisatie. Gedurende het project bleken prioriteiten te verschuiven en ontstond de noodzaak om met beperkte financiële middelen te bewijzen dat een bedrijfsregel-gerichte aanpak zou werken bij de realisering van het vernieuwingsprogramma. De enige optie om de bedrijfsregelaanpak te bewijzen met de beperkte middelen en zonder direct vast te zitten aan een leverancier, was het gebruik maken van een open source-pakket voor de Rule Enige: Drools. Drools (Jboss, laatste versie: 5 van mei 2009) is een 'business logic integration platform' voor rules, workflow en event processing. Drools is een rules engine die gebaseerd is op Charles Forgy's Rete Algoritmen aangepast voor Java. Drools is geschreven in Java en draait op Java en .Net.
De optie kwam ook in beeld door de extra aandacht vanuit de overheid voor open source-oplossingen en het geleidelijk beter wordend beeld omtrent de betrouwbaarheid van open source-oplossingen en de mogelijkheden voor ondersteuning. De open source-oplossing die werd gekozen voldeed aan de minimale vereisten die waren opgesteld voor de selectie van een Rule Engine-pakket (nog voordat er sprake was van open of closed source!), bracht geen extra financiële lasten met zich mee en kon met behulp van de bestaande expertise in de organisatie worden ingezet in het project. De overwegingen om het betreffende open source-pakket te gebruiken waren onder andere de aansluiting op het overheidsbeleid, de inpasbaarheid binnen de proeftuin (Java-omgeving), de ondersteuning voor het één op één vertalen van bedrijfsregels naar executeerbare regels en het voldoen aan de voorwaarden die specifiek zijn opgesteld voor het beoordelen van de kwaliteit van open source-pakketten. Deze voorwaarden hebben betrekking op de beschikbaarheid van ondersteuning, de vraag of het gebruik aansluit bij de kennis en kunde van de medewerkers, of het past binnen het geldende ict-platform, of er sprake is van een bloeiende gemeenschap/community, de kwaliteit van de community, de taal waarin het pakket is geschreven, de volwassenheid (maturity) van het pakket (aangetoond in benchmarks), of het aansluit bij de bedrijfsprocessen en of het past binnen ict- en bedrijfsprocessenarchitectuur. Het gekozen pakket Drools past daarnaast binnen NORA (Nederlandse Overheid Referentie Architectuur).
Drools (de Rule Engine) werd gecombineerd met een wiki (ook open source) waarin de beschrijving van de bedrijfsregels in begrijpelijk Nederlands is vastgelegd. Door de bedrijfsregel-gerichte aanpak ontstond een één op één vertaling van bedrijfsregels naar een eenduidig object/feiten-model dat geautomatiseerd vertaald kan worden naar applicatielogica. De 'business' bepaalt hiermee de logica, het gebruik ervan in systemen, brochures, werkvoorschriften, etc. In ongeveer vier maanden werd de proeftuin ingericht en een grote testset aan regels werkend ingevoerd.
Met deze aanpak mag deze overheidsorganisatie zich een voorloper noemen op zowel het gebied van de bedrijfsregel-gerichte aanpak als de toepassing van open source-tools daarbij. Een voorbeeld dat opvolging zou 'moeten' krijgen in die omgevingen waarin een groot aantal, vaak complexe en veelvuldig wijzigende regels (wet- en regelgeving) steeds weer leiden tot moeizame veranderingstrajecten en kostbare ict-projecten. Wellicht een suggestie voor een gezamenlijk project voor de Nederlandse gemeenten onder leiding van de VNG.
Dit artikel kwam tot stand in samenwerking met de betrokken consultant P. Verhoef van Pragmaat.
Leuk om een keer een artikel te lezen over een echte toepassing. Heb zelf ook wel eens met Drools gewerkt. Vond het niet eens de meest prettige implementatie, maar dat is al weer even geleden. Tijd om er dus nog eens naar te kijken.