2 1 3

Een Mendix frontend-laag met REST-services bouwen: zo pak je het aan

In Mendix aan de slag met een web- en native-app zonder dataopslag? Bespaar tijd en pik eerst de Tech Talk mee van Senior Software Engineer Wouter Penris van Capgemini. Samen met collega’s ontwikkelde hij voor een grote financiële instelling zo’n Mendix frontend-laag. Zie voor welke uitdagingen hij kwam te staan – en hoe hij die heeft opgelost.

Als ik naar Mendix kijk, zie ik een interessante verschuiving. Dankzij het grote gebruiksgemak dat het low-codeplatform developers biedt – je modelleert visueel en met kant-en-klare bouwblokken – was de tool al langer eerste keus voor de bouw van backoffice-applicaties. Bij Capgemini ontwikkelden we de afgelopen jaren ruim 250 van zulke Mendix-based apps. Maar de laatste tijd kom ik het platform ook steeds meer tegen in het primaire proces van bedrijven.

Best logisch dat ondernemingen deze stap naar voren zetten. Ook de frontoffice zoekt snelheid en flexibiliteit. En bij Mendix vind je die. Wel krijg je hier als developer te maken met een paar pittige uitdagingen. Voor sommige webapps gelden namelijk restricties op het gebied van security en privacy. Simpel gezegd moeten voor financiële apps gegevens die een gebruiker invoert meteen verdwijnen als hij de app verlaat. Je kan ze dus niet zomaar bewaren in de cloud of op een device.

Goed nieuws van het ‘front'

De oplossing ligt in het werken met REST-services tussen de Mendix- en een datalaag, en met non-persistable entities. Maar die oplossing brengt weer nieuwe puzzels met zich mee. Zo vind je compile- en runtimefouten op je pad. En moet je microflows embedden in nanoflows op zo’n manier dat je maar één logisch model hoeft te onderhouden.

Het goede nieuws is dat mijn Cap-collega’s en ik die puzzels hebben opgelost. Met vallen en opstaan, zoals dat gaat. Maar we slagen er nu in om met Mendix voor een grote financiële instelling een frontend-laag te bouwen die topprestaties levert en zich goed laat onderhouden. Een web- en native-oplossing die gegevens niet opslaat, maar wel paraat heeft zodra ze nodig zijn.

Praktische ‘how to'

De uitdaging zit ‘m er allereerst in dat het bouwen van native-applicaties met Mendix nog relatief nieuw is. Er zijn dus simpelweg weinig voorbeelden om op terug te vallen. Hier komt bij dat de app een van de grootste Mendix-applicaties ooit is, waar we met meerdere teams aan bouwen. En dat deze app onderdeel is van een stack, terwijl traditionele Mendix-apps vaak alle rollen van zo’n stack zelf op zich nemen. We moesten dus zoeken naar de juiste weg. En deden ook weleens een paar stappen terug.

Maar het was het waard. Ons reisdoel is in zicht. En het mooie is: we hebben onze lessen in kaart gebracht. Met als resultaat een nieuw en praktisch patroon waar je als Mendix-ontwikkelaar je voordeel mee kan doen. Een ‘how-to’ voor iedereen die aan de slag gaat met web- en native apps zonder dataopslag en mét REST-services. Op 7 september deelde ik onze aanpak kort in een Mendix World-sessie. En op 21 september ging ik er uitgebreider op in tijdens een Tech Talk. Bekijk hem op je gemak. En heb je vragen? Mail me dan gerust.

Bekijk de Tech Talk van Wouter over web en native Mendix-apps met veel REST-services

Aan de hand van een demonstratiemodel laat Wouter zien hoe Capgemini met Mendix in een complexe omgeving een oplossing zonder dataopslag bouwt. Je leert hoe je een domeinmodel ontwerpt dat robuust genoeg is voor zowel web als native en hoe je compile- en runtimefouten voorkomt.

Over Wouter

Wouter is een Software Engineer gespecialiseerd in Mendix. Eerder maakte hij meters als docent (Engels en Muziek); een ervaring die in deze Tech Talk goed tot zijn recht komt: de complexe materie zet hij behendig om in een begrijpelijk verhaal.