Mendix Data Hub 2.0
Mendix heeft in september tijdens het online evenement ‘Mendix World 2021’ een groot aantal innovaties voor hun low-code platform aangekondigd, waaronder Data Hub 2.0. Hiermee zet Mendix weer een belangrijke stap in het bieden van een totaaloplossing voor organisaties die met low-code tools hun applicatielandschap willen moderniseren. Data Hub is een aanvullende module voor data-integratie binnen het Mendix-platform, waardoor het delen en hergebruiken van datasets in Mendix-applicaties een stuk eenvoudiger wordt. In dit blog wil ik dieper ingaan op de voordelen van Data Hub, de verbeteringen die zijn toegevoegd in versie 2.0 en de nieuwe features die we in de nabije toekomst kunnen verwachten.
Wat is Data Hub?
Data Hub is een relatief nieuwe module die vorig jaar is geïntroduceerd door Mendix. Met Data Hub kunnen datasets uit Mendix-applicaties en andere bronsystemen beschikbaar worden gesteld als OData-services via een soort datavirtualisatie-laag. OData is een protocol waarmee datasets op een eenduidige manier kunnen worden opgevraagd uit een bronapplicatie via REST API’s. Mendix biedt met Data Hub de mogelijkheid om datasets op een centrale plek te publiceren, om ze vervolgens te kunnen gebruiken bij de ontwikkeling van applicaties. Die centrale plek is de Data Hub Catalog. Dit is een open metadata repository, waarin de datasets worden geregistreerd en voorzien van metadata, zodat ze makkelijk vindbaar en doorzoekbaar zijn. Bij het publiceren van een dataset wordt alleen metadata naar de catalogus gestuurd. De data zelf wordt niet verplaatst en blijft in de bronapplicatie.
In de catalogus kunnen permissies ingesteld worden om de toegang tot de data te beveiligen. De catalogus kan op verschillende manieren worden benaderd, o.a. via een nieuwe menu-optie in de Mendix Developer Portal, of vanuit externe webapplicaties (bijvoorbeeld BI-tools). Daarnaast is Data Hub naadloos geïntegreerd in Mendix Studio Pro (de ontwikkelomgeving van Mendix), waardoor ontwikkelaars de datasets uit de catalogus via drag-and-drop functionaliteit kunnen toevoegen aan een nieuwe applicatie.
Voordelen van Data Hub
In Data Hub zijn alle datasets op een eenduidige manier vastgelegd, ook al zijn deze afkomstig uit verschillende bronsystemen. Alle datasets in Data Hub zijn te bevragen via een uniforme interface en alle koppelingen lopen via een centrale plek. Het ontwikkelen van applicaties in Mendix wordt daardoor eenvoudiger, omdat je hiermee één single point of entry hebt voor het opvragen van data. Het beheren van het applicatielandschap in Mendix en het analyseren van het gebruik van data binnen Mendix wordt met Data Hub ook veel eenvoudiger. Je krijgt hierdoor meer controle over je applicatielandschap.
Data Hub is met name interessant voor organisaties die al geruime tijd met Mendix werken en al meerdere applicaties hebben ontwikkeld, waarbij verschillende applicaties gebruik maken van dezelfde datasets. Point-to-point integraties tussen individuele applicaties behoren hiermee tot het verleden. Met Data Hub is het niet meer nodig om datasets te dupliceren en om de data continue te synchroniseren tussen applicaties. Daarnaast biedt Data Hub voordelen voor organisaties die data uit bestaande bedrijfsapplicaties in Mendix willen integreren. Veel moderne bedrijfsapplicaties zoals SAP, Salesforce en Dynamics 365 kunnen namelijk via OData-services worden ontsloten via Data Hub.
Workflow
Onderstaande afbeelding laat de workflow zien wanneer je binnen een Mendix-omgeving gebruikt maakt van Data Hub.
- Publish
Ontwikkelaars kunnen vanuit Mendix Studio Pro een dataset uit een bestaande Mendix-applicatie publiceren naar de Data Hub Catalog als een OData-service. - Register
Bij het publiceren van een dataset wordt er automatisch een OData-service geregistreerd in de Data Hub Catalog. Beheerders kunnen in de catalogus de metadata van datasets aanpassen, verrijken (curate) en permissies configureren. Naast het publiceren van datasets vanuit Studio Pro is het ook mogelijk om datasets uit externe systemen als OData-service te registreren. - Find
Ontwikkelaars kunnen vanuit Mendix Studio Pro de catalogus openen en de lijst met beschikbare datasets doorzoeken. De metadata die beschikbaar is in de catalogus helpt bij het vinden van de juiste datasets. - Consume
Als een ontwikkelaar een geschikte dataset in de catalogus heeft gevonden, kan deze eenvoudig toegevoegd worden aan het datamodel van een nieuwe applicatie als een externe entiteit. Gepubliceerde datasets kunnen daarnaast ook geconsumeerd of geanalyseerd worden in systemen buiten Mendix (bijvoorbeeld BI-tools). - Connect
Zodra een applicatie met een externe entiteit wordt gedeployed, wordt de metadata van de dataset in de catalogus automatisch bijgewerkt met informatie over de gepubliceerde afhankelijkheden (data lineage) in de Mendix-omgeving. Tegelijkertijd wordt er een connectie aangemaakt naar de bronapplicatie. - Run
Een consumerende applicatie met een externe entiteit maakt verbinding met de bronapplicatie om de data op te halen. Hiervoor wordt een HTTPS-aanvraag naar de REST-interface van de OData-service gestuurd. - Landscape
Beheerders en ontwikkelaars kunnen in de catalogus het gebruik en de afhankelijkheden van datasets analyseren.
Wat is er nieuw in versie 2.0?
Tijdens Mendix World 2021 is versie 2.0 van Data Hub gelanceerd en daarbij zijn een aantal verbeteringen en nieuwe features aangekondigd. Een aantal van die verbeteringen is ook al daadwerkelijk beschikbaar in de 9.6 release van Mendix, die op 1 oktober is uitgebracht.
OData freemium
Om gebruik te maken van Data Hub moest tot voor kort een aanvullende licentie bij Mendix worden aangeschaft. Vanaf nu kan Data Hub door iedereen gratis gebruikt worden. Dit is een belangrijke verbetering, omdat het nu veel eenvoudiger is om de mogelijkheden van Data Hub in de praktijk te ontdekken en te testen. De freemium versie heeft als beperking dat je maximaal 1000 objecten per dag per runtime instance kunt opvragen.
External access
Externe gebruikers van buiten de eigen organisatie kunnen nu uitgenodigd worden en toegang krijgen tot Data Hub. Dit kunnen bijvoorbeeld ontwikkelaars of consultants van externe partijen zijn die nieuwe dataservices in de catalog kunnen aanmaken.
Write back
Een belangrijke verbetering in Data Hub 2.0 is het kunnen wegschrijven van data naar externe entiteiten. Voorheen kon data alleen opgevraagd worden uit Data Hub, maar nu is het dus ook mogelijk om data uit een Mendix-applicatie weg te schrijven naar een andere Mendix-applicatie via Data Hub. Mendix heeft al aangekondigd dat het in de nabije toekomst ook mogelijk wordt om data via Data Hub weg te schrijven naar externe systemen.
Weergave van CRUD-permissies en eigenaars van datasets
Bij het opvragen van datasets in de catalogus kun je nu in een oogopslag zien welke acties je kunt uitvoeren op een dataset (create, read, update, delete). Ook worden de eigenaars van datasets afgebeeld en kun je eigenaars eenvoudig benaderen om meer informatie over datasets op te vragen.
Datasets publiceren met permissies
Ontwikkelaars die een nieuwe dataset publiceren vanuit Mendix Studio Pro kunnen hierbij de CRUD-permissies direct configureren in de ontwikkelomgeving. Hierdoor is het niet meer nodig om dit achteraf in de catalogus in te stellen.
Contracten van OData-services downloaden en delen
Het delen en downloaden van contracten van datasets is vanaf nu mogelijk in Data Hub. Dat is erg handig, omdat de metadata van datasets op deze manier kan worden gedeeld met ontwikkelaars, of met externe partijen, die deze datasets willen gebruiken.
Event broker
Misschien wel de meest interessante nieuwe feature van Data Hub 2.0 is helaas op dit moment nog niet beschikbaar, want deze wordt naar verwachting begin volgend jaar uitgebracht. Dan wordt het namelijk mogelijk om Data Hub als event broker te gebruiken. Dat wil zeggen dat business events vanuit een applicatie naar Data Hub kunnen worden gepubliceerd en dat andere applicaties automatisch hierop kunnen reageren in real-time. Business events kunnen van alles zijn, bijvoorbeeld een offerte die door een klant wordt aangevraagd, of een betaling die door een klant wordt uitgevoerd.
Event brokers werken over het algemeen met een publisher-subscriber model. Publishers zijn applicaties die nieuwe events naar de broker sturen. De broker bewaart events in een repository en houdt bij welke events wel/niet zijn verwerkt door de subscribers. Subscribers zijn consumerende applicaties die automatisch door de broker worden geïnformeerd over nieuwe events die beschikbaar zijn om te verwerken.
Met Data Hub als event broker kan Mendix ingezet worden voor nieuwe toepassingen, bijvoorbeeld bij de ontwikkeling van applicaties met een microservices-architectuur. Bij deze architectuurstijl wordt een applicatie opgeknipt in kleinere applicaties (microservices) die elk een specifieke taak vervullen. Voor elke microservice wordt in dat geval een aparte Mendix-applicatie met een eigen database ontwikkeld. De uitwisseling van data in real-time tussen applicatiecomponenten is van cruciaal belang bij dit soort oplossingen en Data Hub kan hierbij een belangrijke rol spelen. Voorheen moest je hiervoor gebruik maken van technologieën en/of clouddiensten die niet beschikbaar waren binnen het Mendix-platform.
Meer weten?
Ben je na het lezen van dit blog geïnteresseerd geraakt in Mendix Data Hub en wil je meer hierover weten, of heb je vragen over Mendix in het algemeen? Neem dan contact op via het onderstaande formulier.
Geschreven door Steven Samuels Brusse,
Senior Consultant