Schlau in 60 Sekunden! Heute: REST API-Schnittstelle

Und weiter geht es mit unserer Serie „Schlau in 60 Sekunden". Kurz, knapp und praxisnah erklären wir hier die wichtigsten Begriffe aus Agenturcontrolling, Softwareentwicklung und IT. Heute: Die REST API-Schnittstelle.

Schlau in 60 Sekunden

Nahezu jede moderne Software ist in irgendeiner Form mit dem Internet verknüpft. Zusätzlich sind Programme und Webdienste immer häufiger in der Lage auch untereinander zu interagieren. Damit Entwickler, Endnutzer und auch das Programm selbst hier nicht den Überblick verlieren, gibt es zum Glück die RESTful APIs. Eine RESTful API ist eine Programmierschnittstelle, die HTTP-Befehle verwendet, um in Webservices mit Aufforderungen wie GET, PUT, POST und DELETE auf Daten zuzugreifen. Schon verwirrt? Kein Problem, hier kommt die Erklärung:

 

Ein Application Programming Interface (API) ist kurzgesagt eine Schnittstelle zur Anwendungsprogrammierung, die es zwei Programmen ermöglicht, miteinander zu kommunizieren. Die API definiert den genauen Weg, wie ein Entwickler eine Software schreiben muss, die Dienste von einem anderen Programm oder Betriebssystem anfordert. Representational State Transfer (REST) wird primär von Webbrowsern genutzt und ist ein Programmierparadigma – also ein gängiger Programmierstil – für Webservices. REST als Architekturstil nutzt bereits vorhandene Technologien und Protokolle des Internets, wie HTTP und JSON.

 

In der Entwicklung moderner Webdienste werden heute, besonders aufgrund der weit verbreiteten Nutzung der „Cloud", eine Vielzahl von APIs verwendet, um bestimmte Services untereinander verfügbar zu machen. Sollen APIs erstellt oder genutzt werden, die eine Verbindung und Interaktion zwischen Clouddiensten ermöglichen, wird im Vorfeld immer eine allgemeine Struktur in Form von Protokollen wie REST definiert. RESTful APIs werden also von vielen Websites eingesetzt, bei denen Nutzerinteraktion ermöglich werden sollen oder mehrere Dienste miteinander verknüpft werden. Unter anderen von Google, Amazon, Facebook, Twitter und LinkedIn.

 

Eine RESTful API schlüsselt eine Transaktion auf, um eine Reihe von kleinen Modulen zu erstellen. Jedes von ihnen ist für einen bestimmten, der Transaktion zugrunde liegenden Teil zuständig. Diese Modularität bietet Entwicklern eine erhebliche Flexibilität. RESTful APIs machen sich zudem die bereits seit Mitte der 90er Jahre standardisierten HTTP-Anfragebefehle zunutze. Sie verwenden PUT, um den Zustand einer Ressource zu ändern oder sie zu aktualisieren. Mit GET wird eine Ressource abgerufen, mit POST wird sie erstellt und mit DELETE gelöscht.

 

Zum besseren Verständnis hier ein kurzes Beispiel: Angenommen ein Softwareentwickler möchte eine Desktopanwendung erstellen, die es ermöglicht Nachrichten und Posts via Twitter zu versenden. Hierfür benötigt er die von Twitter bereitgestellte API und kann sie dank REST und standardisierten HTTP- oder JSON-Anfragemethoden mit relativ wenig Aufwand in sein eigenes Programm implementieren. Bei einer Nachricht via Twitter funktioniert das zum Beispiel mit folgendem POST-Befehl: