Architectuur /   |   5 juni 2024

De uitdagingen van architectuur in een low- en no-code wereld

Solventa Architect David Kamp David Kamp

Inleiding

In de snel veranderende wereld van softwareontwikkeling worden ontwikkeltools- en platforms steeds geavanceerder en toegankelijker.  Ik merk bij onze opdrachtgevers dat low- en no-code platforms voor softwareontwikkeling steeds meer gebruikt worden. Deze platforms beloven de traditionele programmeer-barrières te doorbreken en stellen ontwikkelaars en gebruikers in staat om softwaretoepassingen te maken zonder diepgaande programmeerkennis te hebben. In deze blog belichten we de architectuur aspecten die komen kijken bij het gebruik van een low- en no-code-platform voor softwareontwikkeling. 

Wat is een low- en no-code-platform

Voordat ik inga op de architecturale aspecten, laten we kort bekijken wat een low- en no-code-platform precies inhoudt. Het is een ontwikkelingsomgeving waarmee softwareontwikkelaars en gebruikers via een virtuele interface applicaties kunnen bouwen en automatiseren zonder code te hoeven schrijven. Er zijn een aantal vaak aangehaalde redenen voor het inzetten van een low- en no-code platform:

  • Aanbestedingen van complexe applicaties of functionele uitvragen hoeven niet meer gedaan te worden; ‘je maakt het zelf’
  • Snelheid en flexibiliteit bieden de kans om dichter aan te sluiten bij de behoefte van het primair proces van de business. Vraagarticulatie wordt vereenvoudigd en zal hierbij sneller inzicht geven en sneller het beeld van de business valideren. Dit zal de time-to-market versnellen.
  • De tijd en kosten van softwareontwikkeling kunnen aanzienlijk verminderen. De druk op beschikbare menskracht wordt verkleind.
  • De productiviteit van de gebruikers en softwareontwikkelaars die de applicaties maken kunnen verhogen. De reden hiervoor is dat het maken van applicaties sneller en simpeler is en weinig tot geen programmering behoeft. Verder zal het maken van fouten minder vaak voorkomen en in voorkomend geval kan het sneller verholpen en getest worden. De gebruikers gaan over de functionaliteit en de softwareontwikkelaars gaan voor andere kwaliteitseisen zoals privacy, security en gegevensuitwisseling. 
  • In de jaren 90 begonnen we met het experimenteren met 4GL-software, waarbij het idee van automatisch genereren van software door gebruikers werd geïntroduceerd. Na 25 jaar evolutie wordt dit idee nu werkelijkheid, waarbij het streven is om gebruikers software te laten maken steeds dichterbij komt. Dankzij de opkomst van deze platforms is het toegankelijk voor een breder scala aan mensen, waaronder niet-technische gebruikers die actiefkunnen deelnemen aan softwareontwikkelproces.
  • De gerealiseerde software is minder afhankelijk van kennis van een individuele medewerker waar na verloop van tijd te veel afhankelijkheid van bestaat. 

Architecturale overwegingen

Low- en no-code platforms helpen om snel de gewenste functionaliteit beschikbaar te stellen. Het gebruik van dergelijke platforms vraagt nog steeds aandacht op een aantal specifieke terreinen. Voor veel van deze aspecten hebben we de afgelopen jaren vanuit architectuur de grenzen of de minimale vereisten aangegeven. Om de voordelen van low- en no-code platforms maximaal te benutten zien we dat tijdig aandacht moet worden gegeven op de volgende aspecten:

  • Complexiteit van de applicaties
    Het platform kan worden gebruikt om complexe applicaties te bouwen. Dit kan de architectuur uitdagingen vergroten, omdat de architect ervoor moet zorgen dat de basisprincipes voor betrouwbaarheid, veiligheid en schaalbaarheid niet veranderen. Er moet nog steeds worden gezorgd dat de gecreëerde applicatie net zo betrouwbaar is als de applicatie die gebouwd is met traditionele code. Dit vereist kwaliteitsborging, grondig testen en monitoring. Verder is het van vitaal belang dat de beveiligings best-practices gebruikt worden voor veilige toegang tot gegevens en te voldoen aan de privacyregelgeving. Tenslotte als de vraag naar low- en no-code-applicaties toeneemt (vanwege de grotere snelheid van ontwikkeling) moet de architectuur schaalbaar zijn voor het toevoegen van meer resources en implementeren van sourcing strategieën. 
  • Flexibiliteit en aanpasbaarheid
    De architectuur van de applicatie moet flexibel en aanpasbaar zijn om te kunnen voldoen aan veranderende zakelijke behoeften. Een goede architectuur (o.a. modulariteit en schaalbaarheid) legt een solide basis voor de applicatie en biedt de nodige structuren en patronen die kunnen worden gebruikt om nieuwe functies toe te voegen of bestaande functies her te gebruiken zonder de gehele applicatie te hoeven herontwerpen.
  • Integratie met bestaande systemen
    Het platform moet naadloos kunnen integreren met bestaande systemen en diensten binnen je organisatie. Dit omvat integratie met databases, API’s en andere applicaties. Een goede architectuur met afspraken (principes en uitgangspunten) om de interoperabiliteit tussen het platform te borgen.
  • Herbruikbaarheid 
    Net als bij traditionele ontwikkeling, is het nog steeds van essentieel belang om aandacht te besteden aan het hergebruiken van componenten. Het volgen van architectuur principes van composabiliteit (componenten moeten kunnen worden gecombineerd om nieuwe componenten te maken) en inkapseling (componenten inkapselen voor hun interne logica) zorgt dat je sneller kunt ontwikkelen, je kosten verlagen en de kwaliteit verhogen.
  • Onderhoud 
    Voor dit platform houdt onderhoud in: het toevoegen van API’s, het veranderen van look-en-feel van de user interface of aanroepen van andere bouwblokken en dan met een druk op de knop softwarecode genereren en testen. Een goede proces architectuur is voor het onderhouden van een low- of no-code software heel essentieel. Het gaat erom dat een gebruiker de processen kan ‘tekenen’ en de juiste bouwblokken van de verschillende componentenbibliotheken aanroept. Training om te zorgen dat gebruikers van het specifieke low-code of no-code platform daar ervaring in krijgen zal zorgen dat het onderhoud gemakkelijk is.
  • Beveiliging en gegevens privacy
    Zorg ervoor dat het platform voldoet aan de meest recente beveiligingsnormen van de omgeving en je organisatie en dat gevoelige gegevens goed worden beschermd. Dit omvat toegangsbeheer, gegevensversleuteling en naleving van privacyregelgeving. Het is van cruciaal belang om beveiliging te integreren in alle aspecten van de architectuur en om voortdurend te blijven monitoren en aanpassen om de beveiliging en privacy te handhaven en te verbeteren.

Conclusie

Een low- en no-code-platform biedt organisaties de mogelijkheid om snel en efficiënt softwaretoepassingen te ontwikkelen, zelfs zonder diepgaande programmeerkennis. Maar een doordachte architectuur is essentieel om ervoor te zorgen dat deze applicaties voldoen aan de vereisten van de organisatie en naadloos kan integreren in de bestaande architectuur. Door deze architecturale overwegingen in acht te nemen, kun je profiteren van de voordelen van low-en no-code ontwikkeling en tegelijkertijd zorgen voor een functionele duurzaamheid en technische inpasbaarheid (zoals: integratie met bestaande systemen en compliance) in het applicatielandschap.

Contact
Welke stap ga jij zetten?

Sta je aan het begin van een proces van transformatie of disruptie? We verkennen graag samen met jou of onze diensten van toegevoegde waarde kunnen zijn in jouw traject. Ook als je al wat meer gevorderd bent met de transformatie of disruptie en hulp zoekt in het verder vormgeven daarvan, is zo’n verkenning zinvol. Zet vandaag de eerste stap in het realiseren van je ambities en neem contact op voor een vrijblijvende verkenning, door te bellen met 030 602 82 80 of door het contactformulier in te vullen.

Bespreek de mogelijkheden
3