REST API - Definition und Überblick

Was ist eine REST-API?

REST (Representational State Transfer) ist ein architektonischer Stil für Software, der eine Reihe von Grundsätzen, Eigenschaften und Beschränkungen für die Standardisierung von Vorgängen auf der Grundlage von http bereitstellt. Er wurde erstmals von Roy Fielding definiert, als er gebeten wurde, die für das Web getroffenen Designentscheidungen in Bezug auf die Verwendung von http zu erklären. Das Grundkonzept einer REST-API besteht darin, dass eine Ressource (d. h. Daten), die von einer API angefordert wird, über eine URL bereitgestellt werden sollte.

Eine weitere Definition der API-Integration ist, dass eine REST-API http verwendet, um GET-, PUT-, POST-, PATCH- und DELETE-Anfragen für Daten durchzuführen. In diesem Beispiel könnte REST auch über https, die sichere Form von http, verwendet werden. 

APIs, die auf der REST-Architektur aufgebaut sind, werden als RESTful APIs bezeichnet. Die Architektur von RESTful-APIs wird durch sechs Kernanforderungen definiert:

  • Zustandslosigkeit. Dadurch wird die Unabhängigkeit zwischen den einzelnen Zuständen von Client und Server aufrechterhalten.
  • Mehrschichtiges System. Bietet eine Hierarchie von Servern, die die Sicherheit durch Vermittler verbessern können.
  • Client-Server-Architektur. Dadurch wird die Benutzerschnittstelle vom Speicheraspekt der API getrennt.
  • Cachefähigkeit. Hier werden Informationen zwischengespeichert, um die Anzahl der Anfragen und der auszutauschenden Daten zu verringern.
  • Code auf Anfrage. Dies ermöglicht es den Nutzern, die Verwendung einer API durch die Übertragung von ausführbarem Code anzupassen, wie z. B. bei Java-Applets.
  • Einheitliche Schnittstelle. Dadurch wird die Architektur aufgebrochen und die unabhängige Nutzung erleichtert.

Öffentliche REST-APIs sind solche, bei denen der Eigentümer der API den allgemeinen Zugang zu seinem Produkt ermöglicht. Dies geschieht möglicherweise, um Entwicklern oder anderen Organisationen die Möglichkeit zu geben, neue Wege zur Nutzung ihrer API zu finden. Sie können dann ihren Dienst verbessern oder die API durch Lizenzgebühren monetarisieren.

SOAP ist ein ähnlicher API-Stil wie REST, unterscheidet sich aber in seiner Struktur. Das liegt daran, dass SOAP ein Protokoll ist , während REST ein eigenständiger Architekturstil ist. Die Verwendung der API, z. B. ob sie netzbasiert oder öffentlich ist, bestimmt, wann SOAP- und wann REST-Webdienste zu verwenden sind. Ein Beispiel hierfür sind die offenen Konnektoren der SAP-Cloud-Plattform, die RESTful-APIs verwenden, um eine größere Flexibilität bei der Nutzung von Drittanbieteranwendungen mit SAP zu bieten.