API Entwicklung: Wie Sie eine API entwickeln lassen
API steht für Application Program Interface. Auf deutsch würde sich das als “Schnittstelle” übersetzen lassen.
Im Beitrag ein wenig mehr zum Thema API und wie man solche Schnittstellen programmieren kann.
Einführung
Wenn unterschiedliche Softwareanwendungen miteinander kommunizieren sollen, dann ist das nicht immer einfach möglich. Ein klassisches Beispiel wäre ein ERP System in einem grossen Unternehmen, dass mit einem extern programmierten CRM System kommunizieren soll.
Beide Systeme sind höchstwahrscheinlich in unterschiedlichen Programmiersprachen entwickelt worden und haben auch unterschiedliche Ansätze, wie Daten verarbeitet werden.
Um diese beiden “Welten” zu verbinden, verwendet man in der Softwareentwicklung sogenannte API’s.
Mit diesen können Daten von einem System zum anderen System automatisiert weitergegeben werden.
Das ist der grosse Vorteil dieses Ansatzes: Man muss die Daten nicht manuell weitergeben.
Ein Beispiel für eine manuelle Weitergabe der Daten: Der Vertrieb gibt Kundendaten in das CRM Software ein. Nach einem Monat sollen diese Daten mit dem ERP abgeglichen werden.
Nun wird in den meisten Fällen eine Excel Datei Exportiert und diese Daten werden dann in das CRM hochgeladen.
Der Aufwand hierfür kann relativ hoch sein. Besonders wenn während des Monats gleichzeitig auch von anderen Mitarbeitern im ERP System neue Kundendaten hinzugefügt worden sind. Woran kann die Software dann feststellen, welche Daten nun aktueller sind und welche nicht? Dies ist nur eine von vielen Fragen, zu der man Antworten finden muss.
Gleichzeitig ist es auch ziemlich aufwendig, dieses ganze Prozedere jeden Monat durchzuführen. Idealerweise sollte man das Überspielen der Daten täglich machen. Das wird in den meisten Fällen jedoch nicht möglich sein.
Nun kann es jedoch auch sein, dass andere Systeme auf die CRM Daten zugreifen soll. Wie zum Beispiel der Onlineshop, der unabhängig vom Warenwirtschaftssystem läuft. Hier zeigt sich dann schon die Komplexität, welche entsteht, wenn Daten voneinander getrennt laufen: Es entstehen sogenannte Datensilos.
Diese Datensilos zusammenzuführen ist eine der Hauptaufgaben, vor welchen grosse Konzerne heutzutage stehen.
Eine Lösung, um einen ständigen Datenabgleich zu gewährleisten sind API’s.
Wann sollte man solche Schnittstellen nutzen?
Nicht immer ist es sinnvoll eine Schnittstelle zu entwickeln, welche mehrere Anwendungen miteinander verbindet.
Denn: Die Programmierung solcher Application Program Interfaces ist zum Teil aufwendig.
Auch Aufgaben, welche einfach erscheinen, wie zum Beispiel die Anbindung eines mittelgrossen Onlineshops mit einem Warenwirtschaftssystem, können teuer werden und lange in der Erstellung dauern.
Hier muss man auch auf die Kosten und den Nutzen schauen. In vielen Fällen reicht auch der Datenabgleich über Excel Dateien (beziehungsweise CSV Dateien), welche man, wie bereits beschrieben herunterlädt und dann in die andere Software wieder hochlädt.
Interessant wird es eigentlich erst, wenn sehr grosse Systeme miteinander verbunden werden sollen. Eine Industrieunternehmen möchte seine ERP Anwendung mit der Personalabteilung verbinden. Hier kann dann eine individuell programmierte Schnittstelle passend sein.
Gibt es bereits fertige Anbindungen?
Besonders bekannte Warenwirtschaftssysteme und Onlineshop Lösungen (wie Magento, Shopware, etc.) haben bereits API’s welche von externen Dienstleistern entwickelt worden sind.
Diese können mit einem relativ geringen Aufwand (20 bis 30 Arbeitsstunden) implementiert werden.
Das ist auch der Vorteil, wenn man Standardlösungen einsetzt. Schnittstellen sind dort bereits vorhanden. Beziehungsweise gibt es soviele Unternehmen die vor der gleichen Herausforderung stehen, dass es für externe Dienstleister lukrativ ist, Anbindungen zu entwickeln, welche diese dann für eine Lizenzgebühr bereitstellen.
Was kostet eine solche Umsetzung?
- Bei kleineren Schnittstellen, welche von Grund auf programmiert werden müssen, kann man von einer Investition von 5’000 bis 10’000 Euro ausgehen. Besonders wenn man sich dadurch viel manuelle Arbeit erspart, kann sich die Investition lohnen.
- Fertige Schnittstellen kosten meistens zwischen 50 und 500 Euro im Jahr. Hier muss man jedoch auch den Aufwand einrechnen, welcher für die Implementierung entsteht. Im Schnitt berechnen die Dienstleister zirka 10 bis 20 Arbeitsstunden (Stundensatz 120 Euro). Dabei ist es immer am besten den Dienstleister zu beauftragen, welcher die fertige Lösung bereitstellt.
- Anbindungen in grossen und komplexen Systemen von Softwareherstellern wie SAP oder Oracle. Für grosse Standardsysteme wie SAP und andere gibt es tatsächlich auch API Software, welche man erhalten kann. Jedoch sind auch hier die Lizenzkosten extremst hoch. Daher lohnt auch hier eine Kosten/ Nutzen Analyse.
- Komplette Neuentwicklungen für die Anbindung von grossen Systemen können mehrere Zehntausend, bis Hunderttausend bis Millionen von Euro kosten. Auch hier muss man eine Berechnung durchführen, wann es sich lohnt.
Beispielanwendungen solcher Lösungen
Man findet Online viele Plattformen, welche hauptsächlich mit Hilfe von API’s laufen. Hier ein paar Beispiele:
- Online Vergleichsplattformen: Wenn man zum Beispiel auf einer Online Flugsuch-Plattform die Suchdaten eingibt, dann werden die entsprechenden Schnittstellen, der unterschiedlichen Fluglinien abgefragt und daraufhin in den Suchergebnissen dargestellt. Daten wie aktualisierte Preise, Verfügbarkeit, Rabatte, Verzögerungen und weitere werden dadurch bereitgestellt. Vermutlich verfügt fast jede Fluglinie über solche Anbindungen, um Suchplattformen über deren Angebote zu informieren.
- Onlineshops: Es gibt Onlineshops, welche ausschliesslich mit Angeboten von anderen Stellen im Internet befüllt sind. Auch diese arbeiten mit Application Program Interface’s. Sucht man zum Beispiel nach Schuhen, dann werden die Anbindungen an unterschiedlichste Schuhersteller-Datenbanken gesendet. Auch diese senden, wie im ersten Beispiel, verschiedenste Produktdaten, unter anderem auch die Farbselektion und weitere.
- In Mobile Apps: Man kann Android Apps mithilfe von Schnittstellen entwickeln lassen. Eine bekannte Anbindung ist Google Maps. Hierbei werden die Daten von den unterschiedlichen Karten an die App gesendet und können dann dort angezeigt werden.
Welche Arten von Anbindungen gibt es?
Die drei bekanntesten API Systeme sind Simple Object Access Protocol (SOAP), Representational State Transfer (REST) und Remote Procedure Call (RPC). Wobei die ersten beiden am meisten verbreitet sind. Hierbei spricht man auch von Web-API’s.
Auf die technischen Feinheiten von solchen Systemen gehen wir in diesem Beitrag nicht ein.
Fazit
Schnittstellen werden heutzutage in fast jeder Webanwendung verwendet.
Wenn man plant solche Anbindungen zu verwenden, dann sollte man zuerst schauen, wie sinnvoll das Ganze ist.
Folgende Fragen kann man sich stellen:
- Gibt es bereits fertige Schnittstellen?
- Ist die Nutzung kostenfrei oder muss man pro Transaktion zahlen?
- Muss man die Anbindung von Grund auf neu entwickeln lassen? Lohnt sich die Umsetzung? (Stichwort: Kosten/ Nutzen)
- ·Sollte man eventuell auf diese Anbindungen verzichten und einen manuellen Austausch der Daten anstossen? (Zum Beispiel mit Excel Dateien download und Upload)
Was sind Ihre Erfahrungen? Welche Anwendungsmöglichkeiten gibt es noch?
Interessante Links:
Mehr Informationen zur API Entwicklung
So erstellt man eine Schnittstelle
Bilder: Canva
Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.
Schreibe einen Kommentar