Sommige technische termen verdienen een grondige toelichting voor je kunt beoordelen of jouw organisatie er ook mee te maken heeft. In dit blog alles over data intensieve applicaties. Wat is het, wanneer spreken we van dit soort applicaties en vooral wat kun en moet je weten als je er eentje blijkt (nodig) te hebben?
De term Data-Intensive Application bestaat uit 2 delen. Data-Intensive en Application. Om te weten wat een Data-Intensive Application is, beginnen we met de definitie van dat laatste deel. Wat is een application (applicatie) en welke soorten applicaties zijn er?
Doe mij maar een applicatie’tje
De term applicatie is tegenwoordig een hele brede term. ‘Van oudsher’ bedoelen we er de programma’s op je persoonlijke computer mee. Maar de meer recente mobiele apps zijn ook applicaties. Daarnaast zijn er ook webapplicaties, wat eigenlijk de eerder genoemde desktop programma’s zijn, maar dan in je browser. Zoals Google Docs. Maar ook een online administratie systeem of een web portal zijn webapplicaties.
Als we iets verder kijken naar webapplicaties dan is het belangrijk om te weten dat dit soort applicaties afhankelijk is van een applicatie in de achtergrond, die op een server staat. Een backend noemen we dat. Zo’n backend voert op de achtergrond taken uit zonder dat jij de webapplicatie (de frontend) hebt geopend op bijvoorbeeld je laptop. Dit is belangrijk omdat jij deze applicatie, bijvoorbeeld Google Docs, de volgende dag op je mobiel opent om dat artikel dat je aan het schrijven was, nog eens door te lezen.
Maar er zijn meer belangrijke achtergrondtaken voor een backend zoals datasynchronisatie, zware berekeningen of het centraliseren van je data. Allemaal taken die er voor zorgen dat jij de webapplicatie kunt gebruiken op allerlei devices.
Bij Enrise specialiseren we ons in drie type applicaties: Mobiele Apps, Web apps en backends. Als stand-alone applicatie of juist samen in een groot technisch landschap.
Dat(a) is intensief!
Nu duidelijk is over wat voor applicaties we het hebben, kunnen we focussen op wat “Data-Intensive” is. Een applicatie is data intensief wanneer de focus ligt op het behandelen en verwerken van data. Dit is een scherp contrast met een corporate bedrijfswebsite. Daar is weinig tot geen data verwerking nodig. Of bij de kleinere ‘huis, tuin en keuken’-webshops, waarbij er slechts een beetje dataverwerking is. Daar ligt de focus vooral op de User Experience. Mensen zo snel mogelijk iets laten kopen.
Wanneer is het dan wel intensief? Dan hebben we het over de webshops en sites die te maken hebben met een grote backoffice. De data komt daar vaak uit verschillende bronnen. Zo kunnen de producten uit een ander systeem komen dan het voorraadbeheer. En de overige website content kan weer uit een ander systeem komen.
Samen sterk
Het centraal synchroniseren van verschillende bronsystemen is een veel voorkomende uitdaging waar wij niet onbekend mee zijn. Zo’n model van verschillende systemen in één applicatie centraliseren noem je een “stermodel” en deze biedt wat voordelen. Met een stermodel aan systemen kun je makkelijk meer externe tools aansluiten. Tools die goed zijn in een specifieke taak.
Daarnaast is het ook makkelijker om verouderde systemen op den duur te vervangen. Iedere tool die je er aan hebt gekoppeld, kun je middels dit stermodel, ook weer ontkoppelen zonder dat het de rest beïnvloedt. Je hebt dus ook niet meer de afhankelijkheid van één groot systeem, waarin verschillende data zit die door dat ene systeem ook niet allemaal zuiver ‘gelezen’ kan worden. Met een afbeelding ga je technisch anders om dan met een excellijst vol productspecificaties.
Data is coming in!
Een platform dat veel inkomende berichten verwerkt, zoals een chat of dating platform, is ook data intensief te noemen. Technisch zijn er vele uitdagingen om rekening mee te houden, zoals;
- Hoeveel berichten krijgen we binnen? Zijn het er 1000? Per dag, per minuut of per seconde of is dat nog te weinig?
- Hoeveel data en vooral welke data moet er echt opgeslagen worden?
- Wat moet de gebruiker kunnen zien in het platform?
Bijvoorbeeld; in een connected car platform. Ieder bericht kan de complete staat van de auto bevatten. Maar liever zie je alleen je eigen auto en zijn huidige staat. Dus de cumulatieve waardes; zoals de totaal afgelegde kilometers, het totale brandstofverbruik, de totale CO2 uitstoot of juist de totale CO2 “besparing”. - Als laatste is het belangrijk om te weten “hoe snel” de nieuwe data verwerkt dient te worden en hoe snel er actie op ondernomen dient te worden. Soms moet dit real-time, maar soms is het snel genoeg om 1x per uur bepaalde data te verwerken, dat maakt het gemakkelijker en goedkoper.
Data is overal en onze developers ook
Kortom, Data-Intensive Applications zijn overal! Misschien heeft jouw applicatie een Data-Intensive onderdeel, of is jouw toekomstige applicatie Data-Intensive? Misschien heb je zoveel verschillende systemen dat je eigenlijk niet weet hoeveel data je hebt?
Wij helpen je graag bij het uitzoeken, het ontwerpen van een eventueel stermodel en de uiteindelijke realisatie ervan. Dus van onderzoek tot uitvoering en van het Data-Intensive backend deel tot stralende web applicatie. We staan voor je klaar om je van App tot Z te ontzorgen.