Wir brauchen heutzutage immer mehr dieser Programmierschnittstellen, um Daten zwischen ein oder mehreren Systemen unabhängig bearbeiten zu können. Dies gibt dem Programmierer viel mehr Freiheit. Man kann also von einem System A ohne weiteres Daten in das System B übertragen, anfordern oder ändern. Dies Funktioniert in beide Richtungen. Früher verwendete man dafür sogenannte SOAPs, auf die werden wir jedoch hier nicht eingehen.
APIs müssen aber vom Programmierer nicht immer extra erstellt werden. Vielmehr existieren heute viele Schnittstellen, die von ihren Herstellern der Öffentlichkeit (kostenlos oder gegen eine Gebühr) zur Verfügung gestellt werden. Beispielsweise kann der Entwickler über eine «Foreign exchange rates API» Wechselkurse bezogen werden, welche die API dann zum Beispeil als JSON-Struktur zurückgibt.
An dieser Stelle kommen APIs ins Spiel. Statt des Sachbearbeiters wird nun eine Schnittstelle erstellt und zur Verfügung gestellt, über welche die Kioske ihre Daten digital an die Zentrale liefern können. Damit können praktisch alle genannten Probleme gelöst werden: es können diverse Anfragen parallel verarbeitet werden, die Daten werden sicher und korrekt übertragen und die Zahlen werden direkt ins interne System gespielt. Die Zentrale hat dadurch viel schneller Zugriff auf die Daten der Kioske während für den Sachbearbeiter langweilige, repetitive Arbeiten wegfallen.
Technisch gesehen stellt die Zentrale über eine bestimmte, vordefinierte URL einen sogenannten API-Endpoint zur Verfügung, welcher die zu liefernden Daten als Parameter erwartet. Dies könnte in seiner minimalsten Ausführung folgendermassen aussehen: PostDailySales(string KioskID, double DailySale)
Dieser Endpoint nimmt zwei Werte entgegen, die ID des Kiosks sowie den Tagesumsatz. Die Schnittstelle nimmt den Umsatz entgegen und speichert ihn für den Kiosk mit der angegebenen ID ab. Dies funktioniert für alle 1200 Kioske, sofern sie auch berechtigt also autorisiert sind, Http-Requests (POST, PUT, GET usw.) gegen die API auszuführen.
Fazit
Wir merken uns also: APIs sind Programmierschnittstellen, die es ermöglichen Daten zwischen einem oder mehreren Systemen auszutauschen. Sie wurden als Erneuerung sogenannter SOAPs entwickelt. Dabei werden Daten per GET und/oder POST übergeben und liefern heute meist eine Payload im JSON-Format zurück.
Frameworks
• Rails (Ruby)
• Flask (Python)
• Django (Python)
• Spring (JAVA)
• ASP .NET