REST API einfach erklärt
Stellen Sie sich vor, Sie schicken einem anderen System eine Frage – etwa: „Hey, gib mir bitte den aktuellen Produktionsstatus!” – und dieses antwortet prompt mit den gewünschten Infos. Genau das ermöglicht eine REST API (Representational State Transfer). Dabei führt man Standard‑HTTP‑Befehle wie GET, POST, PUT oder DELETE aus –aber Maschinen sprechen direkt miteinander, ganz ohne komplizierten Aufwand. In der IIoT‑Welt bedeutet das: Ihre Sensoren oder Anlagen können über das Internet so kommunizieren wie Sie heute eine Webseite nutzen – unkompliziert, schnell und effizient.
Hintergrundinformationen
Eine REST API (auch RESTful API) ist eine Programmierschnittstelle, die den Prinzipien des Architekturstils REST (Representational State Transfer) folgt. Dieser Stil wurde im Jahr 2000 von Roy Fielding definiert und bietet Flexibilität, Skalierbarkeit, Konsistenz und Effizienz in webbasierten Systemen. REST APIs ermöglichen u.a. die flexible Integration von Maschinendatenerfassung in bestehende IT-Landschaften.
REST APIs in IIoT-Plattformen
In IIoT‑Plattformen werden Geräte, Sensoren, Messdaten und Zeitreihen typischerweise als Ressourcen modelliert. Jede Ressource erhält eine eigene URL, über die sie eindeutig identifizierbar ist – beispielsweise /devices/{deviceId} oder /things/{id}. Die Kommunikation erfolgt über gängige HTTP‑Methoden wie GET, PUT, POST, DELETE, wobei als Datenformat nahezu durchgängig JSON genutzt wird. Diese Kombination sorgt für Interoperabilität – verschiedene Systeme und Anbieter können ohne großen Aufwand miteinander kommunizieren.
REST APIs bieten zudem klare Vorteile im IIoT‑Kontext:
- Sie basieren auf HTTP, laufen auf nahezu jeder Plattform und benötigen kein Spezialwissen – viele Automatisierungsingenieure kennen HTTP bereits.
- Sie reduzieren den Bedarf an Gateways oder Protokollkonvertern, da viele Systeme direkt über REST kommunizieren können.
Viele Plattformen (z. B. von Bosch, Siemens, AWS, IBM Watson) setzen auf REST‑ähnliche APIs, wodurch Anwendungen herstellerunabhängig entwickelt und migriert werden können.
REST/API-Prinzipien im Detail
REST ist kein Protokoll, sondern ein Architekturstil, definiert durch sechs zentrale Prinzipien – genannt „Constraints“ – die zusammen dafür sorgen, dass APIs flexibel, skalierbar und wartbar sind:
- Client-Server
Klare Trennung zwischen Client (z. B. Weboberfläche oder IIoT-Anwendung) und Server (API‑Backend), was unabhängige Weiterentwicklung beider Seiten erlaubt. - Zustandslosigkeit (Statelessness)
Jede Anfrage enthält alle relevanten Informationen – der Server merkt sich nichts vom vorherigen Zustand. Das macht die APIs skalierbar und tolerant gegenüber Ausfällen. - Cacheability
Antworten können eindeutig als cachebar oder nicht cachebar definiert werden (z. B. über HTTP-Header), was die Performance steigert und Serverlast reduziert. - Uniform Interface
Eine einheitliche Schnittstelle über Ressourcen-URIs und standardisierte HTTP-Methoden.- Ressourcen werden durch eindeutige URIs dargestellt.
- Manipulation erfolgt über Repräsentationen (z. B. JSON), die alle nötigen Informationen enthalten.
- Nachrichten sind selbstbeschreibend – z. B. durch Header und Medientypen.
- Layered System
Die Architektur kann mehrere Schichten enthalten (Client → Gateway → Server), ohne dass der Client weiß, wie viele oder welche Schichten dazwischen bestehen. Das erhöht Sicherheit und Skalierbarkeit. - Code on Demand (optional)
Der Server kann dem Client ausführbaren Code zur Laufzeit liefern – etwa in Form von UI-Scripts. Das Prinzip ist optional und wird eher selten verwendet.
Ein weiteres fortgeschrittenes Konzept ist HATEOAS (Hypermedia as the Engine of Application State):Der Server liefert nicht nur Daten, sondern auch Links zu weiteren Aktionen oder Ressourcen. So navigiert der Client dynamisch durch die Anwendung – ohne hart kodierte URLs. Dadurch kann der Server unabhängig weiterentwickelt werden.
