Low-code is hot, en dat is niet vreemd. Low-codeplatformen maken het ontwikkelproces sneller door het automatiseren van tachtig procent van de repetitieve programmeerwerkzaamheden. Hierdoor kunnen ontwikkelaars zich richten op de overgebleven twintig procent die specifiek is voor de applicatie die ze ontwikkelen. Met low-code kun je ook complexe applicaties bouwen om regel- en data-intensieve processen te automatiseren. Hoe je dat doet, lees je deze blog.
Core-applicaties moeten exact aansluiten op de context van de organisatie. Dat kan door gebruik te maken van de krachtige combinatie van data en bedrijfsregels, die een robuust framework vormen waarin het datamodel en de bedrijfsregels zijn gecombineerd. Denk aan processen op een luchthaven. Vanaf het moment dat je bij de self-servicebalie je koffer incheckt, ‘stroomt’ data door tientallen applicaties. Elke keer dat je je instapkaart voor een poortje houdt of dat jouw koffer met unieke code langs een poortje komt, wordt data verrijkt en doorgestuurd naar een volgende applicatie.
Met low-code op basis van businessregels kun je niet alleen een complete applicatie bouwen, maar ook headless microservices die ervoor zorgen dat andere applicaties op de juiste manier data uitwisselen. Het zou voor de luchthaven bijvoorbeeld jaren duren om alle bestaande applicaties te vervangen. Het is veel sneller om de functionaliteit uit de bestaande applicaties te behouden en ervoor te zorgen dat ze door nieuwe microservices informatie met elkaar uitwisselen.
Vier stappen naar een complexe core applicatie
Met low-code kun je dankzij de business rule-aanpak applicaties ontwikkelen voor specifieke regel- en data-intensieve situaties. Dit doe je in vier stappen
- Wat wil je bereiken?
Je begint met nadenken over wat je met de applicatie wilt gaan doen. Wat willen we precies bereiken? En hoe hangt dit samen met de andere processen in ons bedrijf?
- Business rules
Als je weet wat het doel is van de applicatie, bedenk je in stap 2 welke regels (business rules) er in deze specifieke case gelden. Deze bedrijfsregels leg je vast op een centrale plek.
- Het datamodel
Vervolgens beschrijf je de data die je nodig hebt om het proces uit te voeren en de manier waarop je die data gaat vastleggen. Ofwel: je omschrijft het datamodel. Welke tabellen gebruik ik? Welke veldtypen zitten er in zo’n tabel? Heeft een veld een een-op-een-relatie met een ander veld of een een-op-meer-relatie? En in welke andere tabellen bevinden die velden zich dan? Anders dan bij traditioneel ontwikkelen hoef je hier geen code voor te schrijven, je klikt het datamodel eenvoudig bij elkaar. Let op, dit is geen taak die citizen developers ook wel kunnen uitvoeren, je hebt grondige kennis van relationele modellen nodig om een (goed) datamodel te ontwikkelen. Conceptueel moet je weten waar je mee bezig bent.
- Technische uitwerking
De laatste stap is om de in stap 2 beschreven regels technisch uit te werken. Op dit punt komen de business rules en het datamodel samen en bouw je dus de applicatie. Daarbij hoef je als ontwikkelaar niet continu groot te denken over hoe een onderdeel samenhangt met andere onderdelen in de applicatie. Je kunt je steeds opnieuw focussen op het technisch uitwerken van één business rule. Als deze business rule conflicteert met een andere regel, dan blijkt dat vanzelf.
Safaritenten
Als voorbeeld een resort. In de eerste stap beschrijf je het doel van de applicatie: wat wil het resort allemaal met de applicaties kunnen doen? Daarna definieer je business rules, bijvoorbeeld: hotelklanten mogen gratis gebruikmaken van de wellness; klanten uit het huisjespark en in de safaritenten betalen een bepaald bedrag. Deze regels worden vastgelegd in gewone, begrijpelijke taal. In het datamodel beschrijf je welke data je nodig hebt: klantdata uit het crm-systeem, transactiedata van alle kassa’s op het resort, reserveringsdata van de boekingssites waar het resort bij is aangesloten, et cetera. In de laatste stap koppel je de business rules en het datamodel door elke regel apart technisch uit te werken. In deze stap komen ook de conflicterende business rules aan het licht.
Deze wijze van software-ontwikkeling plaatst de data altijd op de eerste plek. Je denkt na over de regels in bepaalde stukjes data, de rules engine laat alle losse stukjes tegelijk werken. De rules engine bekijkt alle informatie en pas als alles klopt, worden de data gewijzigd. In deze aanpak modelleer je immers eerst de database. Pas daarna komt de vraag wanneer je data toevoegt, ververst of weggooit. Dat laatste wordt bepaald door de business rules. Die geven aan: als de data aan deze en deze voorwaarden voldoet, dan mag je het oude veld overschrijven.
Met bovenstaande vier stappen zorg je ervoor dat core-applicaties exact aansluiten op de context van de organisatie. Door de makkelijke aanpasbaarheid worden organisaties wendbaar en kunnen zij makkelijk inspelen op veranderingen in de markt en de wereld. De tijd dat low-code alleen voor eenvoudige applicaties werd ingezet, is hiermee definitief voorbij.
(Auteur Frans-Willem Duijnhouwer is pre-sales consultant bij USoft.)