APIs für Dummies: Alles, was Sie wissen müssen

Robert Munceanu am 03. Mai 2021

blog-image

So wie wir Menschen uns durch Mundpropaganda, Briefe oder Gesten verständigen, haben auch andere Lebewesen ihre eigene Form der Kommunikation. Aber haben Sie sich jemals gefragt, wie eine App das macht?

Anwendungen kommunizieren miteinander über eine zwischengeschaltete Software, z. B. eine Anwendungsprogrammierschnittstelle oder kurz API. Jedes Mal, wenn Sie Musik über Spotify hören oder etwas auf Netflix ansehen, verwenden Sie indirekt eine API.

Dieser Leitfaden "APIs für Dummies" zeigt, welch großen Einfluss APIs auf unser Leben haben, auch wenn die meisten absolut nichts darüber wissen. Lasst uns eintauchen!

Was ist eine API?

Eine API (Application Programming Interface) ist eine Reihe von Funktionen, die es Anwendungen ermöglichen, auf Daten zuzugreifen und mit externen Softwarekomponenten, Betriebssystemen oder Microservices zu interagieren. Vereinfacht gesagt, übermittelt eine API eine Benutzeranforderung an ein System und sendet die Antwort des Systems an den Benutzer zurück.

APIs werden häufig verwendet, weil sie die Entwicklung anderer Systeme und Anwendungen erheblich vereinfachen und beschleunigen können. Wenn Sie zum Beispiel Ihre eigene Software entwickeln und Gesichtserkennung oder Zahlungsverarbeitung integrieren möchten, ist es am besten, eine API zu verwenden. Sie müssen nur Ihre Software mit einer anderen Software verbinden. Diese werden mit der API-Dokumentation geliefert, einem Handbuch für Entwickler, das bei der Implementierung der gewünschten Funktionalitäten hilft.

Wenn Sie eine API verwenden, müssen Sie sich nicht mit dem Quellcode befassen oder gar verstehen, wie sie funktioniert. Klingt gut, oder? Cool, dann schauen wir uns doch mal an, wie APIs das machen.

Wie funktioniert eine API?

Betrachten Sie eine API als den "Vermittler" zwischen Ihrer Anwendung und dem Server. Sie sagen Ihrer Anwendung, dass sie etwas für Sie tun soll; dann verwendet die Anwendung eine API, um mit dem Webserver zu kommunizieren und ihm zu sagen, was zu tun ist. Diese Aktion wird als Anfrage bezeichnet. Anschließend sendet der Server eine Antwort, die der "Vermittler" an Ihre Anwendung weiterleitet.

Schauen wir uns ein weniger abstraktes Beispiel an. Sie gehen in ein Restaurant, suchen sich einen Tisch mit Aussicht und warten auf den Kellner, der Ihre Bestellung aufnimmt. In diesem Fall ist der Kellner Ihr "Mittelsmann", denn der Koch kann Ihre Bestellung nicht direkt entgegennehmen, da er in der Küche noch andere Bestellungen vorbereiten muss. Sie stellen eine Anfrage an den Kellner, der Kellner schickt diese Anfrage an die Küche, erhält dann eine Antwort, in diesem Fall Ihre Bestellung, und bringt sie an Ihren Tisch. Genießen Sie Ihr Essen!

Selbst die API ist eine Abstraktion des Webservers, da die Anwendung nicht weiß, was in der "Küche" vor sich geht, sondern nur, wie das Endergebnis aussehen wird. Der Endnutzer weiß, dass er einen Kuchen bekommt, wenn er einen Kuchen von der Speisekarte bestellt. Es gibt viele Arten von APIs, je nachdem, wofür sie entwickelt wurden oder welche Veröffentlichungspolitik sie verfolgen. Werfen wir einen Blick auf diese Unterscheidungsmerkmale.

APIs nach Anwendungsfällen

APIs sind praktisch. Wie bereits erwähnt, ist die Kommunikation zwischen verschiedenen Programmen und Anwendungen unerlässlich, um ein bestimmtes Ziel zu erreichen, daher wird eine API auf der Grundlage dessen entwickelt, was Sie erreichen wollen. Sehen wir uns ein paar Beispiele an:

  • Datenbank-APIs erleichtern die Kommunikation zwischen einer Anwendung und einem Datenbankverwaltungssystem. Firebase zum Beispiel ist eine Plattform für mobile Webanwendungen, die Google gehört und mit der Entwickler Daten einfach in Echtzeit synchronisieren und speichern können, ohne Server verwalten oder serverseitigen Code schreiben zu müssen.
  • APIs von Betriebssystemen. Auch Betriebssysteme haben eine ganze Reihe von APIs, z. B. die Windows API oder die Linux Kernel User-Space API. Sie können auch die APIs finden, die von Apple für macOS und iOS bereitgestellt und in deren Entwicklerdokumentation vorgestellt werden.
  • Entfernte APIs interagieren über ein Kommunikationsnetz. Das gängigste Kommunikationsnetz ist das Internet, so dass APIs in der Regel auf der Grundlage von Webstandards entwickelt werden. Das bedeutet jedoch nicht, dass alle Remote-APIs Web-APIs sind. Dennoch sind Web-APIs im Allgemeinen dezentral, verwenden in der Regel HTTP für Anforderungsnachrichten und definieren die Struktur von Antwortnachrichten. Diese Nachrichten werden vorzugsweise im XML- oder JSON-Format übermittelt, da es für andere Anwendungen einfacher ist, die Informationen zu analysieren.
  • Die am häufigsten verwendeten APIs sind Web-APIs, denn sie senden Anfragen von einer Webanwendung und Antworten von Servern über HTTP (Hypertext Transfer Protocol). Entwickler nutzen solche Web-APIs in ihren Anwendungen oder Websites, um deren Funktionalität zu erhöhen und sie für den Nutzer praktischer zu machen, z. B. durch die Integration einer Anmeldemethode über Facebook oder Google oder das Hinzufügen einer Karte über die Google Map API.

APIs nach Freigabepolitik

Einige APIs sind nur für den internen Gebrauch bestimmt. Dies ist besonders bei großen Unternehmen üblich. Andere sind als Produkte konzipiert, die in die vom Kunden verwendete Software integriert werden sollen. Dies sind die Hauptkategorien:

Private APIs werden hauptsächlich innerhalb der eigenen Organisation verwendet, um sie in Systeme und Anwendungen zu integrieren, die von den Mitarbeitern genutzt werden, und um den internen Betrieb zu verbessern. Auch wenn sie für die Öffentlichkeit zugänglich sind, bleibt die Schnittstelle nur für die Mitarbeiter der Organisation verfügbar, die die vollständige Kontrolle über die API hat. Außerdem werden dadurch einige Kosten für die Organisation gesenkt.

Partner-APIs können zusätzliche Einnahmequellen erschließen, da sie mit einem oder mehreren Geschäftspartnern geteilt werden. Es wird eine Vereinbarung zwischen dem besagten Partner und dem Herausgeber getroffen. Eine Partner-API steigert auch den Wert des Dienstes und eröffnet einen Kanal für Up-Selling.

Öffentliche APIs sind für alle Drittentwickler verfügbar. Diese Arten von APIs müssen keine enge Beziehung zwischen dem Nutzer und dem Herausgeber haben, sie können den Umsatzstrom erhöhen, dazu beitragen, ein größeres Publikum zu erreichen und den Verkehr zu steigern, und viele Ursachen und eine Vielzahl von Geschäftsinitiativen unterstützen. Öffentliche APIs können entweder sein:

  • Offen: Diese APIs können von jedem nach Belieben genutzt werden, d. h. es gibt keine einschränkenden Bedingungen, man braucht keine Zustimmung des Urhebers, um die API zu nutzen, und man muss nicht dafür bezahlen. Sie bieten Entwicklern eine öffentliche Dokumentation, auf die sie zugreifen können, und können zum Testen und Erstellen von Anwendungen verwendet werden.
  • Kommerziell: Um solche APIs nutzen zu können, müssen Sie eine Abonnementgebühr zahlen. Damit die Nutzer das Produkt testen und prüfen können, bieten die Herausgeber oft eine kostenlose Testversion an, damit der Kunde weiß, ob er ein Abonnement abschließen soll oder nicht.

Von besonderem Interesse sind SOAP-APIs und REST-APIs, da diese sehr weit verbreitet sind. Werfen wir einen Blick auf die Konzepte hinter den Akronymen:

SOAP-APIs

SOAP oder Simple Object Access Protocol APIs sind Webkommunikationsprotokolle und werden für den Austausch von Informationen und strukturierten Daten über HTTP/HTTPS verwendet. Im Gegensatz zu REST-APIs unterstützt SOAP nur das XML-Datenformat. Der größte Teil des Web-Datenaustauschs wird über den REST-Austausch realisiert, aber das bedeutet nicht, dass SOAP in absehbarer Zeit seinen Untergang erleben wird, da es in hohem Maße standardisiert und sicherer ist und manchmal eine Automatisierung ermöglicht.

XML oder eXtensible Markup Language ist ein von Software oder Hardware unabhängiges Werkzeug für die Speicherung und den Transport von Daten. Sie verfügt über eine Reihe von Regeln für die Strukturierung von Nachrichten in Form von sowohl für Menschen als auch für Maschinen lesbaren Datensätzen. Wie Sie unten sehen können, ist die Struktur ähnlich wie bei HTML, aber die XML-Sprache hat keine vordefinierten Tags, so dass der Autor sowohl Tags als auch die Dokumentstruktur definieren muss.

blog-image

REST-APIs

Representational State Transfer (REST) ist ein Architekturstil, der im Jahr 2000 von Roy Fielding für die Entwicklung gekoppelter Anwendungen über HTTP entwickelt wurde und häufig bei der API-Entwicklung verwendet wird. Damit ein Dienst als RESTful bezeichnet werden kann, darf er diese Einschränkungen nicht verletzen.

Entwickler bevorzugen REST als Alternative zu SOAP, weil sie nicht viel Code schreiben müssen, um einfache Aufgaben zu erfüllen. Im Gegensatz zu SOAP müssen Sie jedes Mal die erforderliche XML-Struktur erstellen. RESTful Web Service verwendet einen anderen Ansatz. Er behandelt Informationen als eine Ressource, die durch eine eindeutige URL dargestellt wird. Wenn Sie also eine bestimmte Ressource anfordern möchten, müssen Sie deren URL mit HTTP-Methoden wie GET, POST, PUT, HEAD, DELETE, PATCH und OPTIONS angeben. Mehr über diese Methoden finden Sie hier! Manchmal müssen Sie zusätzliche Daten zusammen mit der URL senden, um das zu bekommen, was Sie brauchen, z. B. einen Zugangsschlüssel.

Im Gegensatz zu SOAP ist REST nicht auf die Verwendung von XML zur Bereitstellung der Antwort beschränkt. Sie können die Informationen in verschiedenen Formaten wie JSON, XML, CSV, einfachem Text und HTML erhalten, die je nach der Sprache, die Sie für Ihre Anwendung verwenden, einfacher geparst werden.

Hier ist ein Vergleich zwischen JSON und XML:

blog-image

Man hört oft, dass Entwickler über die Funktionalitäten verschiedener APIs sprechen, aber es gibt noch einen anderen wichtigen, weniger diskutierten Aspekt: die Dokumentation. Ohne das darin enthaltene Wissen könnte eine API genauso gut eine Ansammlung von Hieroglyphen sein.

API-Dokumentation

Eine API-Dokumentation ist kein Videospiel-Tutorial, das man lässig überfliegen und nebenbei die Mechanismen lernen kann. Die Dokumentation enthält Anweisungen zur effektiven Nutzung und Integration der API.

Selbst wenn eine API für Entwickler revolutionär ist, würde eine schlechte Dokumentation oder fehlendes Wissen über ihre Funktionsweise sie nutzlos machen.

Eine gut geschriebene Dokumentation kann helfen, Zeit und Kosten für den Support zu sparen. Die Einarbeitung neuer Nutzer wird einfacher und sie benötigen keine technische Unterstützung für die Nutzung der API. Eine schlecht geschriebene Dokumentation kann für Entwickler und das Support-Team des Herausgebers ziemlich frustrierend sein.

Einige Dokumentationen enthalten einen Demo-Abschnitt oder eine Spielwiese, auf der Sie Dinge ausprobieren und Ergebnisse live sehen können. Dies hilft den Entwicklern, die API zu visualisieren und besser zu verstehen, was sie tut.

blog-image

Abschließende Überlegungen

Ich hoffe, unsere APIs für Dummies haben Ihnen geholfen, besser zu verstehen, wie APIs funktionieren und wie wichtig sie in der Welt der Informationstechnologie sind.

Die wachsende Zahl von Anwendungen und Softwareprodukten, sowohl für Unternehmen als auch für den privaten Gebrauch, benötigt Methoden zur Kommunikation und zum Austausch von Ressourcen. APIs befriedigen diesen Bedarf und sind der Schlüssel für die Verbreitung der Technologie.

Sehen Sie sich diesen Artikel über Web-Scraping-APIs an, um einige Beispiele für Web-APIs in Aktion zu sehen!

Nachrichten und Aktualisierungen

Bleiben Sie auf dem Laufenden mit den neuesten Web Scraping-Anleitungen und Nachrichten, indem Sie unseren Newsletter abonnieren.

We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Ähnliche Artikel

Vorschaubild
AnwendungsfälleNutzung von Web Scraping für alternative Daten im Finanzwesen: Ein umfassender Leitfaden für Investoren

Erforschen Sie die transformative Kraft des Web Scraping im Finanzsektor. Von Produktdaten bis zur Stimmungsanalyse bietet dieser Leitfaden Einblicke in die verschiedenen Arten von Webdaten, die für Investitionsentscheidungen zur Verfügung stehen.

Mihnea-Octavian Manolache
Autorenavatar
Mihnea-Octavian Manolache
13 Minuten lesen
Vorschaubild
LeitfädenParsen Sie HTML wie ein Profi: Mastering Web Scraping mit Python und Regex

Meistern Sie Web Scraping mit Python und Regex. Extrahieren Sie mühelos Daten aus Websites. Lernen Sie fortgeschrittene Techniken und vermeiden Sie häufige Fallstricke.

Suciu Dan
Autorenavatar
Suciu Dan
8 Minuten lesen
Vorschaubild
LeitfädenUmgehen von Einschränkungen und effektives Scrapen von Daten mit Proxies und C# HttpClient

Maximieren Sie Ihren Erfolg beim Web Scraping mit C# HttpClient und Proxies. In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie Einschränkungen umgehen und mühelos auf Daten zugreifen können.

Suciu Dan
Autorenavatar
Suciu Dan
8 Minuten lesen