Blog
Data is key. Iedere organisatie bezit waardevolle data en de hoeveelheid data blijft maar groeien. Alleen groei gaat vaak gepaard met een daling in efficiëntie.
Uit onderzoek van Veritas Technologies kwam naar voren dat organisaties een geschatte 2 miljoen dollar verlies per jaar draaien als gevolg van uitdagingen omtrent databeheer. In deze blog lees je hoe Mendix ingezet kan worden voor data management in grotere bedrijven. En wanneer de nieuwe dienst Mendix Data Hub hierbij kan helpen.
Het hart van de bedrijfsvoering wordt vaak gevormd door klanten, opdrachten en facturen. Deze kunnen zich allemaal in hetzelfde systeem bevinden, maar dikwijls ook verspreid over verschillende systemen. Om wat context te geven aan data management in IT landschappen van bedrijven behandel ik twee veelvoorkomende scenario’s:
Data uitwisseling naar een Mendix applicatie
Data uitwisseling tussen Mendix applicaties
Het komt vaak voor dat organisaties die hun applicatielandschap aan het vernieuwen zijn aangeven een bestaand ict-systeem te willen behouden, omdat deze over de tijd heen ontwikkeld is naar hun specifieke wensen. Hoe zorg je ervoor dat nieuwe applicaties gebouwd in Mendix gebruik maken van data uit deze bestaande systemen?
Mendix ondersteunt meerdere soorten verbindingen met andere software applicaties en services via industriestandaard interfaces en protocollen zoals REST, SOAP, JDBC en OData. Stel dat de klanten van een bedrijf in een customer relation management (CRM) systeem zijn opgeslagen. Dan dient een koppeling te worden gebouwd tussen de Mendix applicatie en het CRM systeem. De meest gebruikelijke oplossing is dat de Mendix applicatie een API van het CRM aanroept om dagelijks de laatste wijzigingen binnen te halen. Deze data wordt opgeslagen in de database van de Mendix applicatie. Op die manier blijft de data synchroon en kan de benodigde klantdata worden gebruikt in de Mendix applicatie zonder een actieve verbinding met het CRM.
Een microservice architectuur is een type software architectuur die sinds vorig decennium populair is geworden. Dit volgt de beweging van de allesomvattende systemen vandaan, richting een situatie waarin afzonderlijke doelgerichte systemen met elkaar samenwerken. Dit noemen we ook wel microservices. Mendix applicaties lenen zich heel goed om een of meerdere van de schakels in een microservice architectuur, omdat deze eenvoudig integreren met elkaar. Maar hoe doe je dit en hoe zorg je dat de data gedeeld wordt over de verschillende services?
Stel je een bedrijf voor die diensten levert aan andere bedrijven (klanten). Een dienst is in dit geval het verhuren van meetingruimtes. Vroeger zou een allesomvattend systeem gemaakt worden het bedrijf hun klanten kan toevoegen en beheren, huurcontracten worden aangemaakt, factureren worden gegenereerd, waar de klanten contracten kunnen afsluiten, et cetera. Tegenwoordig zou dit worden gescheiden in afzonderlijke applicaties.Het voordeel van het scheiden van de applicaties is dat deze afzonderlijk (door)ontwikkeld en onderhouden kunnen worden. De klant applicatie kan precies worden ingericht op de functionaliteiten en data die relevant zijn voor de klant. Stel dat de operationele applicatie offline is, dan zullen de klant applicatie en de facturatie applicatie nog blijven werken. Blijkt dat de facturatie toch beter in een Mendix applicatie kan dan in de bestaande service of andersom, dan is dit in een microservice architectuur eenvoudiger ‘in te wisselen’ dan wanneer het in een grote applicatie is ingebouwd.
In het voorbeeld kan het zo zijn dat klantinformatie in alle applicaties bestaat. In het geval een wijziging wordt doorgevoerd in de klantgegevens dan dient deze wijziging in alle applicaties door te komen. Het versturen van deze wijzigingen gebeurt in de regel via APIs. De API moet gebouwd worden in de ontvangende applicatie, maar ook het versturen vereist ontwikkelwerk. Bij het versturen moet ook rekening gehouden dat de data daadwerkelijk is aangekomen en zo niet dat het systeem dit automatisch opnieuw probeert te versturen.
Hoe meer applicaties dezelfde data wijzigingen dienen te ontvangen, hoe aantrekkelijker een publisher/subscriber opzet wordt. Hierbij abonneert een applicatie zich als het ware op bepaalde data, bijvoorbeeld klantgegevens, wanneer hier iets wijzigt dan stuurt de service dit naar alle aangesloten applicaties. Tot op heden kon dit niet in Mendix en was men snel aangewezen op cloud integratie service aanbieders zoals Amazon Web Services (AWS). Maar met het nieuwe product van Mendix, Datahub, gloort er hoop op om al het bovenstaande en meer te kunnen met Mendix.
Op het inmiddels jaarlijkse event Mendix World kondigt het bedrijf ieder jaar de productinnovaties aan die de industrie kan verwachten. Op Mendix World 2020 was daar de aankondiging van de Mendix Data Hub. Een product waarmee de developer data uitwisseling tussen Mendix applicaties kan configureren op dezelfde low code manier als bij het ontwikkelen van een applicatie. Hoe werkt dit en wanneer is dit interessant om te gebruiken?
Gartner, een van de leiders in onderzoek naar en toetsing van digitale markten, veronderstelt naar aanleiding van onderzoek dat voorlopers in de markt een digitale integratie hub zouden moeten implementeren. Een API gebaseerde microservice architectuur is volgens hen namelijk kostbaar en vereist veel integratie werk. Terwijl een digitale integratie hub data zeer toegankelijk kan maken, de belasting van systemen kan verminderen en waarde kan toevoegen door middel van data analyse. Een digitale integratie hub is een applicatiearchitectuur die dataverwerking loskoppelt van applicaties en operationele data samenvoegt in een datalaag met zeer weinig vertraging. In een centrale hub kun je binnen een organisatie alle connecties en gedeelde datasets vinden en deze data wordt gedeeld over de verschillende applicaties.
De Mendix Data Hub is een aanvullend onderdeel van het Mendix Platform-as-a-Service (PaaS). Een online omgeving waar vanuit data beschikbaar gemaakt kan worden voor aangesloten Mendix applicaties. Het is mogelijk om integraties toe te voegen van buiten het Mendix ecosysteem en de Hub biedt een overzicht van de applicaties en hun integraties. De Data Hub gebruikt OData als onderliggende technologie voor het uitwisselen van data tussen applicaties en tevens met externe OData data bronnen. Een entiteit, een representatie van een tabel in een database, kan op die manier worden gedeeld tussen Mendix applicaties. Wanneer in de Data Hub is aangegeven dat bepaalde data gedeeld mag worden met een applicatie, dan kan een developer in de ontwikkelomgeving deze entiteiten simpelweg in de applicatie slepen. Vervolgens kan de applicatie de data gebruiken alsof het uit de applicatie zelf komt.
Vanwege de verschillende voordelen die Mendix biedt, zien we dat klant steeds vaker kiezen voor meerdere Mendix applicaties in hun IT landschap. Wanneer Mendix applicaties het hart vormen (of gaan vormen) in het applicatielandschap dan is Data Hub een interessante optie. Daarnaast is het de oplossing voor bedrijven die wat betreft data management door de bomen het bos niet meer zien.
Zoals eerder beschreven moet normaal gesproken voor elke uitwisseling van data tussen Mendix applicaties aan beide kant API logica gebouwd worden. Deze ontwikkelkosten kunnen bespaard worden als meteen wordt gekozen voor de Data Hub. Immers, met de Data Hub kan de data uitwisseling worden teruggebracht tot een aantal drag en drop handelingen. Hiermee wordt ook voorkomen dat alle data gespiegeld (lees: gedupliceerd) moet worden in de ontvangende applicatie. Bovendien hoeven geen processen gebouwd te worden om te waarborgen dat de data in alle applicaties up-to-date is.
De meest voorkomende problemen met data zijn: duplicate data, ongestructureerde data, verborgen data, inaccurate data en data governance problemen. Data Hub biedt een antwoord voor al deze problemen. Doordat alle data gecentraliseerd is voorkom je problemen met verborgen data. Daarnaast wordt de meta-data gedeeld over de verschillende applicaties, waarbij je het dupliceren van data voorkomt. In Data Hub is alle data gestandaardiseerd, hierdoor is de data gestructureerd en goed te vergelijken. Het hebben van een Data Hub is geen garantie voor accurate data, maar het feit dat de data gecentraliseerd en inzichtelijk is draagt hier zeker aan bij. Ten slotte het beter beschrijven en het volgen van data draagt bij aan een goede Data Governance.
Oktober 2021 kondigde Mendix, een jaar na de introductie van de Data Hub, Data Hub 2.0 aan. Het product wordt net zoals het Mendix platform voortdurend doorontwikkeld. Wat houdt Data Hub 2.0 in en welke features zijn inmiddels al gerealiseerd?
Bij de introductie van de Data Hub lag de nadruk op de Catalog, de externe Connectors en de zogenoemde External entities. De Catalog is gerealiseerd en fungeert als databank waar gebruikers, developers en niet-developers met domeinkennis, door de data van aangesloten databronnen heen kunnen bladeren. Daarnaast kunnen inmiddels meerdere type databronnen worden toegevoegd. Naast Mendix en OData services ook softwarepakketten zoals SAP en SIEMENS MindSphere. Ten slotte de external entities die het developers zo eenvoudig maken dat zij alleen de tabel in de applicatie hoeven te slepen.
Initieel was het alleen mogelijk om data te lezen uit externe bronnen. Het aanpassen en verrijken van de data is in de praktijk echter minstens zo belangrijk. Mendix nam dit ter harte en maakte het ‘terugschrijven’ een van de speerpunten van de 2.0 versie. Inmiddels kan de Data Hub gebruiker naast de R van read ook de U van update terugzien in de Catalog en de Mendix ontwikkelomgeving (Studio Pro). In andere woorden, een Mendix applicatie kan wijzigingen doorvoeren in ‘externe’ data.
Dit kalenderjaar verwacht Mendix hier ook het aanmaken (Create) en verwijderen (Delete) van externe data aan toe te voegen, waarmee alle zogenoemde CRUD operaties mogelijk zullen zijn. In de Mendix omgeving kunnen de developers bepalen welke gebruikersrollen in een applicatie dit mogen. Daar bovenop kunnen de data-eigenaren in de Data Hub bepalen welke applicaties mogen terugschrijven. Dit draagt bij aan goede Data Governance.
Een andere feature waar naar uitgekeken is zijn de events. Hiermee wordt het mogelijk om het publisher/subscriber model te implementeren met enkel Mendix producten. Events kunnen door applicaties worden gebruikt als signaal om andere applicaties te informeren dat er iets interessants is gebeurd. Als een klant bijvoorbeeld een bestelling plaatst in een webshop, kan de webshop dit signaleren met een event. Alle geabonneerde applicaties kunnen hiermee vervolgens weer processen in werk stellen (bijvoorbeeld een factuur sturen). Momenteel zijn de events in een testfase, waarbij early adopters zich kunnen aanmelden om te testen voor de eerste feedback.
Met Data Hub 2.0 is ook een freemium model geïntroduceerd, waardoor Mendix partners zonder licentie kunnen experimenteren met de nieuwste Data Hub functionaliteiten. Klanten die de Data Hub licentie hebben aangeschaft kunnen ongelimiteerd gebruik maken van de Data Hub functionaliteiten. De functionaliteiten die continu worden uitgebreid en verbeterd.
Met de Data Hub breidt Mendix haar Platform-as-a-Solution (PaaS) verder uit. Het bedrijf speelt hiermee in op de wensen vanuit de markt om data beheersbaar en inzichtelijk te maken. Een digitale integratie hub wordt misschien wel de standaard van de toekomst.
Op het moment dat meerdere Mendix applicaties het hart van het applicatielandschap gaan vormen, dan wordt de Data Hub een interessante optie. Met de Data Hub kunnen de kosten van op maat gemaakte integraties tussen Mendix applicaties worden bespaard. Het draagt sterk bij aan de Data Governance, maakt de data beheersbaar en inzichtelijk. De events maken het bovendien mogelijk een IT landschap te creëren waarbij alle applicaties naadloos op elkaar aansluiten.
Benieuwd naar de laatste ontwikkelingen van de Mendix Data Hub? Of wat we voor jouw bedrijf kunnen betekenen? Wij vertellen je graag meer. Bel ons op +31 (0)20 308 0319 of mail naar info@webflight.nl