REST-API.

Als Überschrift gleich zwei Abkürzungen REST und API! Die Abkürzung API dürfte aufgrund ihrer Bedeutung im World Wide Web inzwischen vielen Nutzern von Online-Diensten als „irgendwas mit Schnittstellen, über die Daten ausgetauscht werden“ bekannt sein. Beim Akronym REST oder gleichbedeutend RESTful API sieht es wahrscheinlich etwas anders aus. Die englische Abkürzung REST steht für „Representational State Transfer“, also für eine Technologie, die Daten in einem „repräsentativen Zustand“ überträgt. Was das genau heißt, lesen Sie hier.
Overview

Was ist eine REST-API?

REST-API steht für für Representational State Transfer – Application Programming Interface und bezeichnet eine Programmierschnittstelle (API) im REST-API-Design oder in der REST-Architektur.

Deshalb eine einleitende Bemerkung zu Programmierschnittstellen an sich: Eine API fungiert als Kontaktpunkt, aufgebaut aus einem Standard-Bausatz an Befehlen, Funktionen, Protokollen und Verfahren. So können Softwaresysteme ohne aufwändigen Code an einer gemeinsamen Schnittstelle zusammenkommen, ihre Daten (gemeinsam) bearbeiten und Informationen austauschen – zum Beispiel beim Verwenden einer Staumelder-App über das Handy, die per API auf aktuelle Verkehrsinformationen eines Drittanbieters oder einer öffentlichen Einrichtung zurückgreift.

Spricht man zudem von REST oder RESTful – Abkürzungen, die Roy Fielding im Jahr 2000 einführte – wird damit eine besondere, nach den folgenden sechs Prinzipien entwickelte API bezeichnet:

Client-Server-Trennung
Bei einer REST-Schnittstelle fordert der Client, also das anfragende Programm, einen gewünschten Dienst vom Server an und löst damit dessen Reaktion aus. Das Besondere am Client-Server-Modell von REST ist die klare Rollentrennung zwischen Datenanfrage und Datenauslieferung.

Zustandslosigkeit
Bei REST muss die Kommunikation zwischen Client und Server „zustandslos“ oder „repräsentativ“ sein. Das bedeutet, dass jede Anfrage immer genau die Daten enthält, die zu ihrem Verständnis und damit zu ihrer Ausführung erforderlich sind. Damit der Server keine Informationen zum Sitzungsstatus speichern muss, liefert der Client die Informationen zum Sitzungsstand gleich mit. Zusätzlich muss sich der Client je nach Anforderung des Systems bei jeder Anfrage authentifizieren.

Caching
Ein weiteres Kennzeichen von REST ist die Möglichkeit der Zwischenspeicherung (Caching). Daten werden explizit als „cacheable“ oder „non-cacheable“ gekennzeichnet, je nach erfolgter Auswahl zwischengespeichert und bei identischer Anfrage erneut verwendet. Die Option der Zwischenspeicherung in REST ermöglicht eine erhebliche Leistungsverbesserung von Schnittstellen.

Einheitliche Schnittstelle
Damit in REST wirklich alle Komponenten und diese verschiedenen Komponenten auch mit dem System problemlos in Austausch treten können, folgen sie identischen Regeln. Das heißt: Alle Anfragen müssen ein einheitliches Format aufweisen und alle Ressourcen nur unter ein und derselben E-Mail-Adresse erreichbar sein.

Mehrschichtiges System
Bei REST setzt sich die Schnittstelle aus mehreren Layern zusammen, wobei jede Schicht/ Zwischenkomponente nur die direkt angrenzende Schicht kennt und nicht über sie hinaussehen kann. Die einzelnen Komponenten der RESTful API sind somit voneinander unabhängig und können einzeln erweitert beziehungsweise ausgetauscht werden.

Code-on-Demand
Ein wichtiges Merkmal von Programmierschnittstellen ist, dass sie ohne aufwändiges Kodieren auskommen. Sollen aber die Client-Funktionalitäten erweitert werden, können zusätzliche Programmteile oder Code vom Server auf den Client übertragen, herunter-geladen und ausgeführt werden. Da dieses REST-Kennzeichen optional besteht, spricht man von Code-on-Demand.

Wie funktioniert eine REST-API?

Bei einer REST-API werden serverseitig Ressourcen definiert, die Entitäten oder auch nur benennbare Informationen kapseln und so die Art der Implementierung auf dem Server verbergen.

Ein Client kann nur über einen Uniform Resource Identifier (URI) auf die Ressource zugreifen. Zunächst prüft der Server, ob der Client zum Zugriff berechtigt ist. Nach dessen erfolgreicher Authentifizierung bearbeitet der Server die Anfrage intern und sendet das Ergebnis zurück. Auch für den Fall, dass die Authentifizierung oder die Verarbeitung fehlschlagen, schickt der Server eine entsprechende Nachricht an den Client. So entsteht in der Kommunikation der beiden Systeme kein Leerlauf.

Für die Kommunikation zwischen Client und Server sind im Rahmen von RESTful keine Absprachen zu Protokoll-Konventionen nötig, denn REST-API verwenden das Hypertext Transfer Protocol (kurz HTTP-Protokoll) und dessen Methoden. Dazu zählen vor allem folgende Anfragemethoden:

  • GET: Abfragen von Ressourcen per Browser z. B. beim Aufruf einer Webseite
  • POST: Senden von Daten an den Server z.B. über ein Kontaktformular
  • PUT: Anlegen und Aktualisieren auf dem Server bereits vorhandener Ressourcen
  • DELETE: Löschen von Ressourcen.


Weitere Methoden wie beispielsweise HEAD, CONNECT, PATCH, TRACE können in bestimmten Settings ebenfalls zum Einsatz kommen. Im Rahmen von REST werden zum Datenaustausch sehr häufig die Datenformate JSON, XML und HTML genutzt.

 

Was ist zu berücksichtigen?

Nachteile oder Probleme mit REST-Schnittstellen an sich gibt es kaum. Bei noch wenig fortgeschrittener Digitalisierung könnte ein möglicher Pain Point für Unternehmen in der starken Verbreitung von REST-APIs im Datenaustausch zwischen Systemen bestehen. Auch KMU sollten daher sowohl in ihrer Rolle als Client als auch als Server großes Interesse daran haben, das erforderliche Know-how und die nötige Infrastruktur vorzuhalten, um REST-APIs ansprechen beziehungsweise anbieten und damit deren Vorteile nutzen zu können.

 

Vorteile durch REST-API.

Ebay und Amazon waren die ersten, die diese Technologie genutzt haben. So erweiterte Ebay dank einer dedizierten REST-API den Zugriff auf seinen Online-Marktplatz weit über die Gruppe der direkten Marketplace-Besucher hinaus auf jede Webseite, die auf die Ebay-API zugreifen wollte. Amazon trieb ab 2006 diese Entwicklung in Richtung Cloud-Computing noch weiter voran und ermöglichte Kunden, über die Amazon RESTful-API mit Cloud-Diensten zu interagieren.

Dabei sind die wirtschaftlichen Benefits von REST zunächst identisch mit denen anderer Programmierschnittstellen:

  • optimierter Datenaustausch über alle Regionen und Zeitzonen hinweg
  • unkomplizierter Zugang für Externe zum unternehmenseigenen System
  • gesteigerte Prozesseffizienz (kurze Antwortzeiten, einfache Anpassung etc.)
  • Steigerung der Markenbekanntheit durch optimierte CX & Kundengewinnung

 

liegen aber im Besonderen in deren spezifischen Entwicklungsvorteilen:

Einfaches Management dank Mehrschichtigkeit (individuelles Einstellen, Aktualisieren und Löschen von Ressourcen und Komponenten) im laufenden Geschäftsbetrieb.

Mehr Flexibilitätbei der API-Entwicklung durch strikte Trennung der beiden Ebenen Nutzer/Oberfläche und Server/Datenspeicher und somit verbesserte Portabilität, erhöhte Skalierbarkeit und problemlose Migration.

Vereinfachter Einsatz beziehungsweise leichtes Testen in neuen Umgebungen durch 100%ige Anpassung an die vorhandene Plattformart oder Sprache/Syntax. Festlegung auf Sprachen, zumeist XML oder JSON, nur bei der Beantwortung der Anfragen.

Kürzere Entwicklungszyklen und somit Zeit- und Kostenersparnis – auch im Hinblick auf die wertvolle, durch den IT-Fachkräftemangel knappe Ressource „Programmier-Kompetenz“

Welche Lösung bietet Lobster?

Die No-Code-basierte Datenintegrations-Software Lobster_data bietet die Möglichkeit in nur wenigen Schritten, ohne Programmierwissen sowohl einen REST-API-Client als auch -Server einzurichten.

Lobster_data verwaltet alle REST-Kommunikations-Kanäle zentral in der Partnerverwaltung, um grundlegende Verbindungsparameter wie Kommunikations-Endpunkte und Authentifizierungen als API-Definition systemweit zur Verfügung zu stellen. Neben der erhöhten Übersichtlichkeit erleichtert dies auch die Pflege. Ändern sich Verbindungsparameter, müssen diese nur an einer Stelle nachgepflegt werden. Metainformationen wie Kontaktadressen der Partner, Zertifikate, Zugangskennungen oder Protokoll-Optionen erleichtern die Administration, aber auch die systemweite Nutzung.

So übernimmt Lobster_data beispielsweise HTTP-Authentifizierungen automatisch – unabhängig davon, ob der Server eine Basic Authentication oder eine Digest Access Authentication verlangt. Im Lobster_data Profil – einem hoch benutzerfreundlichen Standardmodul der Software – muss dafür lediglich ein HTTP-Kanal mit den entsprechenden Zusatzdaten hinterlegt werden. Über einen zeitgesteuerten Eingangsagenten werden die Daten abgeholt und der weiteren Verarbeitung – häufig einem Datenmapping – zugeführt.

Bei einer OAuth2-Authentifizierung stellt Lobster_data sicher, dass eine Anfrage auch immer einen aktuellen bzw. gültigen Access Token bekommt. Falls erforderlich, erfolgt dessen Aktualisierung im Hintergrund der eigentlichen Anfrage.

Die integrierten Simulatoren bieten sehr gute Möglichkeiten, das Verhalten der Partnerkanäle zu testen. Wenn Lobster_data selbst als Server arbeitet und als REST-Endpunkt fungiert, stellt es diesen und zusätzliche Daten zur Verfügung. Monitoringfunktionen mit automatischer Systemüberwachung sind standardmäßig vorhanden.

Lobster_data stellt automatisch eine API-Dokumentation über eine Swagger/OpenAPI-Schnittstellenbeschreibung (JSON oder YAML) pro Schnittstelle schnell und fehlerfrei zur Verfügung. Die Implementierung mit diesem für Mensch und Maschine lesbaren Beschreibungsmechanismus der RESTful APIs beschleunigt die Schnittstellenentwicklung enorm. Fehler beim Kommunikationsaufabu werden erheblich reduziert, da die Verbindungsparameter immer automatisch auf dem neuesten Stand sind.

DIGITALISIERUNG

Automatisierung, E-Fulfillment, E-Invoicing, Plattformen, Process Mining

DatenIntegration

Data Lake, Data Warehouse, Datenintegration, EAI, EDI, ERP-Systeme, INFOR LN, Protokolle

Hybrid IT

Kollaboration, Remote Work

Green IT

Nachhaltige Rechenzentren
  • Gute Dinge wachsen langsam

    Coming soon...

Lobster_LoadBalance3650

DARUM ZU LOBSTER.

Zur LIVE-Demo.

LOBSTER kennenLERNEN.

Oder rufen Sie uns an:

Zur Live-Demo.

Lernen Sie LOBSTER_data kostenlos kennen. Anmelden und Loslegen.

Oder rufen Sie uns an:

Zur Live-Demo.

Lernen Sie LOBSTER_data kostenlos kennen. Anmelden und Loslegen.

Oder rufen Sie uns an: