REST Schnittstelle im Industrial IoT (Use-Cases und Grenzen)

Inhalt

Die Welt des Industrial IoT (IIoT) wird maßgeblich von der fortschreitenden Digitalisierung und der zunehmenden Vernetzung von OT und IT geprägt. In diesem Kontext spielt die REST-Schnittstelle, auch RESTful Schnittstelle genannt, eine entscheidende Rolle. Als Architekturstil bietet REST eine effiziente Möglichkeit zur Entwicklung von Webservices und APIs. Dieser Artikel beleuchtet die Bedeutung der REST Schnittstelle im Industrial IoT, der Vorteile sowie Use-Cases und Grenzen des Standards.

 

REST und die API-basierte Kommunikation

Eine API-basierte Kommunikation beschreibt den Austausch von Daten zwischen Softwareanwendungen über Programmierschnittstellen (APIs). APIs definieren, wie verschiedene Softwarekomponenten miteinander interagieren können. Sie umfassen die Definition der Struktur von Anfragen, akzeptierten Datenformaten und der Art der Rückgabewerte. Diese Definition erleichtert die Integration zwischen verschiedenen Systemen und ist besonders nützlich für verteilte Systeme, Cloud-Dienste und Webanwendungen.

REST Schnittstelle und HTTP Methoden

Ein Beispiel für eine API-basierte Kommunikation ist die REST-Schnittstelle (Representational State Transfer). REST bietet einen standardisierten Ansatz für die Entwicklung von APIs und basiert auf dem Prinzip der Zustandslosigkeit. Hierdurch wird jede Anfrage an den Server unabhängig von vorherigen Anfragen behandelt. Mit HTTP-Methoden wie GET, POST, PUT und DELETE erfolgt der Austausch von Ressourcen zwischen Client und Server. Ressourcen werden dabei durch URIs (Uniform Resource Identifiers) identifiziert.

 

Vorteile von REST im Kontext Industrial IoT

Im industriellen Kontext hat REST große Beliebtheit aufgrund folgender Vorteile erlangt:

  • Einfachheit und Flexibilität: REST nutzt Standard-HTTP-Methoden und ist somit einfach zu verstehen und zu implementieren. Es ermöglicht eine flexible Kommunikation zwischen unterschiedlichen Systemen und Plattformen.
  • Leichtgewichtigkeit: Da REST zustandslos ist und einfache Textnachrichten für die Kommunikation nutzt, ist es ressourcenschonend und effizient in der Datenübertragung.
  • Skalierbarkeit: REST ist hochgradig skalierbar. Diese Eigenschaft macht REST ideal für große, verteilte Systeme, wie sie im Kontext Industrial IoT häufig vorkommen.

 

Use-Cases der REST Schnittstelle im Industrial IoT

Im Kontext des Industrial IoT (IIoT) hat die REST Schnittstelle aufgrund seiner Einfachheit, Flexibilität, Leichtgewichtigkeit und Skalierbarkeit große Beliebtheit erlangt. REST ist der Standard für die API basierte Kommunikation, welche die einfache Integration verschiedener IT Systeme und Anwendungen ermöglicht. REST-APIs werden häufig für die Fernüberwachung von Produktionsanlagen, für die Erfassung und Verteilung von Betriebsdaten sowie der IT zu IT Integration von Unternehmens- und Produktionssystemen (z.B. ERP, MES) verwendet.

 

Grenzen von REST und API-basierter Kommunikation

Die REST-Schnittstelle stößt in vielen OT/IT-Integrationsszenarien an Grenzen. Insbesondere in Use-Cases, die spezifische Anforderungen haben, wie zum Beispiel:

  1. Echtzeit-Anforderungen: REST API ist auf synchrone Kommunikation ausgelegt. Das bedeutet, dass der Client auf eine Anfrage warten muss, bis er eine Antwort vom Server erhält. In Echtzeit-Anwendungen, in denen schnelle Datenübertragung und Reaktionen erforderlich sind, kann diese synchrone Natur zu Verzögerungen führen
  2. Birektionale Kommunikation: REST API ist standardmäßig unidirektional, wobei der Client Anfragen initiiert und der Server darauf reagiert. In Fällen, in denen eine bidirektionale Kommunikation erforderlich ist, beispielsweise für das Senden von Befehlen an IoT-Geräte oder für eine ständige Aktualisierung von Statusinformationen.
  3. Persistente Verbindungen: REST ist zustandslos. Das bedeutet, dass jeder Anfrage- und Antwortzyklus unabhängig voneinander ist. In Umgebungen, in denen persistente Verbindungen für eine konstante Überwachung und Steuerung von Geräten erforderlich sind, können diese ständigen Neuanmeldungen und Authentifizierungen zu einem erhöhten Overhead führen.
  4. Effiziente Ressourcennutzung: REST API kann ineffizient sein, wenn es um die Bandbreitennutzung geht. Die Hinzufügung von Headern zu jeder Anfrage kann zu einer erhöhten Netzwerklast führen. In Anwendungen, in denen eine effiziente Ressourcennutzung und Minimierung des Datenverkehrs entscheidend sind, können alternative Protokolle bevorzugt werden.
  5. Verfügbarkeit bei Netzwerkausfällen: Da REST nicht für persistente Verbindungen ausgelegt ist, kann es bei Netzwerkausfällen Schwierigkeiten bei der Wiederherstellung von Verbindungen und der Aufrechterhaltung von Konsistenz zwischen OT- und IT-Systemen geben.

 

