Thilo Frotscher Freelancer

Wichtig ist, dass man nicht versucht, das Rad neu zu erfinden, sondern auf Standards und etablierte Patterns und Best Practices zurückgreift, um so die Erwartungshaltung des Anwenders zu erfüllen.

Web-APIs erfreuen sich großer Beliebtheit, bieten sie doch eine scheinbar perfekte Lösung zur Systemintegration. Jedoch gibt es beim Einsatz auch einige Fallstricke, die unbedingt bedacht werden sollten. So führen Web-APIs zu einer recht engen Kopplung, weshalb unter anderem eine Strategie für den Umgang mit vorübergehend nicht verfügbaren Kommunikationspartnern benötigt wird. Weitere Aspekte sind die Unzuverlässigkeit des Netzwerks oder auch die Tatsache, dass SSL in zahlreichen Produktivumgebungen keine ausreichende Sicherheit bietet. Dieser Artikel diskutiert die wichtigsten Herausforderungen beim Einsatz von Web-APIs und zeigt Wege auf, wie sie gemeistert werden können.

Web-APIs sind aus der Softwareentwicklung derzeit nicht wegzudenken. Zahlreiche Unternehmen bieten über öffentlich zugängliche, webbasierte APIs den Zugriff auf Daten und Dienste an, und Behörden stellen zunehmend große Informationsmengen zur Verfügung. Aber auch zur Systemintegration innerhalb eines Unternehmens haben sich Web-APIs inzwischen – neben alternativen Lösungsansätzen – ihren festen Platz gesichert. Und schließlich haben Web-APIs auch durch den Trend zu Microservices-Architekturen einen weiteren Schub erfahren. Hier gilt es, die Kommunikation zwischen den einzelnen Microservices zu implementieren. Dabei kommen sehr verbreitetet Web-APIs zum Einsatz.

Dabei ist der Begriff Web-API an sich gar nicht so leicht zu greifen. Wie so oft gibt es durchaus unterschiedliche Definitionen und Ansichten, was genau ein Web-API ist, wodurch es sich auszeichnet oder welche Regeln es einhalten sollte. Diese Diskussion soll hier jedoch nicht geführt werden. Im Kontext des Artikels soll der Begriff Web-API eher allgemein definiert sein: als eine Schnittstelle auf Basis von Webtechnologien, insbesondere HTTP.

Solche Schnittstellen lassen sich mit aktuellen Frameworks glücklicherweise recht schnell implementieren. Ganz gleich, ob man Spring oder Java EE einsetzt oder vielleicht eines der vielen anderen verfügbaren Frameworks. In aller Regel können Entwickler schon nach recht kurzer Zeit einen ersten Prototyp des neuen Web-API auf einem Testserver bereitstellen. Diese Mächtigkeit heutiger Frameworks ist nicht hoch genug zu bewerten. Im Vergleich zu früheren Zeiten müssen Entwickler nun deutlich weniger Code schreiben, um zum gleichen Ergebnis zu kommen. Dies ermöglicht nicht nur ein agileres Vorgehen, sondern bedeutet auch, dass entsprechend mehr Zeit bleibt, um sich auf die Fachlichkeit zu konzentrieren.

Es besteht jedoch gleichzeitig die Gefahr, dass die Entwicklung der Schnittstelle dadurch unterschätzt wird. Denn es scheint auf den ersten Blick eine leichte Aufgabe zu sein, ein Web-API zu erstellen. Doch dies ist ein Trugschluss! Je länger ein Projekt andauert, je mehr Anforderungen hinzukommen, je besser die Anwendung getestet und je länger sie betrieben wird, desto mehr zeigt sich, dass viele Aspekte bedacht werden müssen, und dass dabei so einige Fallen lauern. Denn auch wenn Frameworks vieles erleichtern und verbergen, mindestens eine Komplexität bleibt auf jeden Fall erhalten: die Vielzahl an Herausforderungen, die verteilte Systeme mit sich bringen. Hierzu zählen unter anderem Kopplung, Fehlerbehandlung, Zuverlässigkeit, Wiederholbarkeit und Sicherheit. Leider haben es Entwickler oft schwer, insbesondere gegenüber dem Management zu begründen, weshalb die Implementierung eines guten Web-API daher doch viel mehr Aufwand erfordert, als man nach der raschen Bereitstellung einer ersten funktionsfähigen Version annehmen könnte.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin Spezial Vol. 13: APIs - "APIs"

Alle Infos zum Heft
579812053Was es bei der Nutzung von Web APIs zu beachten gilt
X
- Gib Deinen Standort ein -
- or -