Het nut van een UI voor middleware

mendix, middleware,ui

Het komt vaak voor dat grotere bedrijven een koppeling willen (of moeten) leggen tussen verschillende systemen. Soms is dit een situatie waar de verschillende systemen allemaal in gebruik blijven en soms is dit om van het ene naar het andere systeem te migreren. Om dit te bewerkstelligen kan middleware worden gebruikt. Beter is het nog als hier ook een interface bij wordt gemaakt, zodat de belanghebbenden (o.a. software beheerders, datamanagers) de stroom aan data kunnen controleren en daar waar nodig beïnvloeden. In dit blog laten leggen we uit waarom het een goed idee is om hier met Mendix een interface aan toe te voegen.

Middleware, wat lost het op?

Middleware is, zoals de naam al doet vermoeden, software dat zich tussen verschillende systemen in bevindt. Dit wordt veelal gebruikt om data uit verschillende bronnen te koppelen en te ontsluiten voor het systeem van de eindgebruiker. Dit proces gebeurt vaak op de achtergrond en de eindgebruiker heeft er tijdens dat het proces bezig is weinig tot geen invloed op. Er zijn echter tal van situaties te bedenken waar de eindgebruiker het proces wil monitoren, zodat tijdig gereageerd kan worden als iets mis dreigt te gaan, bijvoorbeeld wanneer de gebruiker de datakwaliteit wil waarborgen of wanneer conversie op de data van toepassing is, waarbij een controle (en mogelijk zelfs handmatige bewerking) nodig is.

Hoe lost UI dit probleem op?

Door een User Interface (UI) toe te voegen aan het geheel, heeft de eindgebruiker invloed. Uiteraard is het ideaal als zoveel mogelijk (het liefst alles) geautomatiseerd verloopt, maar het monitoren van het proces biedt de eindgebruiker de mogelijkheid om de put te dempen, al voordat het kalf is verdronken (i.e. er kan tijdig gereageerd worden als iets mis dreigt te gaan).

Mendix is een zeer geschikte tool om deze UI geheel naar behoeven te creëren. Tijdens het ontwikkelen kan de eindgebruiker nauw betrokken worden bij het proces, zodat exact datgene dat hij of zij wilt zien, wordt getoond op zijn scherm. De eindgebruiker is ten slotte de specialist op het gebied van de systemen die gekoppeld gaan worden. Wat Mendix ook zo geschikt maakt als tool is dat – zeker in vergelijking met traditioneel ontwikkelen – snel ontwikkeld kan worden. Hierdoor kan meer aandacht besteed worden aan het uiteindelijke doel van de te koppelen systemen, in plaats van hoe de koppeling gelegd gaat worden.

Daarnaast is de middleware die met Mendix wordt ontwikkeld eenvoudig te deployen op een van de goed beveiligde Mendix cloud omgevingen. Dit zorgt er voor dat de capaciteit en opslagruimte die de middleware nodig zal hebben geen zorg is voor degene die de systemen wilt koppelen. Dat biedt dan meer ruimte (mentaal en technisch) om te focussen op het eindresultaat: een architectuur van verschillende stukken software en data, op een elegante manier in elkaar verweven.

Een praktijkvoorbeeld

Ik kan me zo voorstellen dat jij als lezer door de systemen het bos niet meer ziet door bovenstaand verhaal. Allicht dat een voorbeeld het geheel duidelijker kan maken. Voor dit praktijkvoorbeeld put ik graag uit een eigen ervaring.

De Nederlandse tak van een verzekeraar heeft van zijn moederbedrijf bericht gekregen dat (liefst stante pede) het huidige systeem gemigreerd moet worden naar andere software, waarbij de huidige software bevat zeeën aan – soms foutieve – data. Om de migratie succesvol te maken is het nodig de foutieve data ook direct uit het systeem te filteren, zodat dit niet later voor problemen zal zorgen. De aanvoer van de informatie was – zoals vaak het geval is – ook vanuit externe partijen. Dit zorgde voor een aantal problemen, waaronder voornamelijk deze twee: de data is niet altijd hetzelfde aangeleverd (data uit 2017 bevatte ietwat andere informatie dan data uit 2018) en de verschillende externe partijen leverden hun informatie ook op andere manieren aan.

Dit is exact waarom het handig is om inzicht te hebben in de datastroom. Wat als alle data simpelweg werd overgeheveld naar de nieuwe software? Dan zouden problemen die in het oude systeem voorkwamen ook overgeheveld worden en schoten we nog niks op. Een typisch geval van trash in, trash out. Het is dus zaak dat alle informatie op unanieme wijze uit de middleware in het nieuwe systeem terecht komt. Om deze unanieme wijze te bereiken is het nodig dat de gebruiker in de software kan mee kijken, om de verschillende datatransformaties te zien (en beïnvloeden).

De applicatie die hiervoor wordt ontwikkeld is het centrale punt voor verschillende bronnen van informatie. Alle data komt er in terecht, wordt bewerkt en bekeken waar nodig en wordt vervolgens op juiste wijze geëxporteerd naar het nieuwe systeem. Op die manier kan worden gecontroleerd dat de data die in het nieuwe systeem wordt ingevoerd foutloos en in het juiste formaat is.

Benieuwd naar de mogelijkheden? Plan vrijblijvend een (online) demo in

Open de online kalender

 

Dit blog is geschreven door Steve Jonk
Mendix Developer bij E-mergo