API (Programmierschnittstelle)
Was ist ein API?
Bei einem API (Application Programming Interface) handelt es sich um eine Programmierschnittstelle. Diese wird durch ein Softwaresystem zur Verwendung durch andere Systeme bereitgestellt. Das API dient dazu, das Softwaresystem, das es bereitstellt, in andere Programme einzubinden. Als Webservice werden solche Schnittstellen bezeichnet, die durch Online-Dienste zur Verfügung gestellt werden. Erfahren Sie mehr über die Programmierschnittstelle in diesem Video:
Video-Link: https://www.youtube.com/watch?v=s7wmiS2mSXY
Die Funktionsweise eines API
Eine Programmierschnittstelle wird dann von den Entwicklern eines Softwaresystems bereitgestellt, wenn es für andere Programme möglich sein soll, dieses System zu verwenden. Durch die Nutzung eines API geschieht eine Anbindung an das Softwaresystem. Diese findet auf Quelltext-Ebene statt. Die Nutzung der Schnittstelle erlaubt es, zum Beispiel auf die Festplatte, die Grafikkarte oder auf Datenbanken des Systems zuzugreifen.
Eine bekannte Programmierschnittstelle ist das Windows Application Programming Interface von Microsoft. Diese ermöglicht die Entwicklung von Programmen, die auf dem Betriebssystem Microsoft Windows laufen.
Die Bereitstellung eines API
Für die Entwickler einer Software ist die Bereitstellung einer Programmierschnittstelle freiwillig. Eine entsprechende Entscheidung wird meist dann getroffen, wenn die betreffende Software für die Nutzung durch andere Systeme optimiert wurde. Gerade Systeme, die für die Nutzung durch andere Software entwickelt wurden, setzen die Etablierung eines API zwingend voraus. Um die tatsächliche Nutzbarkeit sicherzustellen, sollte die Verwendung durch eine ausführliche Dokumentation der Schnittstelle vereinfacht werden.
Wann sollte eine Schnittstelle etabliert werden?
Grundsätzlich bedeutet die Bereitstellung eines API erhöhten Programmier- und Wartungsaufwand. Allerdings kann sie auch vorteilhaft sein. Vor allem vergrößert sich die Wahrscheinlichkeit, dass die Software tatsächlich verwendet wird. Das spielt vor allem dann eine Rolle, wenn es zahlreiche Konkurrenzprodukte gibt. Wenn dritte Entwickler Programme schreiben, die die Software über die bereitgestellte Schnittstelle verwenden, wird auch diese mit den neuen Programmen verbreitet.
Einsparen von Arbeits- und Programmieraufwand
Ein API kann auch unternehmensintern nützlich sein. Es erspart häufig Programmieraufwand und reduziert auf diese Weise Kosten. Die Software des Unternehmens wird insgesamt übersichtlicher, da sich bereits vorhandene Systeme nutzen lassen, statt dieselben Funktionen für jedes Produkt neu zu schreiben. Mit der richtigen Konzeptionierung der Programmierschnittstelle ist ein Update des Codes deutlich einfacher. Es muss nicht für jedes System einzeln umgesetzt werden, da es ausreicht, nur ein Programm weiterzuentwickeln. Durch die Nutzung der Schnittstelle wird der geänderte Code auch für die anderen Systeme direkt zugänglich.
Anwenderfreundlichkeit von Programmierschnittstellen
Eine Programmierschnittstelle kann auch den Interessen der Anwender dienen. Produkte, die dasselbe API nutzen, verfügen daher über eine ähnliche Benutzeroberfläche. Damit erleichtern sie dem Anwender die Einarbeitung. Wenn er eines der Systeme kennt, kann er meist auch die anderen mit nur wenig Einarbeitungszeit direkt nutzen.
Entwicklungsstufen eines API
Es ist möglich, verschiedene Entwicklungsstufen bei Programmierschnittstellen zu unterscheiden. Konkret lässt sich zwischen stabilen Schnittstellen und sich entwickelnden Schnittstellen unterscheiden.
Nicht jede Änderung eines API hat Auswirkungen auf die Programme, die es verwenden. Eine Änderung, die keine Auswirkungen hat, wird als Refactoring bezeichnet.
Typklassen von API Schnittstellen
Weiterhin können Schnittstellen in vier verschiedene Typklassen eingeteilt werden. Hierbei handelt es sich um funktionsorientierte Schnittstellen, um objektorientierte Schnittstellen, um dateiorientierte Schnittstellen und um protokollorientierte Schnittstellen:
Hinweis
Es gibt darüber hinaus verschiedene Möglichkeiten, ein API verfügbar zu machen. Neben einer Zugriffsbeschränkung, die kostenpflichtig sein kann, ist es für Entwickler möglich, öffentliche APIs zu verwenden. In diesem Fall ist ein freier Zugriff möglich. Wenn es sich um einen beliebten Dienst handelt, führt eine solche Verfügbarkeit zu einer großen Popularität. Beispiele für öffentliche APIs und ihre Nutzung sind etwa die Dienste von Wikipedia, Facebook, Twitter, Google Maps und PayPal.
Fazit
APIs haben die moderne Software grundlegend verändert. Der Aufstieg der API-Wirtschaft ermöglicht es daher den Softwarefirmen schnell wichtige Funktionen zu implementieren. Die Entwicklung einer API ist für Programmierer jedoch mit hohem Aufwand verbunden, denn schlecht programmierte Web-APIs können zu Hackerangriffen oder Datendiebstahl führen.
Sie haben noch Fragen?