IoT-Plattformen stellen die heute gängige technische Umsetzung des mit dem Internet der Dinge (englisch Internet of Things, Kurzform: IoT) verfolgten Zieles dar, physische und virtuelle Gegenstände miteinander zu vernetzen und sie durch Informations- und Kommunikationstechniken zusammenarbeiten zu lassen. Einhergehend mit einer wachsenden Anzahl technisch konvergenter IoT-Implementierungen bildeten sich in den 2010er Jahren De-facto-Standards heraus, die ihrerseits die Vermarktung von IoT-Plattformen zunehmend erleichtert haben. Begünstigt wird diese Entwicklung weiterhin dadurch, dass fortschreitend mehr Geräte mit Sensoren, einem eingebetteten Computersystem und einem Kommunikationsprozessor zur Verbindung mit einem Rechnernetz ausgestattet werden. Das Spektrum solcher sogenannten Smart Devices reicht von Haushaltsgeräten über Transport- und Logistiksysteme bis hin zu Industrieanlagen. Mittlerweile bedeutet die Vernetzung jener Geräte in der Praxis deren Anbindung an eine IoT-Plattform. Die Plattform erfüllt dabei die Funktion eines Betriebssystems, welches Anwendungsprogrammen ermöglicht, auf Basis standardisierter Internettechnologien aus den verschiedenartigen Geräten Daten auszulesen und Steuersignale an die Geräte zu senden. IoT-Plattformen schaffen so eine wesentliche Voraussetzung dafür, dass die angebundenen Geräte durch innovative Anwendungen dem Menschen einen größeren Nutzen bringen, als sie es an sich vermögen.

Abgrenzung gegenüber Plattformmärkten

Als ökonomisches Phänomen wird unter einer Plattform jede Institution verstanden, ohne deren Inanspruchnahme die Wettbewerbsfähigkeit vermindert oder eine Marktteilnahme gar unmöglich wird. Eine Plattformökonomie ist durch ökonomisch verwertbare Eigentumsrechte an einer solchen oder privilegierte Gestaltungsmöglichkeiten in Hinblick auf eine solche Institution gekennzeichnet.M. S. Schmid: Der Wettbewerb zwischen Business Webs Strategien konkurrierender Unternehmensnetzwerke im IPTV-Markt. Springer Gabler, 2010 Plattformen sind in der Wirtschaft kein neues Phänomen.A. Baums: Digitale Plattformen – DNA der Industrie 4.0, gesichtet am 27. Oktober 2019. Im Zuge der fortschreitenden Digitalisierung wurden Plattform-Unternehmen jedoch zur dominanten Erscheinungsform der Plattformökonomie.

Im Gegensatz dazu ist der Begriff der Plattform hier in einem informationstechnologischen Sinne zu verstehen, d. h. als eine einheitliche Grundlage, auf der Anwendungsprogramme ausgeführt und entwickelt werden können. Derzeit sind die Marktpotentiale der IoT-Plattformen noch weitestgehend unerschlossen. Inwieweit sich daraus zukünftige Plattformmärkte entwickeln werden, hängt von zahlreichen Einflussfaktoren ab. Maßgeblich ist unter anderem, in welchem Ausmaß erfolgreiche Marktleistungen an spezifische Cloud-Infrastrukturen anknüpfen oder in die Ökosysteme führender Plattformbetreiber eingebunden werden. Unter rein technischen Gesichtspunkten können IoT-Plattformen sowohl in einer Cloud als auch lokal auf eigenen Servern (On Premises) betrieben werden. Beim Edge Computing ist die IoT-Plattform vor Ort installiert, was jedoch nicht ausschließt, einzelne Anwendungen und Dienste verschiedener Cloud-Betreiber in Anspruch zu nehmen.

Schichtenarchitektur einer IoT-Plattform

Alle IoT-Plattformen kennzeichnet die nachfolgend abgebildete Schichtenarchitektur mit einem IoT Hub zur Anbindung von Geräten und einer Anwendungsprogrammierschnittstelle (englisch Application Programming Interface, Kurzform: API) zur Entwicklung und Ausführung von Anwendungen.

center|mini|650px|Schichtenarchitektur einer IoT-Plattform

Der IoT Hub

Der IoT Hub implementiert den plattformseitigen Endpunkt für den Datenaustausch zwischen der IoT-Plattform und den angebundenen Geräten. Prinzipiell kann die Kommunikation zwischen den Geräten und dem IoT Hub auf der Basis beliebiger Anwendungsprotokolle erfolgen, die von beiden Endpunkten unterstützt werden. Da Rechnernetze selbst eine Schichtenarchitektur besitzen, sind stets mehrere hierarchisch organisierte Netzwerkprotokolle am Datenaustausch beteiligt (vgl. Protokollstapel). In der oberen Protokollschicht, d. h. in der Anwendungsschicht hat sich mit Message Queuing Telemetry Transport (MQTT) ein De-facto-Standard durchgesetzt, der nahezu in jedem IoT Hub implementiert ist und darüber hinaus auch in der API zum Einsatz kommt. Gleichwohl sind geräteseitig auch andere Protokolle in Verwendung, die nicht von jedem IoT Hub unterstützt werden, sodass in solchen Fällen Gateways zu deren Konvertierung erforderlich sind. Insbesondere findet im industriellen Umfeld eine Datenübertragung oftmals nur innerhalb der Automatisierungsebene, d. h. in den untersten Protokollschichten statt, die dort einer Vielzahl unterschiedlicher Feldbussysteme entsprechen (bspw. CAN, Modbus oder Profibus). In dieser Ausgangslage werden zunächst Ethernet-Feldbus-Koppler benötigt, um überhaupt eine Netzwerkverbindung herzustellen.

Ist die Konnektivität innerhalb der Anwendungsschicht hergestellt, impliziert dies nicht, dass der Empfänger die übertragenen Nutzdaten zu interpretieren weiß. Der IoT Hub muss dazu in der Lage sein, innerhalb der empfangenen Nutzdaten einzelne Informationseinheiten zu identifizieren und diese in Datenstrukturen zu überführen, welche die Verarbeitungslogik der IoT-Plattform semantisch korrekt zu interpretieren vermag. Damit seitens der Plattform auch schreibend auf ein Gerät zugegriffen werden kann, muss der IoT Hub überdies alle schreibenden Operationen in die spezifischen Steuersignale des jeweiligen Gerätes übersetzen können. Bei den speicherprogrammierbaren Steuerungen von Maschinen und Produktionsanlagen bedeutet das, die richtigen Bits in die richtigen Speicheradressen zu schreiben. Der IoT Hub übernimmt somit die Funktion, die ein Gerätetreiber in einem Betriebssystem erfüllt. Das Spektrum der vom IoT Hub unterstützen Gerätesteuerungen ist ausschlaggebend dafür, in welchem Umfeld eine IoT-Plattform überhaupt sinnvoll eingesetzt werden kann bzw. für welche Anwendungsbereiche sie geeignet ist.

Verarbeitungslogik und Datenpersistierung

Die Verarbeitungslogik der Plattform zeichnet alle über den IoT Hub eintreffenden Daten chronologisch auf und stellt sie der Anwendungsprogrammierschnittstelle in aufbereiteter Form zur Verfügung. Anwendungsseitig initiierte Steuersignale werden dem IoT Hub zur weiteren Vermittlung an die Gerätesteuerungen übergeben. Ferner werden die von den Geräten empfangen Daten miteinander verknüpft und verdichtet. Graphische Benutzeroberflächen oder auch HTTP-Konfigurationsschnittstellen erlauben die Pflege der Stammdaten und die Konfiguration eines der Verarbeitungslogik zugrunde liegenden Regelwerks. Außerdem werden aus den eintreffenden Nachrichten komplexe, d. h. auf Anwendungsebene relevante Ereignismeldungen abgeleitet. Verarbeitungstechniken wie Complex Event Processing (CEP) ermöglichen es, Anwendungen in Echtzeit über relevante Ereignisse zu unterrichten.M. Friedemann, T.U. Trapp, J. Stoldt, T. Langer, M. Putz: A framework for information-driven manufacturing. Procedia CIRP 57 (2016), S. 38–43, gesichtet am 28. Oktober 2019.

Zur Persistierung der eintreffenden Daten werden bisweilen mehrere Datenbanksysteme parallel eingesetzt. Üblich sind sowohl speziell für Zeitreihen ausgelegte Datenbanksysteme als auch dokumentenorientierte Datenbanken wie MongoDB. Um einen größeren und schnelleren Datendurchsatz zu erreichen, werden häufig auch speicherzentrierte, verteilte Datenbank-, Caching- und Verarbeitungsplattformen wie Apache Ignite in die IoT-Plattform integriert.

Viele der im industriellen Umfeld betriebenen IoT-Plattformen bieten spezielle Schnittstellen für den wechselseitigen Datenaustausch und die Interaktion mit Drittsystemen an. Zumeist handelt es sich dabei um Schnittstellen zu ERP-Systemen verschiedener Hersteller. Regeln für die Interaktion mit diesen Drittsystemen werden in graphischen Benutzeroberflächen konfiguriert und von der Verarbeitungslogik der Plattform umgesetzt. Zur schnelleren Anbindung der ERP-Systeme an die IoT-Plattform stellen einige Anbieter sogenannte ERP-Adapter zur Verfügung, die als Modul innerhalb des jeweiligen ERP-Systems ausgeführt werden. Für die in der Produktion eingesetzten IoT-Plattformen ist der Datenaustausch mit ERP-Systemen unabdingbar, weil darin die Fertigungsaufträge zur bedarfsorientierten Steuerung der Produktion generiert werden.

Die Anwendungsprogrammierschnittstelle

In der Anwendungsprogrammierschnittstelle wird ein digitales, d. h. maschinenlesbares Abbild der an die IoT-Plattform angebundenen Geräte implementiert. In der Regel handelt es sich dabei um die Teilmenge eines umfassenderen Abbildes physischer und virtueller Gegenstände, in dem die Geräte jenen physischen Gegenständen zugeordnet werden, deren Bestandteil sie sind. Physische Gegenstände, wie etwa ein Fahrzeug oder eine Maschine, sind dadurch gekennzeichnet, dass sie zu jedem Zeitpunkt anhand ihres Aufenthaltsortes (englisch Location) lokalisierbar sind. Einem virtuellen Gegenstand, beispielsweise einem Lieferauftrag, kann dagegen weder ein Ort noch ein Gerät zugeordnet werden.

Anwendungen interagieren mit den angebundenen Geräten ausschließlich über die API. Infolge etablierter IoT-Standards weisen die Anwendungsprogrammierschnittstellen verschiedener IoT-Plattformen nur geringfügige Unterschiede auf. Aus diesem Grunde lassen sich Anwendungen, welche für eine bestimmte IoT-Plattform entwickelt wurden, mit geringem Aufwand auf andere Plattformen portieren. Physische und virtuelle Gegenstände werden in der API als Ressourcen abgebildet, die über einen Uniform Resource Locator (URL) adressiert und eindeutig identifiziert werden können. Ebenso werden die angebundenen Geräte und die Zeitreihen der von den Geräten übertragenen sensorischen Messwerte als Ressourcen abgebildet. Für den Zugriff auf all jene Ressourcen stehen ausschließlich die im Hypertext Transfer Protocol (HTTP) definierten Methoden zur Verfügung. Sie bilden eine für alle IoT-Plattformen uniforme Schnittstelle und gewährleisten dadurch die strukturelle Interoperabilität verschiedener Plattformen. Die gebräuchlichsten Methoden sind:

GET zum Anfordern einer Ressource PUT zum Ändern einer Ressource DELETE zum Löschen einer Ressource POST unter anderem zum Erzeugen einer Ressource

HTTP abstrahiert insofern von einer konkreten Repräsentation der Ressourcen, als diese in beliebigen Formaten repräsentiert werden können. Prinzipiell kommen für eine API hierzu alle maschinenlesbaren Formate in Frage. Gleichwohl verwenden die marktgängigen IoT-Plattformen ausschließlich die JavaScript Object Notation (JSON) als Repräsentationsformat und gewährleisten damit auch die syntaktische Interoperabilität verschiedener Plattformen. Anwendungsprogrammierschnittstellen auf der Grundlage von HTTP und JSON werden mittlerweile als REST-like oder REST API bezeichnet, wenngleich letzterer Bezeichnung ein Missverständnis zugrunde liegt.Darrel Miller auf GitHub: Supporting multiple transfer protocols with OpenAPI #777. Comment from 03 Dec 2016 REST als Abkürzung für REpresentational State Transfer beschreibt eigentlich nur eine bestimmte Ausprägung ressourcenorientierter Architekturen und kein konkretes Protokoll oder Format.R. T. Fielding: Architectural Styles and the Design of Networkbased Software Architectures. Diss. (2000)

IoT-Standards

REST-like API