De 6 kenmerken van goede middlewaresoftware
Een wereld zonder cloudoplossingen en clouddiensten kunnen we ons vandaag niet meer voorstellen. SaaS (Software as a Service) heeft onomkeerbaar zijn intrede gedaan op de werkvloer, en daardoor groeit de vraag naar cloudoplossingen die met elkaar communiceren. Niemand wil tenslotte telkens opnieuw dezelfde data bijwerken, toch?
Voor veel SaaS-platformen bestaan er standaardconnectoren. Meestal zijn die echter verre van perfect. De functionaliteit schiet vaak tekort, of er is nog geen exacte match tussen de twee systemen beschikbaar. Dan kan het interessant zijn om te kijken naar een oplossing op maat die de verschillende platformen met elkaar verbindt. Zulke 'middlewaresoftware' noemen we ook een 'connector'. Die heeft maar één doel: twee andere systemen met elkaar verbinden. Een aparte grafische interface is dus niet nodig.
Bij Unikoo hebben we al heel wat ervaring met het koppelen van cloudoplossingen in uiteenlopende projecten. Neem bijvoorbeeld een van onze klanten in HR-technologie. Voor hen bouwden we middlewaresoftware die het SAP SuccessFactors-ecosysteem verbindt met Spencer, een communicatieplatform voor medewerkers, en we zorgden voor integraties met Play It Safe, een platform voor game-based learning. Daarnaast werken we momenteel aan een integratie op maat tussen Monday.com en het CRM-platform Teamleader.
In deze blog bespreken we wat volgens ons de essentiële kenmerken zijn van oplossingen op maat met middlewaresoftware.
1. Flexibel schaalbaar
Bij cloudoplossingen is schaalbaarheid altijd een belangrijk aandachtspunt. Omdat het aantal klanten na verloop van tijd (hopelijk) groeit, streef je best van bij de start naar een schaalbare oplossing.
Hou wel rekening met de beperkingen van de applicaties upstream en downstream. De middleware mag geen van de systemen overbelasten door te veel data te snel door te sturen. Wachtrijmechanismen kunnen hier een oplossing bieden. Zo bepaalt de connector welke data wanneer naar waar doorgestuurd wordt.
2. Gestructureerd
Omdat middlewarecomponenten zelden een grafische interface hebben, is het cruciaal dat de structuur waarop de software gebouwd is duidelijke herkenningspunten heeft. Eén groot script dat voor alles verantwoordelijk is, wordt al snel onmogelijk te onderhouden. Duidelijk afgebakende componenten en functies met eenvoudige verantwoordelijkheden zijn essentieel. De SOLID-principes zijn hier zeker van toepassing.
3. Multi-tenancy
De meeste SaaS-platformen ondersteunen al multi-tenancy: meerdere accounts zijn actief op hetzelfde platform. Binnen SuccessFactors heeft bijvoorbeeld elk bedrijf een volledig afgeschermde omgeving en heeft het enkel toegang tot zijn eigen data. Toch draaien al die omgevingen op hetzelfde cloudplatform.
Neem die multi-tenancy van bij de start op in je connector. Hetzelfde geldt voor de GDPR-wetgeving: zulke zaken zijn achteraf vaak moeilijk op te lossen.
4. Kostenefficiënt
De klant betaalt al voor de SaaS-platformen die je wil koppelen. Een middlewarecomponent kost dus logischerwijs extra. Die kosten moeten wel in verhouding staan tot de totale kost en tot de zakelijke waarde die de klant aan de integratie hecht. Is het goedkoper om iemand de data manueel te laten overzetten, dan heeft het geen zin om een connector te bouwen.
Gelukkig zijn er perfect schaalbare oplossingen waarmee we software heel efficiënt kunnen laten draaien. Bij Unikoo werken we graag met serverless oplossingen. Daarmee betalen klanten enkel voor de capaciteit die ze effectief gebruiken. Stel dat je connector elk uur 10 seconden actief is. Dan heeft het weinig zin om er 24/7 voor te betalen. Met serverless oplossingen stap je over op een 'pay-per-use'-model. Dat is vaak goedkoper dan het klassieke model met een dedicated of gedeelde server.
5. Event-driven
Een asynchrone werking, gecombineerd met een serverless model en een sterke focus op schaalbaarheid, leent zich uitstekend tot een event-driven architectuur. Zonder al te diep in detail te gaan: event-driven systemen bestaan uit afzonderlijke componenten die events genereren. Ze spreken elkaar niet rechtstreeks aan. Andere componenten kunnen die events dan oppikken en er op hun beurt iets mee doen. Zo krijg je erg flexibele en schaalbare oplossingen die enkel actief zijn wanneer er iets moet gebeuren (bijvoorbeeld wanneer een event getriggerd wordt).
6. Goede monitoring en logging
Omdat er vaak geen grafische interface is, krijgt geen enkele eindgebruiker een foutmelding te zien wanneer er iets misloopt. Daarom moet je snel kunnen zien wat er aan de hand is wanneer de connector niet werkt zoals verwacht. Bij een serverless oplossing is dat nog belangrijker, omdat je dan met veel afzonderlijke onderdelen werkt. Een goede loggingstrategie in combinatie met een overzichtelijk monitoringdashboard kan een wereld van verschil maken.
Deze principes vormen de ruggengraat van de platformen die we in de Fly-fase bouwen, zoals het AWS-datafundament achter Bolt Energy.
Wil je verschillende cloudoplossingen met elkaar verbinden via middlewaresoftware? Weet je niet goed waar te beginnen? Neem gerust contact met ons op via development@unikoo.be of bel ons op +32 3 376 00 98. We helpen je graag verder!