Alternativen zur API-basierten Kommunikation

In Use-Cases mit oben genannten Anforderungen sind Alternativen zur API-basierten Kommunikation zu bevorzugen. Zum Beispiel:

  1. Messaging-Protokolle: Statt APIs können Systeme auch auf Messaging-Protokolle wie Message Queues oder Publish-Subscribe-Systeme zurückgreifen. Diese ermöglichen die asynchrone Kommunikation zwischen Anwendungen.
  2. Webhooks: Webhooks sind HTTP-Callbacks, bei denen eine Anwendung automatisch Benachrichtigungen oder Daten von einer anderen Anwendung empfängt, wenn ein bestimmtes Ereignis eintritt.
  3. Dateiübertragung: Anwendungen können Daten durch den Austausch von Dateien teilen. Dies kann über FTP, SFTP oder andere Dateiübertragungsprotokolle erfolgen.
  4. Direkte Socket-Verbindungen: Anwendungen können auch direkt über Netzwerk-Sockets miteinander kommunizieren, wobei eine direkte Verbindung für den Datenaustausch hergestellt wird.

 

Webhook vs. REST API

Webhooks sind Benachrichtigungen oder HTTP-Post-Nachrichten, die automatisch von einem Webdienst gesendet werden, um andere Dienste über bestimmte Ereignisse zu informieren, ohne dass diese aktiv danach fragen müssen. Webhook werden alternativ zu REST-APIs (Representational State Transfer APIs) für die Kommunikation zwischen Softwarekomponenten genutzt. Die Hauptunterschiede zwischen den beiden Ansätzen sind:
Unterschied zwischen Webhook und REST API einfach erklärt

 

  1. Auslösung von Aktionen:
    • REST-API: In einer REST-API initiiert der Client die Anfrage an den Server Request), um Daten abzurufen, zu erstellen, zu aktualisieren oder zu löschen. Der Server reagiert auf diese Anfrage (Response).
    • Webhook: Bei einem Webhook initiiert der Server (die sendende Anwendung) den Kommunikationsprozess, indem er Daten an vorher registrierte Endpunkte sendet. Dies geschieht, wenn ein bestimmtes Ereignis eintritt.
  2. Richtung der Kommunikation:
    • REST-API: Die Kommunikation erfolgt auf Anforderung des Clients. Der Client sendet Anfragen an den Server, und der Server antwortet mit den angeforderten Daten.
    • Webhook: Die Kommunikation erfolgt in Echtzeit und wird vom Server initiiert. Der Server sendet Daten an vorher registrierte Endpunkte (Webhook-URLs), wenn ein relevantes Ereignis auftritt.
  3. Asynchronität:
    • REST-API: Die Kommunikation erfolgt synchron. Der Client sendet eine Anfrage und wartet auf die sofortige Antwort des Servers.
    • Webhook: Die Kommunikation kann asynchron sein. Der Server sendet Daten an den Webhook-Endpunkt, und die empfangende Anwendung verarbeitet sie unabhängig vom Zeitpunkt des Sendens.
  4. Anwendungsfälle:
    • REST-API: Geeignet für Anwendungsfälle, bei denen der Client aktiv Informationen abfragen oder Aktionen auslösen muss.
    • Webhook: Geeignet für Echtzeitanwendungen und Benachrichtigungen, bei denen der Server andere Anwendungen über Ereignisse informieren soll.
In vielen Fällen sind REST-APIs und Webhooks parallel im Einsatz, um eine umfassende Kommunikationsstruktur zwischen verschiedenen Anwendungen zu schaffen. Ein Beispiel dafür wäre die Verwendung einer REST-API für allgemeine Datenabfragen und die Implementierung von Webhooks für Echtzeitbenachrichtigungen über wichtige Ereignisse.

 

i-flow und REST – Nahtlose Integration im Industrial IoT

Die Kombination von i-flow und REST bietet eine leistungsfähige Lösung für die Dateninfrastruktur in der Fabrik. i-flow kann als Schnittstelle dienen, um heterogene Daten aus Produktionssystemen zu harmonisieren und diese über REST-APIs IT-Systemen bereitzustellen. Dies ermöglicht die nahtlose Integration von Produktions- und Unternehmensdaten, was zur Effizienzsteigerung und verbesserten Rückverfolgbarkeit von Produkt- und Prozessdaten beiträgt. REST sorgt dabei für eine flexible und effiziente Datenübertragung.

Über i-flow: i-flow ist ein Unternehmen für industrielle Software mit Sitz in Süddeutschland. Wir bieten produzierenden Unternehmen die weltweit intuitivste Software zur Vernetzung von Fabriken. Täglich über 400 Millionen Datenoperationen in produktionskritischer Umgebung demonstrieren nicht nur die Skalierbarkeit der Software, sondern auch das tiefe Vertrauen, das unsere Kunden in i-flow setzen. Unser Erfolg basiert auf enger Zusammenarbeit mit Kunden und Partnern weltweit, darunter namhafte Fortune-500-Unternehmen und Branchenführer wie Bosch.

Jetzt selbst ausprobieren - Kostenlose Testversion

Überzeugen Sie sich in einem Test selbst von den unbegrenzten Möglichkeiten, die Sie mit i-flow erhalten. Jetzt 30 Tage kostenfrei testen, auf Ihren Systemen.

Ihre Frage wurde nicht be­antwortet? Kontaktieren Sie uns.

Ihr Kontakt:

Marieke Severiens (i-flow GmbH)
content@i-flow.io