Was ist eine REST API? Der Schlüssel zu flexibler Systemintegration

By teamnext Editorial Team

Zum Einstieg hilft eine Definition. Dazu zuerst der zweite Begriffsteil.

API steht für application programming interface. Gemeint ist eine Programmierschnittstelle. Sie ermöglicht die Anbindung anderer Programme an ein Softwaresystem. Daten werden dabei auf Quelltext-Ebene ausgetauscht.

REST steht für representational state transfer. Die genaue Bedeutung folgt weiter unten. Für den Anfang reicht diese Einordnung: Eine REST API fungiert als Schnittstelle zwischen verteilten Systemen.

Digital Asset Management, kurz DAM, bezeichnet die Verwaltung digitaler Medien wie Fotos und Videos. In diesem Beitrag geht es auch um die Möglichkeiten, die eine REST API bei der Integration von DAM-Systemen bietet.

Für welche Zwecke wird eine REST API eingesetzt?

REST APIs nutzen das HTTP-Protokoll. Sie kommen bei Webservices zum Einsatz, wenn ein automatisierter Informationsaustausch zwischen Netzwerkanwendungen erforderlich ist.

Beispiele:

  • Ein Webshop wird über eine REST API an ein PIM-System oder ein Warenwirtschaftssystem angebunden.

  • Eine SharePoint Instanz wird integriert, um Remote Arbeit an bestimmten Dateien zu ermöglichen.

Die beteiligten Systeme können unterschiedlich aufgebaut sein und eigene Datenformate und Datenstrukturen besitzen. Die Aufgabe der REST API besteht darin, eine standardisierte Form der Kommunikation zwischen diesen Systemen herzustellen.

6 Prinzipien einer REST API

Der REST Standard basiert auf sechs Prinzipien. Sie gehen auf Roy Fielding zurück, der sie im Jahr 2000 erstmals vollständig beschrieben hat. Eine API, in der alle obligatorischen Prinzipien umgesetzt sind, gilt als RESTful. Prinzip 6, Code on Demand, ist optional.

1. Client Server Architektur

Die Trennung von Client und Server dient der Aufgabenverteilung. Praktisch bedeutet das: Über die Benutzeroberfläche einer Software werden Dienste angefragt, die ein Server bereitstellt, zum Beispiel ein Datenbankserver. Dadurch wird Skalierung erleichtert, weil beide Komponenten unabhängig voneinander weiterentwickelt werden können.

2. Zustandslosigkeit

Anfragen eines Clients müssen alle Informationen enthalten, die der Server für die Verarbeitung benötigt. Der Server darf keine Zustandsdaten über den Client speichern. Das verbessert die Skalierbarkeit, weil eingehende Anfragen auf beliebige Maschinen verteilt werden können.

3. Cache Fähigkeit

Häufig vorkommende Serverantworten sollten zwischenspeicherbar sein, um den Server nicht unnötig zu belasten. Für Cache Daten muss definiert sein, wie lange sie gültig sind. Das ist erforderlich, damit Clients keine veralteten Informationen erhalten.

4. Einheitliche Schnittstelle

Die Interaktion zwischen Client und Server folgt einheitlichen Standards. Diese beruhen auf vier Bedingungen.

  • Adressierbarkeit von Ressourcen: Eine Server Ressource kann unterschiedliche Daten beinhalten, muss aber über eine URL eindeutig adressierbar sein.

  • Repräsentationen zur Veränderung von Ressourcen: Clients interagieren über Repräsentationsformate wie JSON oder XML. Diese Formate enthalten die Informationen zum Verändern oder Löschen einer Ressource.

  • Selbstbeschreibende Nachrichten: Nachrichten müssen alle Informationen enthalten, die für die Interpretation durch Client oder Server erforderlich sind.

  • HATEOAS, Hypermedia as the Engine of Application State: Clients können mithilfe von Links, die in Serverantworten eingebettet sind, dynamisch durch Anwendungsressourcen navigieren.

5. Mehrschichtige Systeme

Anfragen müssen durch unabhängige Netzwerkschichten wie Proxyserver oder Load Balancer geleitet werden können. Client und Servercode sollen dafür nicht verändert werden. Solche Zwischenschichten können Leistung und Sicherheit eines Systems deutlich verbessern.

6. Code on Demand, optional

Der Server darf bei Bedarf Code an den Client übertragen, der lokal ausgeführt wird.

Die Bedeutung von REST

Damit lässt sich der Begriff representational state transfer präziser einordnen. Er beschreibt den Übergang vom aktuellen zum nächsten Zustand einer Anwendung. Dieser Zustandsübergang erfolgt durch den Transfer von Repräsentationsdaten. Der Zugriff darauf erfolgt über standardisierte HTTP Methoden. Diese Methoden werden auch HTTP Verben genannt.

Die 5 wichtigsten HTTP Methoden

  • GET: Fordert eine Ressource vom Server an. Der Zustand am Server wird nicht verändert. GET ist die meistgenutzte HTTP Methode, da sie auch für das Abrufen von Webseiten benötigt wird.

  • POST: Fügt eine neue Ressource unterhalb der angegebenen Ressource ein. Als Ergebnis wird der neue Ressourcenlink zurückgegeben. POST wird zum Beispiel für Formulareingaben oder Datei Uploads genutzt.

  • PUT: Legt eine Ressource an. Wenn die Ressource bereits existiert, wird sie geändert. PUT ist wichtig, wenn Inhalte aktualisiert werden müssen.

  • DELETE: Löscht eine Ressource.

  • HEAD: Fordert Metadaten zu einer Ressource an.

Funktionsskizze einer REST API

Abbildung: REST API, Urheber: Seobility – Lizenz: CC BY-SA 4.0

Praxisbeispiel: Zugriff auf ein DAM-System per REST API

Plattformen für Digital Asset Management ermöglichen es, digitale Inhalte wie Bilder, Videos oder Dokumente effizient zu speichern, zu organisieren und zu verteilen. Für die Integration dieser Inhalte, also Ressourcen, in andere Anwendungen kann eine REST API genutzt werden.

Szenario: Abruf und Integration eines Bildes in eine Website

Annahmen:

  • Ein Bild soll aus einer DAM-Plattform in eine Website integriert werden.

  • Die DAM-Plattform stellt eine REST API für den Zugriff auf bestehende Ressourcen bereit.

Für die Integration sind vier Schritte erforderlich.

Schritt 1: Ressource identifizieren
Die Ressource wird über eine URL adressiert, zum Beispiel:
https://mediahub.ai/api/File/Original/19b6da72-c3b5-40a1-ba63-c7d24a678721/REST-API.jpg

Schritt 2: HTTP Methode anwenden
Für den Abruf wird eine GET Anfrage gesendet, die diese URL enthält. Solche Anfragen können über unterschiedliche Tools und Umgebungen erfolgen:

  • cURL

  • Postman

  • Shells wie PowerShell

  • Webbrowser

  • Programmiersprachen

Schritt 3: Antwort verarbeiten
Nach Verarbeitung sendet die DAM-Plattform eine HTTP Antwort. Ein Repräsentationsformat wie JSON oder XML stellt das angeforderte Bild als Link oder als direkten Datenstrom bereit.

Schritt 4: Darstellung in der Website
Nach Empfang der Antwort kann der Link oder Datenstrom so genutzt werden, dass das Bild auf der Website angezeigt wird.

Vorteile einer REST API im DAM Bereich

  • Flexibilität: DAM Inhalte lassen sich in unterschiedliche Anwendungen integrieren.

  • Skalierbarkeit: REST APIs sind zustandslos und eignen sich für skalierbare Anwendungen.

  • Einfache Integration: REST basiert auf HTTP und ist mit Standardtools der Webentwicklung nutzbar.

  • Unabhängigkeit: REST APIs sind plattform und sprachunabhängig und damit breit kompatibel.

Fazit

Eine REST API ist eine leistungsfähige und flexible Programmierschnittstelle für Netzwerkanwendungen. Sie wird meist eingesetzt, um Softwaresysteme über das Internet zu verbinden. Standardisierte HTTP Methoden ermöglichen eine klare und effiziente Kommunikation.

Auch im DAM Bereich unterstützen REST APIs die Integration digitaler Inhalte in Anwendungen und Dienste. Dadurch können Endanwender aus ihrer bevorzugten Arbeitsumgebung auf den Medienbestand der Organisation zugreifen. Das beschleunigt Workflows und erleichtert kollaboratives Arbeiten.