Het internet of things (IoT), big data en machine learning-technologieën beïnvloeden de volgende generatie business-applicaties.
Deze zogenaamde smart applications versterken innovatieve digitale enterprises door:
- Intelligentie: ze doen aanbevelingen en begeleiden gebruikers om de volgende beste actie te ondernemen;
- Pro activiteit: ze voorspellen wat er waarschijnlijk gaat gebeuren en triggeren workflows die gebruikers vertellen wat ze wanneer moeten doen, en
- Contextbewustzijn: ze zijn gepersonaliseerd, zich bewust van de locatie van gebruikers en ingebed in hun processen.
Wat we de komende jaren zullen zien is dat de app-gebruikersinterface zoals we die kennen langzaam zal verdwijnen en de interactie met de app zal plaatsvinden via pushmeldingen, messaging systems en gespreksinterfaces zoals chatbots en plug-ins in bestaande productiviteitssoftware.
Deze complexe smart applications zijn erg in trek bij de business, die zich willen differentiëren en meer leren over en van hun gebruikers, die gepersonaliseerde en contextuele gebruikerservaringen verwachten. Het bouwen van deze applicaties is echter een uitdaging en vereist veel verschillende componenten en building blocks. Laten we eens de anatomie van een smart application ontleden.
Aan het werk
Als je erover nadenkt waaruit een smart application is opgebouwd, dan past elke building block in een van de volgende kolommen:
- Compute: smart apps berekenen informatie, dit vertaalt zich naar gedrag, ‘behaviour’.
- Communicate: smart apps communiceren informatie, dit is de ‘messaging’.
- Store: smart apps slaan informatie op, dit vertaalt zich naar de ‘state’ van applicaties en services.
We kunnen deze categorisatie toepassen op elke laag van de anatomiestack die nodig is om een smart app te bouwen.
Things
Het echte eindpunt voor IoT is natuurlijk het ding dat moet worden verbonden, of het nu fysieke producten zijn, zoals auto’s, straalmotoren en verlichtingssystemen, of andere ‘dingen’, zoals vee, gewassen, mensen, of ruimtelijke gebieden, zoals kamers of buitenruimte. Om een smart app te kunnen bouwen, moet je verbinding kunnen maken met dingen. Dit is de eerste laag in de anatomie van een smart app.
Deze laag bestaat uit sensoren die gegevens verzamelen en rapporteren over de actuele status van de dingen waarmee ze zijn verbonden. Sensoren kunnen worden gemonteerd op of ingebed in dingen om temperatuur, druk, licht, beweging, locatie, et cetera te controleren.
Samen met sensoren bestaat deze laag uit actuatoren die de fysieke of logische status van een product regelen door signalen die ze van IoT-apps of andere systemen krijgen, zoals het openen van een klep of het aan-/uitzetten van een camera, motor of licht. Dit omvat commando’s die worden verzonden naar embedded software, bijvoorbeeld om configuraties opnieuw op te starten of bij te werken.
Ten slotte bevat deze laag de lokale opslag voor het geval het apparaat niet is verbonden wanneer het nieuwe gegevens ontvangt.
Inname
Vervolgens is het noodzakelijk om de gegevens naar de cloud te brengen, waarbij een laag nodig is om alle gegevens in op te nemen. Deze laag bevat agents, componenten die bemiddelen tussen een set IoT-apparaten en fungeren als een brug tussen de sensoren/actuatoren en de cloud, waarbij wordt bepaald welke gegevens moeten worden verzonden en wanneer. In omgekeerde volgorde verwerken ze ook opdrachten en updates die uit de cloud komen.
Dit is de laag waar bijvoorbeeld Amazon IoT, Azure IoT en Bluemix IoT actief zijn. Ze kunnen events filteren, transformeren en ernaar handelen, maar ook device management bieden.
Binnen de communicatiekolom van deze laag is het noodzakelijk dat er protocollen zijn om de fysieke en digitale werelden daadwerkelijk te overbruggen. Voor IoT-apparaat-communicatie worden de fysieke laag en communicatieprotocollen onderscheiden. Wat de fysieke laag betreft zijn gateways, mobiele apparaten, mesh-netwerken en directe- of broadcast apparaat-communicatie alternatieven die al dan niet geschikt zijn, afhankelijk van de use case. De keuze voor de fysieke laag zal bepalen welke communicatieprotocollen het meest geschikt zijn (bijvoorbeeld MQTT, CoAP, http(s), AMQP, Zigbee, Z-Wave, et cetera).
De volgende laag is de cloud-infrastructuur, bestaande uit containers om services en applicaties uit te voeren, messaging middleware en traditionele databaseplatforms-as-a-service.
Bovenop de cloud-infrastructuur komt de laag app-services, die cruciaal zijn voor het bouwen van smart applications. Deze app-services omvatten voorspellende analyses, machine learning en cognitieve services, samen met de Rest api’s om te communiceren met de dingen en acties te activeren, en de datawarehouses en big data-stores om alle informatie van de dingen op te slaan.
Modelgestuurd platform
Wanneer we naar alle voorgaande lagen kijken, is het duidelijk dat het vrij complex is om smart applications te bouwen. Er zijn veel verschillende componenten en building blocks nodig om smart apps te bouwen, hoogstwaarschijnlijk van een reeks verschillende providers. Dit betekent dat het noodzakelijk is om veel vaardigheden te beheersen om smart applications te kunnen bouwen. Om deze vaardigheidskloof te dichten, moet een nieuwe laag worden toegevoegd bovenop deze IoT, big data en machine learning-services.
Modelgestuurde platforms, ook wel low-code platforms genoemd, bieden een modelgestuurde omgeving voor de samenwerking bij visuele ontwikkeling van smart apps. Daarnaast zijn core services voor softwareconfiguratiebeheer en versiebeheer nodig voor ontwikkelteams om hun werk te committen en om builds en applicatiepakketten te maken.
Modelgestuurde platforms ondersteunen de omni-channel user interface (ui) en de ontwikkeling van platformonafhankelijke, responsieve en multi-channel-apps die zijn geoptimaliseerd voor specifieke form factors.
Deze platforms bieden een reeks out-of-the-box-connectoren om verbinding te maken met alle onderliggende smart services van verschillende providers. Ze omvatten ook de domeinmodellen en data mapping om alle binnenkomende gegevens op een visuele manier aan uw applicatie te koppelen.
Last but not least bieden deze platforms naadloze integratie met zakelijke back-ends en services van derden die nodig zijn om workflows te beheren en smart apps contextueel te maken.
Belangrijkste leerpunten
De elementen die de anatomie van een smart app bepalen, kunnen overweldigend overkomen. Het type en niveau van verfijning van het systeem zal bepalen hoeveel van de beschreven elementen en diensten nodig zijn om een end-to-end oplossing te creëren.
Desalniettemin is het duidelijk dat de uiteenlopende set van eindpunten, netwerktechnologieën, protocollen, IoT-software en applicatie-ontwikkelingsdiensten een uitdaging vormt voor ondernemingen die IoT willen adopteren om hun bedrijfsactiviteiten te transformeren. De vraag is: hoe maak je IoT-technologieontwikkeling beheersbaar? Het antwoord ligt in de adoptie van een platformbenadering en de aanvullende modelgestuurde platformlaag.
De adoptie van een modelgestuurd, low-code platform zal het proces van het verbinden, beheren, verkrijgen van inzicht in en het bouwen van apps voor IoT-enabled producten en services aanzienlijk vereenvoudigen. Deze platforms met hoge productiviteit zijn bij uitstek geschikt om it-leiders en hun teams te helpen bij het aanpakken van de uitdagingen van een gebrek aan flexibiliteit, technische complexiteit en tekort aan vaardigheden door het faciliteren van snelle, iteratieve ontwikkeling die essentieel is voor het succes van een smart app.