In diesem ersten Blogbeitrag der API-Reihe dreht sich alles um die Grundlagen zum Thema APIs. Was ist eine API? Wie und wo verwendet jeder von uns täglich APIs? Welche technischen Unterschiede gibt es? Was benötige ich für meine erste API-Entwicklung?
Im Folgenden beantworten wir diese Fragen und schauen uns passende Beispiele an.
Was ist eine API?
Eine API (Application Programming Interface oder zu Deutsch: „Schnittstelle zur Anwendungsprogrammierung“) ist eine Verknüpfung von Operationen und Parametern zu einem längeren Satz (einer URL – Uniform Resource Locator). Dieser sieht auf den ersten Blick häufig kryptisch aus, ist jedoch einfach zu zerlegen (einen komplexeren Aufbau mit mehreren Parametern schauen wir uns in den nächsten Teilen dieser Blogreihe an).
Wo verwenden wir APIs in unserem Alltag?
Jeder von uns verwendet täglich APIs. Die einfachste und vermutlich bekannteste API wird beim Verwenden der Google Suche genutzt. Hierbei geben wir in die Suchleiste einen Begriff ein und starten mit dem Klick auf „Google Suche“ den Prozess. Unser „Request“ wird abgeschickt, das „Programm“ wird in Form einer URL ausgeführt und wir erhalten die entsprechende „Response“ als Suchergebnis.
A – Application: Google
P – Program: URL (Suchanfrage)
I – Interface: Computer oder Smartphone
Beispiel für eine einfache API – Google Suche
Im folgenden Beispiel suchen wir den Begriff „Diokles“ auf Google. Wir geben diesen in die Suchleiste ein und drücken den Button „Google Suche“.
Als Resultat erhalten wir eine Übersicht der gefundenen Suchergebnisse.
Aber was ist hier eigentlich passiert? Schauen wir uns die URL einmal genauer an, nachdem wir den „Google Suche“ Button gedrückt haben.
Die URL sieht auf den ersten Blick sehr komplex aus, jedoch interessiert uns bei Google Suchen meist nur ein kleiner Teil. Alles weitere sind zusätzliche Informationen wie beispielsweise Datum, Uhrzeit oder Sprache. Löschen wir diese zusätzlichen Informationen aus der URL und bestätigen die Eingabe, würden wir das gleiche Suchresultat erhalten. Aus diesem Grund konzentrieren wir uns auf den ersten Teil der URL. Hierbei finden wir folgende Komponenten:
- https://www.google.com
- Zu Beginn wird unsere Applikation bestimmt, welche verwendet werden soll. In diesem Fall verwenden wir den Google-Server.
- /search
- Anschließend springen wir in den Ordner „search“ auf dem Google-Server.
- ?q=
- Hier geben wir die Suche und gleichzeitig den Parameter „q“ mit.
- Diokles
- Den Parameter „q“ definieren wir mit dem Wert „Diokles“.
Kurz zusammengefasst: Wir suchen auf dem Google-Server im „search“ Ordner nach dem Begriff „Diokles“.
Beispiel für eine komplexere API – Skyscanner
Die meisten Menschen haben sicher schon einmal Flüge, Hotels oder einen Mietwagen gesucht. Dabei können entweder viele Internetseiten verschiedener Anbieter durchsucht werden oder wir verwenden einfach Vergleichsportale. Diese liefern uns einen Großteil der Daten bereits konsolidiert und aufbereitet. Aber wo kommen diese Daten her? Beispielsweise von Skyscanner. Hierbei handelt es sich um eine API, welche uns eine Menge an verschiedenen Daten für unsere Urlaubsplanung zur Verfügung stellt. Weitere Beispiele für APIs sind Wetterdaten, Sportdaten und natürlich dürfen Spieledaten wie beispielsweise Pokémon Go nicht fehlen. Viele dieser APIs sind für private Nutzer kostenlos. Für die Nutzung wird meist nur eine einfache Registrierung benötigt.
Wer mehr über freiverfügbare APIs erfahren möchte, kann eine Google API absenden und sich durch die Ergebnisse klicken 😜.
Welche technischen API Typen existieren?
Die zwei hauptsächlichen API Typen sind SOAP und REST. Immer mehr Anwendungen und auch Entwickler bevorzugen den Typ REST. Dies liegt vor allem an der Methodenvielfalt, welche ausschließlich REST APIs bieten.
- SOAP
- Simple Object Access Protocol
- Nur die POST Methode wird verwendet
- Älter als REST
- Unterstützt kein JSON Format
- REST
- Representational State Transfer
- Mehrere Methoden können verwendet werden (CRUD fähig)
- POST (Create)
- GET (Read)
- PUT (Update)
- DELETE (Delete)
- Neuer als SOAP
- Unterstützt JSON
Was benötige ich für meine erste API Entwicklung?
Die einfache Antwort – theoretisch nichts oder so gut wie nichts. Wie wir anhand des Google-Beispiels gesehen haben, könnte ich eine API einfach in meinem Browser entwickeln. In diesem Fall würden wir schnell jegliche Übersicht verlieren. Zusätzlich haben wir noch nicht über das Thema Authentifizierung gesprochen (bei Google müssen wir uns zwar nicht authentifizieren, bei anderen APIs meist schon – mehr dazu in einem der nächsten Blogbeiträge). Um die Übersicht zu behalten, Authentifizierungen simpler zu gestalten und generell die API-Entwicklung zu vereinfachen, gibt es verschiedene (teils kostenlose) Tools am Markt. Beispielsweise Advanced Rest Client (ARC) oder Postman.
Vorschau auf die nächsten Teile dieser Blogreihe
In den folgenden Teilen dieser Blogreihe werden wir uns die genannten Tools genauer ansehen, vergleichen und einrichten. Wir werden uns auf SAP SuccessFactors fokussieren und richten einen API-User ein. Mithilfe des eingerichteten Users werden wir einfache, aber auch komplexere APIs entwickeln. Trotz der Fokussierung auf SAP SuccessFactors werden diese Beispiele mit einer REST API stattfinden und somit auch für nicht SAP SuccessFactors Interessierte ein guter Einstieg sein.
Folge uns auf LinkedIn um den nächsten Teil dieser Blogreihe nicht zu verpassen! Außerdem könnte dich dieser Blogbeitrag über das API Center interessieren.
Keine Kommentare