Technologie

Expertenbeitrag: Die Top 5 API-Kopfschmerzen

Marcel Semmler von allyve spricht über die Top 5 API-Kopfschmerzen und wie man sie behandelt

Marcel Semmler

Die Entwicklung und anschließende Pflege von Schnittstellen zwischen der eigenen und externen Website, so genannten APIs (Application Programming Interfaces), ist für Softwareentwickler meist mit viel Aufwand verbunden. Schlechte Dokumentation, Bugs und ständige Erreichbarkeitsprobleme der APIs sind an der Tagesordnung und bereiten den Entwicklern, die diese umsetzen müssen, häufig Kopfschmerzen. Oft haben sie jedoch keine Wahl. Zum einen sind Webseiten schon lange keine geschlossenen Systeme mehr, sondern leben von der Integration mit anderen Websites. Zum anderen sind sie den externen Websites ausgeliefert, wenn diese ihre APIs ändern und somit die Funktionalität auf der eigenen Website beeinflussen. Darüber hinaus ist jede Schnittstelle anders und erfordert oftmals detailliertes Fachwissen, um bei Aktualisierungen entsprechend reagieren zu können. Wir haben die häufigsten Probleme zusammengefasst und stellen hier Lösungsansätze vor:

1. What is hip? – Die Zukunft im Blick behalten

Anbieter wie Twitter, Facebook oder Google können jederzeit die eigene API erweitern und neue Funktionen integrieren. Aufgrund des Wettbewerbs untereinander kann sich auch schnell ein Schneeballeffekt ergeben. Wenn beispielsweise Twitter den Bildversand von externen Websites mittels API anbietet, wird Facebook möglichst schnell eine ähnliche Funktion über die eigene API offerieren wollen. Die Endnutzer lesen dann darüber in den Medien und erwarten wiederum vom Websiteentwickler, dass er die beschriebene Funktionalität, wie z. B. den neuen Google+-Button, möglichst schnell auf seiner Internetseite zur Verfügung stellt. Dazu kommt: Geschmäcker ändern sich. Heute ist eine bestimmte Funktion, die über API in meine Website eingebunden ist, das Non-Plus-Ultra und Morgen ist diese Funktion vielleicht schon überholt. Die aufwändig programmierte Schnittstelle verliert an Bedeutung oder wird im schlimmsten Fall sogar irrelevant.
Eine kontinuierliche Marktbeobachtung und vor allem Markteinschätzung ist der einzige Weg, die Entwicklungen bewerten und darauf entsprechend schnell reagieren zu können.

2. Zukunftssicherheit gibt es nicht – Augen und Ohren offen halten

APIs sind nicht für die Ewigkeit entwickelt und neue Versionen sind nicht immer abwärtskompatibel. Leider führt dies in vielen Fällen auch zum Verlust einzelner Funktionen oder gar der ganzen Funktionalität. Die gesamte Anbindung kann so zusammenbrechen und von heute auf morgen die Funktionsweise der eigenen Website maßgeblich einschränken.
Auch hier gilt: Wachsam bleiben, Informationen frühzeitig analysieren und schnell reagieren, um für den Nutzer eine konsistente User Experience zu gewährleisten.

3. Fehlende Dokumentation – Know-how-Transfer

Besonders die Einbindung einer für die Website neuen API wird durch fehlende oder veraltete Dokumentationen erschwert. Oft sind zwar Online-Handbücher vorhanden, diese beziehen sich aber häufig nicht auf die aktuelle API-Version, sind inhaltlich sehr kompliziert, unvollständig oder sogar falsch.
Nach anfänglicher Integration sollte das im eigenen Team neu gewonnene Know-How zur API daher im eigenen Entwickler-Wiki festgehalten werden. Codebeispiele mit Lösungen für konkrete Probleme runden das Bild ab und die Kollegen werden in Zukunft leichter mit der API und Updates umgehen können.

4. Blackbox – Blackbox!

Eine API und deren Datentypen sollten sich eigentlich immer an ihrem Einsatzzweck orientieren. Eine Schnittstelle sollte sich dabei wie eine Blackbox bedienen lassen, also auch ohne die Interna der API-Quelle zu kennen. Zu oft werden Datentypen jedoch aus den internen Strukturen des API-Anbieters übernommen und nicht so definiert, wie es für die Einbindung in externe Websites notwendig wäre.
Hierfür gibt es leider noch keine einfache Lösung, außer dem gemeinsamen Aufruf an alle Websites, die APIs bereitstellen, an die zu denken, die diese Schnittstellen dann auch nutzen.

5. Falsche Sprache – Dolmetscher gefällig?

Es könnte so einfach sein: Esperanto für Programmierer und alle verstehen sich. Leider existiert eine solche Sprache genauso wenig in der API-Welt, wie Esperanto im Sprachgebrauch. APIs stehen teilweise nur in einer Programmiersprache zur Verfügung. Die Integration in die eigene Anwendungsarchitektur wird durch eine API-Fremdsprache wesentlich erschwert.
Auch hier hilft leider nur der Aufruf an die API-Entwickler, Bibliotheken für die gängigen Programmiersprachen zur Verfügung zu stellen.

Fazit

Die Kommunikation der Systeme untereinander nimmt deutlich zu. Unternehmen, die sich die Vorteile integrierter Funktionen anderer Websites zu Nutze machen wollen, müssen den damit verbundenen Arbeitsaufwand erkennen und die entsprechenden Ressourcen bereitstellen. Entweder durch die Aufstockung interner Kapazitäten, die sich mit den einzelnen APIs auseinandersetzen oder durch den Einsatz externer Dienstleister, die eine Anbindung multipler APIs für ein Unternehmen umsetzen können. Ihre Entwickler und schließlich Ihre User, die von den Zusatzfunktionen auf Ihrer Website profitieren, werden es Ihnen langfristig danken.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.