Reading Progress:

GOLE: de manier om bedrijfsprocessen in kaart te brengen en te vertalen naar software

door | 28 mrt 2022

GOLE: van procesmodel naar software

GOLE is een volledig grafische modelleringstaal waarmee geheel automatisch een bijbehorende IT-implementatie gegenereerd kan worden. Vanuit GOLE kan een volledig procesmodel direct vertaald worden naar foutloze blockchaincode middels de OLE-compiler. Het resultaat is een exacte technische weerspiegeling van het GOLE-model in de vorm van een workflow software oplossing. Daarnaast is het een zeer gebruiksvriendelijke manier om processen overzichtelijk en volledig weer te geven. Deze blog geeft meer informatie over GOLE en hoe het tegenover andere modelleertalen staat.

De wereld van procesmodelleren

In een vorige blog zijn we ingegaan op het belang van een goede modelleringstaal voor bedrijfsprocessen. We willen in zo’n taal vastleggen hoe het proces begint (de begintoestand), en wanneer er uiteindelijk sprake is van zowel een succesvol als een non-succesvol einde van het proces (een eindtoestand van het proces). Tussen begin- en eindtoestand van een proces, is er een sequentie van de te doorlopen stappen, waaronder ook beslissingsmomenten, waarin men een keuze moet maken in een te volgen vervolgpad van het proces.

Er bestaan zeer veel procesmodelleringstalen. Zo is er een heel scala van procestalen uit de UML-familie, maar er is ook een de facto standaardtaal voor het modelleren van bedrijfsprocessen, geheten BPMN (Business Process Modeling and Notation). BPMN is ontwikkeld door het gezaghebbende orgaan OMG (Object Management Group). BPMN heeft als grote bijdrage vooral geleverd dat men niet alleen moet denken in termen van sequenties van stappen, maar ook moet denken in termen van een verantwoordelijke partij voor elke uit te voeren stap in het proces. In BPMN kennen we zogenaamde swimlanes: een swimlane wordt genoemd naar de partij die een stap moet uitvoeren, en elke stap komt terecht in precies één swimlane. Zo kun je o.a. de volgende swimlanes onderscheiden: de inkoper, de producent, de vervoerder en de klant. Swimlanes gaven de mogelijkheid om op een meer gestructureerde manier na te denken over de inrichting van processen.

BPMN heeft echter ook bepaalde tekortkomingen. Zo lang als het te modelleren proces klein is, zijn BPMN modellen prima te lezen, maar als het proces groter wordt (meer swimlanes, meer stappen) dan wordt het model steeds minder goed leesbaar door een niet te ontkomen wirwar aan verbindingslijnen tussen de ene stap en een vervolgstap wanneer die stappen zich in andere swimlanes bevinden. Kortom, BPMN schaalt niet op naar grootte. Nog een tekortkoming van BPMN is de data: BPMN beperkt zich puur tot het beschrijven van proces flow, en doet zo goed als niets als het gaat om het beschrijven van data dat door het proces stroomt. Ook kun je in BPMN geen bedrijfslogica beschrijven. Bedrijfslogica vertelt je hoe -per stap in het proces- data als input bij een stap binnenkomt, om vervolgens via bedrijfsregels wordt verwerkt tot output van die stap. Kortom, BPMN vertelt je niets over de interne verwerking van data binnen een stap van het proces. Deze tekortkomingen laten dan ook duidelijk zien dat BPMN onvolledig is in het beschrijven van een bedrijfsproces.

GOLE: de stap naar een overzichtelijk en volledig procesmodel

Simpel GOLE-procesmodel
Simpel voorbeeld van een GOLE-procesmodel

GOLE is een taal ontwikkeld om de tekortkomingen van BPMN als procesmodelleringstaal aan te pakken. Zo kent GOLE geen swimlanes, maar in plaats daarvan koppelt men iedere stap apart aan een zogenaamde rol. Dus een stap in GOLE is altijd een paar: de stap samen met een rol die verantwoordelijk is om de stap uit te voeren. Op deze manier vermijd je de in BPMN kenmerkende wirwar van kruisende verbindingslijnen tussen stappen. Ook is GOLE voorzien van een data-component: er stromen gegevens door een proces, en in GOLE kan men heel precies modelleren hoe de structuur van die gegevens eruitziet. Ook kent GOLE een precieze modellering van de gehanteerde bedrijfslogica binnen een processtap. Bij iedere processtap in GOLE kun je zien welke data er bij die stap ingaat, en welke bedrijfsregels er vervolgens worden gehanteerd om die data te verwerken tot output-data. Kortom, GOLE geeft een compleet beeld van procesflow, data en bedrijfslogica. GOLE geeft bovendien de mogelijkheid om vanuit een GOLE procesmodel geheel automatisch een bijbehorende IT-implementatie te genereren. Kortom, GOLE levert een volledig model-gedreven werkwijze voor IT-implementaties van bedrijfsprocessen.

In een volgende blog zullen we dieper ingaan op de manier waarop men binnen GOLE met data en bedrijfslogica omgaat.

Reading Progress: