REST-API

REST-API verständlich erklärt für Nicht-Entwickler

Das Wichtigste in Kürze:

  • Eine REST-API (auch RESTful-API) ist eine eine Programmierschnittstelle (Application Programming Interface, kurz API) bzw. Web-API für Webservices.
  • REST-APIs sind Schnittstellen, die nach dem REST-Architekturstil (Representational State Transfer) entwickelt werden und Interaktionen mit RESTful Webservices zwischen Client und Server ermöglichen.
  • In diesem Artikel lernen Sie die Funktionsweise, Prinzipien und Vorteile von RESTful-Schnittstellen kennen sowie den Unterschied zwischen REST und SOAP.

Inhalt:

Live-Demo.

Lobster in Aktion
mit unseren Experten.

Produkttour.

Ohne Anmelden
direkt loslegen.

Was ist eine REST-API?

Eine REST-API (auch RESTful-API) ist eine Programmierschnittstelle (Application Programming Interface, kurz API), dessen API-Design dem REST-Architekturstil folgt.  REST-APIs sind dazu da, Interaktionen mit RESTful Webservices zwischen Client und Server zu ermöglichen. REST steht dabei für „Representational State Transfer“ und wurde vom US-Informatiker Roy Fielding entwickelt.

Grundsätzlich funktionieren APIs als Schnittstelle, die verschiedene Systeme und Softwareanwendungen miteinander verbinden und sind aus einem Standard-Bausatz an Befehlen, Funktionen, Protokollen und Verfahren aufgebaut. So können Softwaresysteme ohne aufwendigen Code über eine gemeinsame Schnittstelle kommunizieren und ihre Daten (gemeinsam) bearbeiten und Informationen austauschen – zum Beispiel beim Verwenden einer Staumelder-App über das Smartphone, die über eine API auf aktuelle Verkehrsinformationen eines Drittanbieters oder einer öffentlichen Einrichtung zurückgreift.

Wie funktioniert eine RESTful-API?

Wenn eine Client-Anforderung über eine RESTful-API gestellt wird, überträgt diese den „Representational State“, d. h. eine Repräsentation des Ressourcenstatus, an den Anforderer oder Endpunkt. Die Informationen werden als Hypertext Transfer Protocol (HTTP) bereitgestellt.

Von RESTful-APIs verwendete HTTP-Formate

  • JSON (JavaScript Object Notation)
  • HTML
  • XLT
  • Python
  • PHP
  • Plain Text (einfacher Text wie dieser)

Im Rahmen von REST werden zum Datenaustausch meist die Datenformate JSON, XML und HTML verwendet. JSON ist hierbei die beliebteste Programmiersprache, weil es trotz seines Namens sprachagnostisch ist und sowohl von Menschen als auch von Maschinen gelesen werden kann. In bestimmten Settings können auch weitere Methoden zum Einsatz kommen, wie HEAD, CONNECT, PATCH oder TRACE. Für die Ressourcenanfrage werden verschiedene Methoden verwendet.

HTTP-Anfragen einer RESTful-API

  • 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 passiert bei einer REST-Anfrage?

Grundsätzlich werden bei einer RESTful-API 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.

Da RESTful-APIs das HTTP-Protokoll und dessen Methoden für die Kommunikation zwischen Client und Server verwenden, sind im Rahmen von REST keine Absprachen zu Protokoll-Konventionen nötig.

Die 6 Prinzipien der REST-Schnittstelle

1. 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.

2. 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.

3. Caching

Ein weiteres Kennzeichen von REST ist die Möglichkeit der Zwischenspeicherung (Caching) von Daten. Diese 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.

4. Einheitliche Schnittstelle

Damit in REST-Schnittstellen 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.

5. Mehrschichtiges System

Bei der REST-Architektur setzt sich die Programmierschnittstelle aus mehreren Layern (Schichten) zusammen, wobei jede Schicht/ Zwischenkomponente nur die direkt angrenzende Layer 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.

6. Code-on-Demand

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

Müssen Sie bei RESTful-Schnittstellen noch etwas berücksichtigen?

Nachteile oder Probleme mit REST-Schnittstellen an sich gibt es kaum. Bei noch wenig fortgeschrittener Digitalisierung könnte eine mögliche Hürde für die API-Strategie eines Unternehmens 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.

ihr kostenloser
API-Guide.

API-Wissen von Design bis Versionierung. Der ganze Lifecycle.

Hintergrund und Vorteile der REST-API

Der REST-Architekturstil wurde im Jahr 2000 vom amerikanischen Informatiker Roy Fielding im Rahmen seiner Dissertation veröffentlicht. Bis dahin war das von Microsoft entwickelte Protokoll SOAP (Simple Object Access Protocol) die verbreitetste Plattform für Client-Server-Interaktionen.

SOAP hat jedoch zwei wesentliche Nachteile:

1. zum einen müssen sich Nutzer bei der Interaktion mit dem Server an strenge Regeln halten und

2. zum anderen basiert das Protokoll auf dem umständlichen XML-Format.

Diese Limitierungen führten dazu, dass Roy Fielding kurzerhand eine bessere Alternative entwickelte: die REST-Schnittstelle.

REST beseitigt nicht nur die Nachteile von SOAP, sondern bietet zusätzlich drei große Vorteile:

1. mehr Flexibilität bei der Formatierung

2. eine höhere Geschwindigkeit und

3. eine geringere benötigte Bandbreite.

Heute ist die Web-API REST eine der gängigsten APIs und wird von den meisten großen Plattformen wie Amazon, Facebook, X (ehem. Twitter) und Google verwendet, um Webservices zu integrieren.

Ebay und Amazon waren dabei 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 – der Beginn der heutigen API-Economy.

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. Die wirtschaftlichen Vorteile sind zunächst identisch mit denen anderer Programmierschnittstellen.

Wirtschaftliche Vorteile von REST

  • 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

Vorteile bei der Entwicklung

  • Einfaches API-Management dank Mehrschichtigkeit (individuelles Einstellen, Aktualisieren und Löschen von Ressourcen und Komponenten) im laufenden Geschäftsbetrieb
  • Mehr Flexibilität bei 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-prozentige 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“

Einfaches API-Management ohne Programmierkenntnisse mit Lobster

Das API-Management der No-Code-basierten Datenintegrationsplattform Lobster_data ermöglicht Ihnen, einen REST-API-Client sowie -Server in wenigen Schritten und ohne Programmierkenntnisse einzurichten.

Die Plattform verwaltet alle REST-Kommunikationskanä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 äußerst 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 Data-Mapping – 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 ausgezeichnete 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 Kommunikationsaufbau werden erheblich reduziert, da die Verbindungsparameter immer automatisch auf dem neuesten Stand sind.

Sie möchten mehr über Lobster_data als API-Management-Plattform erfahren? Treten Sie unverbindlich mit uns in Kontakt, unsere Spezialisten beantworten Ihnen gerne alle Fragen zu Ihrem jeweiligen Anwendungsfall. Sie werden überrascht sein, wie einfach und intutitiv API-Management mit Lobster_data in der Praxis funktioniert.

Das könnte Sie auch interessieren

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: