REST-/RESTful-API Grundlagen

Roy Fielding veröffentlichte die „Representational State Transfer“-Architektur (REST) im Jahr 2000 im Rahmen einer Dissertation.
Es handelt sich um ein Objektmodell zur Datenübertragung von Maschine zu Maschine über das Internet (World Wide Web). Die Namensgebung bezieht sich auf die Darstellung einer Zustandsänderung durch Übertragung von Daten. REST kann in fast jeder Programmiersprache verwendet werden. Mittlerweile hat sich REST als eine sehr gängige Schnittstelle zur Datenübertragung für Web-Dienste entwickelt, auch oft als RESTApplication Programming Interface (REST API) bezeichnet. API’s sind üblicherweise Übergangspunkte von einer zur anderen Software.

Physik

 

Übertragbar ist REST über alle webfähigen Übertragungsmedien, sprich über das Internet (REST kann aber auch im lokalen Netzwerk genutzt werden). Am Anfang und am Ende einer Verbindung wird meist Ethernet, WLAN oder Mobilfunk als Übertragungsphysik genutzt.

Topologie

Mit Hilfe von REST API’s können sehr einfach Daten zwischen einem Client und z.B. einem Webserver ausgetauscht werden. Ein Webserver kann sich auch auf einem Automatisierungstechnik-Gerät befinden und muss nicht zwangsweise ein PC-basiertes System sein. Der Client ist eine Software Anwendung die die REST API des Webservers anspricht.

REST ist nicht voll durchstandardisiert und kein vollständiges Protokoll, bedient sich aber Verfahren aus HTTP(S), URI, XML, JSON.

Der Vorteil von REST liegt darin, dass im WWW bereits ein Großteil der für REST nötigen Infrastruktur (z. B. Web- und Application-Server, HTTP-fähige Clients, HTML- und XML-Parser, Sicherheitsmechanismen) vorhanden ist und viele Web-Dienste per se REST-konform sind. Eine Ressource kann dabei über verschiedene Medientypen dargestellt werden, auch Repräsentation der Ressource genannt.

Die Client-/Server-Architektur ermöglicht dem Server eine hohe Skalierbarkeit und dem Client eine hohe Plattform-Flexibilität und Portabilität für Anwender.
Server und Client kommunizieren zustandslos miteinander, dies bedeutet der Server kann nicht auf gespeicherte Daten zurückgreifen.
Clients können Anfragen des Servers zwischenspeichern, wenn diese entsprechend klassifiziert (cacheable oder non-cacheable) worden sind. Dies erhöht die Antwortgeschwindigkeit bei weiteren Anfragen.

Es handelt sich bei REST um eine Objektorientierte Programmierung. Objekte sind Server-Ressourcen die erzeugt oder gelöscht werden können. Die Objekte werden mit unterschiedlichen Methoden verändert.

Der Funktionsumfang einer REST API kann sehr unterschiedlich sein, aber übliche HTTP(S) Methoden sind:

  • GET - fordert Daten einer bestimmten Ressource vom Server an
  • POST - übermittelt Daten zur Verarbeitung an eine Ressource auf dem Server
  • PUT/PATCH - ändern/aktualisieren einer bestehenden Ressource auf dem Server
  • DELETE - löscht eine bestehende Ressource auf dem Server

Adressiert werden Ressourcen (Objekte) über eine Zeichenfolge, die URI (Uniform Ressource Identifier). Dabei kann es sich um eine Adresse oder einen Namen (URL oder URN) handeln.

Zur Sicherstellung der Übertragungssicherheit wird auf die bei http verfügbaren Technologien wie z.B. HTTPS mit SSL/TLS-Verschlüsselung zurückgegriffen. Zur Autorisierung werden oft Zugriffstoken verwendet die Sicherheitsinformationen zum Beispiel über Zugriffsrechte auf bestimmte Ressourcen beinhalten können.

Konfiguration

 

Um entsprechende Programmierung/Scripting zu erstellen ist eine spezifische Beschreibung der REST-Schnittstelle des gewünschten Servers erforderlich.
Es gibt von den Anbietern oft entsprechende Libraries für die Programmierumgebungen um gerätespezifische Funktionen einfach zu implementieren.

Varianten / Versionen

 

Durch die fehlende Standardisierung gibt es je nach Hersteller und Gerät unterschiedliche Varianten. Versionen die nicht auf http basieren sind eher selten, auch andere Datenformate als JSON sind selten.

 

Weitere Informationen:

Unser REST-/RESTful-API-Portfolilo:

Fernwartung

Modular aufgebaute Fernwartungs- und M2M-Router Ewon Flexy für Fernwartung und Datendienste

 zu den Fernwartungs-Routern

Fernerfassung von Daten mit Ewon Talk2M

Über den reinen Fernzugriff hinaus bietet Talk2M verschiedene Datendienste wie das Sammeln von Daten und Alarmmanagement, die eine Zustandsüberwachung und proaktive Wartung Ihrer Anlagen ermöglichen.

 weitere Informationen zu Talk2M Datendienste