Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung
unter dem Förderkennzeichen 16OH22005 gefördert.
Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor/bei der Autorin.
Wir bilden Zukunft.
APIs und REST
Wir bilden Zukunft.
APIS
Interkonnektivität schaffen
Cloud Computing 2
Wir bilden Zukunft.
Geschichte von APIs
APIs (Application Programming Interface) sind Programmierschnittstellen, die in Anwendungen integriert werden können
– Bei Cloud-Anwendungen werden APIs über ein Netzwerk bereitgestellt
Sie abstrahieren den zugrundeliegenden
technischen Aufbau und stellen Funktionalität in einem in der Regel standardisierten Format zur Verfügung
Wir bilden Zukunft.
Geschichte von APIs
Der erste Ansatz zur netzwerkbasierten
Kommunikation wurde Remote Procedure Call bzw. Remote Method Invokation genannt
Dabei haben sich zwei Prozesse sich
gegenseitig über ein selbst zu definierendes Protokoll aufgerufen und Nachrichten
ausgetauscht
Cloud Computing 4
Wir bilden Zukunft.
SOAP
Das große Problem von RPC/RMI ist die enge Bindung an die eigentliche Anwendung und großer Implementierungsaufwand
1998 wurde von Microsoft das XML-basierte Simple Object Access Protocol (SOAP) für Interprozesskommunikation definiert
Dadurch konnte die Kommunikation
applications- und technologieunabhängig gestaltet werden
Wir bilden Zukunft.
SOAP
Beispiel für einen Methodenaufruf mittels SOAP
Cloud Computing 6
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap- envelope"
xmlns:m="http://www.example.org/stock/Surya">
<soap:Header></soap:Header>
<soap:Body>
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
Wir bilden Zukunft.
SOAP
Obwohl SOAP bereits eine Erleichterung
darstellte, brachte es eine Reihe von Nachteilen mit sich, die den Einsatz außerhalb von
Enterprise-Umgebungen schwierig machen
– XML als Struktur
• Kompliziert zu verarbeiten
– Große Datenmengen aufgrund der Struktur und Metadaten
– Aufwändige Integration
Struktur und Implementierungsaufwand machten SOAP quasi unbenutzbar im Web 2.0-Bereich
Wir bilden Zukunft.
REST
Im Jahr 2000 wurde von Roy L. Fielding in seiner Dissertation ein Architekturstil für das Internet entworfen
Er hat diesen Representational State Transfer (kurz REST) genannt
Wenngleich dieser lange nicht so konkret wie SOAP ist, hat er sich dennoch durchgesetzt, zum Teil in seiner ursprünglichen, zum Teil in abgewandelter Form
Cloud Computing 8
Wir bilden Zukunft.
REST
REST besteht aus einer Reihe von Constraints, die den Aufbau eines verteilten Systems
beschreiben
Trennung von Speicher und Verarbeitung
Stateless Servers
Cacheability
Uniform Interface
Layered System
Code on Demand
Wir bilden Zukunft.
REST
Bei REST werden Repräsentationen von Ressourcen übermittelt
Das benutzte Protokoll (meist HTTP) wird dabei komplett mitbenutzt
– Bei SOAP ist das Protokoll irrelevant, da alle Informationen im XML enthalten sind
Meist wird REST mit der JavaScript Object Notation (JSON) genutzt
Cloud Computing 10
Wir bilden Zukunft.
REST
In der Praxis ist REST oft nur schwer umsetzbar
– Keine Standards bzgl. Benamung, Struktur, … – Viele Anwendungsfälle lassen sich nicht mit dem
Modell von Ressourcen abbilden (z.B. Versenden von E-Mails)
– Statuslosigkeit steht vielen Sicherheitsmechanismen im Weg
APIs werden als RESTful bezeichnet, wenn sie in Grundzügen dem Prinzip folgen, es aber
entsprechend der Anforderungen anpassen
Wir bilden Zukunft.
Beispiel
GitHub bietet ein gutes Beispiel für eine RESTful HTTP JSON API
https://api.github.com/
Cloud Computing 12