API
Was ist eine API?
API steht für Application Programming Interface – zu Deutsch Programmierschnittstelle. Genutzt werden APIs, um Drittprogramme auf Quelltext-Ebene an eine Software anzubinden. Der Datenaustausch via API erfolgt in Echtzeit.
Was macht eine API?
Eine API ermöglicht es, Daten zwischen Software und Programmteilen auszutauschen. Dies erfolgt nach einer vorab festgelegten Struktur. Ein wesentliches Ziel von APIs ist es, die Programmierung durch Modularisierung zu vereinfachen. Jeder Programmteil, der mittels Application Programming Interface angebunden wird, ist von der restlichen Anwendung getrennt. Die Kommunikation dieser einzelnen Programm-Bausteine kann ausschließlich über die spezifische Programmierschnittstelle erfolgen. Im Wesentlichen ermöglicht eine API den Zugriff auf folgende Komponenten:
- Datenbanken
- Hardware
- Oberflächen
- Einzelne Anwendungsfunktionen
Nicht zu verwechseln ist ein Application Programming Interface mit einer Benutzerschnittstelle (User Interface/ UI), die ausschließlich für die Verbindung von Anwender und Software-Logik zuständig ist.
Wie funktioniert eine API-Schnittstelle?
Aus technischer Sicht gibt eine Schnittstelle zur Anwendungsprogrammierung lediglich vor, wie Daten von einem bestimmten Anwendungsteil entgegengenommen und gesendet werden. Anders als bei einer klassischen Binärschnittstelle erfolgt dies rein auf Ebene des Quelltexts. Programmierer erstellen hierfür eine Syntax inklusive relevanter Parameter. Die API wird in der Regel außerdem ausführlich dokumentiert, sodass sie für die Zielgruppe verständlich ist.
Welche Arten von APIs gibt es?
Grundsätzlich lassen sich Application Programming Interfaces in folgende Arten unterteilen:
Art der API | Spezifikation |
---|---|
Funktionsorientierte API | Kommunikation über Funktionen und Parameter: komplexeste Art der API |
Dateiorientierte API | Zugriff auf einzelne Dateien oder Dateifunktionen via Dateisystemaufruf; Betriebssystem muss wegen der Zugriffsrechte einbezogen werden |
Objektorientierte API | Flexibler als reine Funktions-APIs; Einsatz sogenannter Schnittstellenzeiger |
Protokollorientierte API | Unabhängig von bestimmten Betriebssystemen oder Hardware |
Was ist eine Rest-API?
REST steht im Kontext einer API für Representational State Transfer. Es handelt sich hierbei um eine besondere Art der Schnittstelle, die für den Datenaustausch auf verteilten Systemen zuständig ist. Relevant ist dies insbesondere bei Web-Anwendungen. Hier gilt es oftmals, Aufgaben und Daten auf unterschiedliche Server zu verteilen oder von Servern anzufordern (HTTP-Request).
Welche Vorteile haben Programmierschnittstellen?
Programme müssen heute hoch verfügbar, möglichst fehlerfrei und leicht zu warten sein. Aus diesem Grund wird die Modularisierung – also die Zerlegung komplexer Software in einzelne Programmteile – immer beliebter. Für die Kommunikation zwischen den Modulen sorgen APIs. Die wesentlichen Vorteile der Modularisierung mithilfe von Programmierschnittstellen sind:
- Vereinfachung der Anwendungsstruktur
- Schnelle Reaktionsfähigkeit bei Fehlern (nur betroffene Module und API-Daten müssen geprüft werden
- Wiederverwendbarkeit von Modulen
Zudem erlauben es APIs mit aussagekräftiger Dokumentation, Programmierleistungen extern zu vergeben. Es lassen sich also Teilbereiche der Software-Entwicklung outsourcen. Darüber hinaus können Drittanbieter dank Application Programming Interfaces eigene Funktionen für eine Software realisieren. Die Flexibilität und Attraktivität des gesamten Systems steigen. Werden APIs nach außen hin langfristig nicht verändert, erhöht dies außerdem die Langzeitstabilität von Programmen.
Beispiele für beliebte Programmierschnittstellen
API-Schnittstellen stehen mittlerweile in zahlreichen Programmen zur Verfügung. Insbesondere öffentliche Web-APIs erfreuen sich hoher Beliebtheit. Beispielsweise bieten folgende Services eine API an:
- Google Maps (z.B. für die Einbindung des Services auf der eigenen Website)
- PayPal (Integration der PayPal-Transaktionen in die eigene Kaufabwicklung)
- DHL (Integration der Sendungsverfolgung in eigene Systeme oder Shops)
Spannende Beiträge rund um Unternehmertum, ERP, Buchhaltung, CRM und Software:
Ähnliche Beiträge
Spannende Beiträge rund um Unternehmertum, ERP, Buchhaltung, CRM und Software: